commit c277331d5fbaae5772ed19862feefa91f4e477d3 Author: Johannes Weiner Date: Fri Jun 19 19:30:56 2009 +0200 mm: page_alloc: clear PG_locked before checking flags on free da456f1 "page allocator: do not disable interrupts in free_page_mlock()" moved the PG_mlocked clearing after the flag sanity checking which makes mlocked pages always trigger 'bad page'. Fix this by clearing the bit up front. Reported--and-debugged-by: Peter Chubb Signed-off-by: Johannes Weiner Acked-by: Mel Gorman Tested-by: Maxim Levitsky Signed-off-by: Linus Torvalds commit 9063c61fd5cbd6f42e95929aa0e02380c9e15656 Author: Linus Torvalds Date: Sat Jun 20 15:40:00 2009 -0700 x86, 64-bit: Clean up user address masking The discussion about using "access_ok()" in get_user_pages_fast() (see commit 7f8189068726492950bf1a2dcfd9b51314560abf: "x86: don't use 'access_ok()' as a range check in get_user_pages_fast()" for details and end result), made us notice that x86-64 was really being very sloppy about virtual address checking. So be way more careful and straightforward about masking x86-64 virtual addresses: - All the VIRTUAL_MASK* variants now cover half of the address space, it's not like we can use the full mask on a signed integer, and the larger mask just invites mistakes when applying it to either half of the 48-bit address space. - /proc/kcore's kc_offset_to_vaddr() becomes a lot more obvious when it transforms a file offset into a (kernel-half) virtual address. - Unify/simplify the 32-bit and 64-bit USER_DS definition to be based on TASK_SIZE_MAX. This cleanup and more careful/obvious user virtual address checking also uncovered a buglet in the x86-64 implementation of strnlen_user(): it would do an "access_ok()" check on the whole potential area, even if the string itself was much shorter, and thus return an error even for valid strings. Our sloppy checking had hidden this. So this fixes 'strnlen_user()' to do this properly, the same way we already handled user strings in 'strncpy_from_user()'. Namely by just checking the first byte, and then relying on fault handling for the rest. That always works, since we impose a guard page that cannot be mapped at the end of the user space address space (and even if we didn't, we'd have the address space hole). Acked-by: Ingo Molnar Cc: Peter Zijlstra Cc: Andrew Morton Cc: Nick Piggin Cc: Hugh Dickins Cc: H. Peter Anvin Cc: Thomas Gleixner Cc: Alan Cox Signed-off-by: Linus Torvalds commit 2453d6ff6ffc5f0d496b7b14f509a26f99bf115e Merge: 12e24f3 ab33dcf Author: Linus Torvalds Date: Sat Jun 20 11:30:01 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq, irq.h: Fix kernel-doc warnings genirq: fix comment to say IRQ_WAKE_THREAD commit 12e24f34cb0d55efd08c18b2112507d4bf498008 Merge: 1eb51c33 eadc84c Author: Linus Torvalds Date: Sat Jun 20 11:29:32 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits) perfcounter: Handle some IO return values perf_counter: Push perf_sample_data through the swcounter code perf_counter tools: Define and use our own u64, s64 etc. definitions perf_counter: Close race in perf_lock_task_context() perf_counter, x86: Improve interactions with fast-gup perf_counter: Simplify and fix task migration counting perf_counter tools: Add a data file header perf_counter: Update userspace callchain sampling uses perf_counter: Make callchain samples extensible perf report: Filter to parent set by default perf_counter tools: Handle lost events perf_counter: Add event overlow handling fs: Provide empty .set_page_dirty() aop for anon inodes perf_counter: tools: Makefile tweaks for 64-bit powerpc perf_counter: powerpc: Add processor back-end for MPC7450 family perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels perf_counter: powerpc: Change how processor-specific back-ends get selected perf_counter: powerpc: Use unsigned long for register and constraint values perf_counter: powerpc: Enable use of software counters on 32-bit powerpc perf_counter tools: Add and use isprint() ... commit 1eb51c33b21ffa3fceb634d1d6bcd6488c79bc26 Merge: b0b7065 3104bf0 Author: Linus Torvalds Date: Sat Jun 20 10:57:40 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix out of scope variable access in sched_slice() sched: Hide runqueues from direct refer at source code level sched: Remove unneeded __ref tag sched, x86: Fix cpufreq + sched_clock() TSC scaling commit b0b7065b64fe517b4a50915a1555e8ee98890d64 Merge: 38df92b d4c4038 Author: Linus Torvalds Date: Sat Jun 20 10:56:46 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) tracing/urgent: warn in case of ftrace_start_up inbalance tracing/urgent: fix unbalanced ftrace_start_up function-graph: add stack frame test function-graph: disable when both x86_32 and optimize for size are configured ring-buffer: have benchmark test print to trace buffer ring-buffer: do not grab locks in nmi ring-buffer: add locks around rb_per_cpu_empty ring-buffer: check for less than two in size allocation ring-buffer: remove useless compile check for buffer_page size ring-buffer: remove useless warn on check ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index tracing: update sample event documentation tracing/filters: fix race between filter setting and module unload tracing/filters: free filter_string in destroy_preds() ring-buffer: use commit counters for commit pointer accounting ring-buffer: remove unused variable ring-buffer: have benchmark test handle discarded events ring-buffer: prevent adding write in discarded area tracing/filters: strloc should be unsigned short tracing/filters: operand can be negative ... Fix up kmemcheck-induced conflict in kernel/trace/ring_buffer.c manually commit 38df92b8cee936334f686c06df0e5fbb92e252df Merge: c4c5ab3 f2e21c9 Author: Linus Torvalds Date: Sat Jun 20 10:51:44 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: NOHZ: Properly feed cpufreq ondemand governor commit c4c5ab3089c8a794eb0bdaa9794d0f055dd82412 Merge: 7fd5b63 1d99100 Author: Linus Torvalds Date: Sat Jun 20 10:49:48 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: (45 commits) x86, mce: fix error path in mce_create_device() x86: use zalloc_cpumask_var for mce_dev_initialized x86: fix duplicated sysfs attribute x86: de-assembler-ize asm/desc.h i386: fix/simplify espfix stack switching, move it into assembly i386: fix return to 16-bit stack from NMI handler x86, ioapic: Don't call disconnect_bsp_APIC if no APIC present x86: Remove duplicated #include's x86: msr.h linux/types.h is only required for __KERNEL__ x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround x86, mce: mce_intel.c needs x86: apic/io_apic.c: dmar_msi_type should be static x86, io_apic.c: Work around compiler warning x86: mce: Don't touch THERMAL_APIC_VECTOR if no active APIC present x86: mce: Handle banks == 0 case in K7 quirk x86, boot: use .code16gcc instead of .code16 x86: correct the conversion of EFI memory types x86: cap iomem_resource to addressable physical memory x86, mce: rename _64.c files which are no longer 64-bit-specific x86, mce: mce.h cleanup ... Manually fix up trivial conflict in arch/x86/mm/fault.c commit 7fd5b632db00ebf8a26b5e86d6f01e501466e5ef Merge: ad5cf46 05bf7d4 Author: Linus Torvalds Date: Sat Jun 20 10:37:01 2009 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Add missing symbols for CONSTRUCTORS support microblaze: remove init_mm commit ad5cf46b4e3b29f2bc08543e8ef0bf8b13d3f19e Merge: 93db629 e34e7db Author: Linus Torvalds Date: Sat Jun 20 10:19:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kernel-doc: fix param matching for array params kernel-doc: ignore kmemcheck_bitfield_begin/end kallsyms: fix inverted valid symbol checking kbuild: fix build error during make htmldocs commit 93db6294958f62643a917e44d1abc85440e600cf Merge: 43813f3 eef3e4c Author: Linus Torvalds Date: Sat Jun 20 10:17:02 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (35 commits) Input: add driver for Synaptics I2C touchpad Input: synaptics - add support for reporting x/y resolution Input: ALPS - handle touchpoints buttons correctly Input: gpio-keys - change timer to workqueue Input: ads7846 - pin change interrupt support Input: add support for touchscreen on W90P910 ARM platform Input: appletouch - improve finger detection Input: wacom - clear Intuos4 wheel data when finger leaves proximity Input: ucb1400 - move static function from header into core Input: add driver for EETI touchpanels Input: ads7846 - more detailed model name in sysfs Input: ads7846 - support swapping x and y axes Input: ati_remote2 - use non-atomic bitops Input: introduce lm8323 keypad driver Input: psmouse - ESD workaround fix for OLPC XO touchpad Input: tsc2007 - make sure platform provides get_pendown_state() Input: uinput - flush all pending ff effects before destroying device Input: simplify name handling for certain input handles Input: serio - do not use deprecated dev.power.power_state Input: wacom - add support for Intuos4 tablets ... commit 43813f399c72aa22e01a680559c1cb5274bf2140 Merge: a552f0a 0b7af26 Author: Linus Torvalds Date: Sat Jun 20 10:15:30 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: (24 commits) agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses agp: add user mapping support to ATI AGP bridge. drm/i915: enable GEM on PAE. drm/radeon: fix unused variables warning agp: switch AGP to use page array instead of unsigned long array agpgart: detected ALi M???? chipset with M1621 drm/radeon: command stream checker for r3xx-r5xx hardware drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. radeon: Fix CP byte order on big endian architectures with KMS. agp/uninorth: Handle user memory types. drm/ttm: Add some powerpc cache flush code. radeon: Enable modesetting on non-x86. drm/radeon: Respect AGP cant_use_aperture flag. drm: EDID endianness fixes. drm/radeon: this VRAM vs aperture test is wrong, just remove it. drm/ttm: fix an error path to exit function correctly drm: Apply "Memory fragmentation from lost alignment blocks" ttm: Return -ERESTART when a signal interrupts bo eviction. drm: Remove memory debugging infrastructure. drm/i915: Clear fence register on tiling stride change. ... commit a552f0af753eb4b5bbbe9eff205fe874b04c4583 Merge: e642340 3e10760 Author: Linus Torvalds Date: Sat Jun 20 10:14:11 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: Fix the removal of opts->fs_dmask commit e6423407d01168f7760cdee7270d9f51d1240301 Merge: 7f81890 39c58f3 Author: Linus Torvalds Date: Sat Jun 20 10:11:11 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (34 commits) ide-cd: prevent null pointer deref via cdrom_newpc_intr ide: BUG() on unknown requests ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler ide: do not access ide_drive_t 'drive_data' field directly sl82c105: implement test_irq() method siimage: implement test_irq() method pdc202xx_old: implement test_irq() method (take 2) cmd64x: implement test_irq() method cmd640: implement test_irq() method ide: move ack_intr() method into 'struct ide_port_ops' (take 2) ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2) siimage: use ide_dma_test_irq() (take 2) cmd64x: implement clear_irq() method (take 2) ide: call clear_irq() method in ide_timer_expiry() sgiioc4: coding style cleanup ide: don't enable IORDY at a probe time ide: IORDY handling fixes ata: add ata_id_pio_need_iordy() helper (v2) ide-tape: fix build issue ide: unify interrupt reason checking ... commit 7f8189068726492950bf1a2dcfd9b51314560abf Author: Linus Torvalds Date: Sat Jun 20 09:52:27 2009 -0700 x86: don't use 'access_ok()' as a range check in get_user_pages_fast() It's really not right to use 'access_ok()', since that is meant for the normal "get_user()" and "copy_from/to_user()" accesses, which are done through the TLB, rather than through the page tables. Why? access_ok() does both too few, and too many checks. Too many, because it is meant for regular kernel accesses that will not honor the 'user' bit in the page tables, and because it honors the USER_DS vs KERNEL_DS distinction that we shouldn't care about in GUP. And too few, because it doesn't do the 'canonical' check on the address on x86-64, since the TLB will do that for us. So instead of using a function that isn't meant for this, and does something else and much more complicated, just do the real rules: we don't want the range to overflow, and on x86-64, we want it to be a canonical low address (on 32-bit, all addresses are canonical). Acked-by: Ingo Molnar Cc: H. Peter Anvin Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit d4c4038343510d83727ea922de4435996c26c0c8 Merge: 3daeb4d 71e308a Author: Ingo Molnar Date: Sat Jun 20 18:26:48 2009 +0200 Merge branch 'tip/tracing/urgent-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit 3daeb4da9a0b056bdc4af003e5605c1da4c0b068 Merge: 9ea1a15 4b221f0 Author: Ingo Molnar Date: Sat Jun 20 17:25:49 2009 +0200 Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit 3e107603aecf886e1e5bda9dacbd9796eb2a2171 Author: OGAWA Hirofumi Date: Sat Jun 20 21:50:07 2009 +0900 fat: Fix the removal of opts->fs_dmask (ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48: New helper - current_umask()) is removing the opts->fs_dmask, probably it's a cut-and-paste miss or something. Signed-off-by: OGAWA Hirofumi commit 05bf7d46316df6d12c608feb2a75dd41fc3385ae Author: Michal Simek Date: Sat Jun 20 14:24:01 2009 +0200 microblaze: Add missing symbols for CONSTRUCTORS support Commit b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7 add CONSTRUCTOR support to Linux but Microblaze not defined KERNEL_CTORS symbols which are used with that patch. This patch fixed it. Signed-off-by: Michal Simek commit 20f54c490c6547049d880d3666ebb5b24e234e77 Author: Arnd Bergmann Date: Thu Jun 18 19:55:26 2009 +0200 microblaze: remove init_mm Alexey removed the definition for init_mm from all architectures but forgot microblaze, which was only recently added. This fixes the microblaze build by dropping it there as well. Cc: Alexey Dobriyan Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit e34e7dbb35474ffc75f639eca64a18a15f4f8688 Author: Randy Dunlap Date: Wed Jun 17 17:37:47 2009 -0700 kernel-doc: fix param matching for array params Fix function actual parameter vs. kernel-doc description matching so that a warning is not printed when it should not be: Warning(include/linux/etherdevice.h:199): Excess function parameter 'addr' description in 'is_etherdev_addr' Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b2fd6dbf25cba7d904b62b81639bca8678c901fa Author: Randy Dunlap Date: Wed Jun 17 17:36:15 2009 -0700 kernel-doc: ignore kmemcheck_bitfield_begin/end Teach kernel-doc to ignore kmemcheck_bitfield_{begin,end} sugar so that it won't generate warnings like this: Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_begin(flags)' Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_end(flags)' Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit ac6ca5c86c63dd95acc6a34dff8d33c23b703a37 Author: Mike Frysinger Date: Mon Jun 15 07:52:48 2009 -0400 kallsyms: fix inverted valid symbol checking The previous commit (17b1f0de) introduced a slightly broken consolidation of the memory text range checking. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit b767b9059fa75a353c9ad6e320ae080fbe15a951 Author: Amerigo Wang Date: Fri Jun 19 03:06:54 2009 -0400 kbuild: fix build error during make htmldocs Fix the following build error when do 'make htmldocs': DOCPROC Documentation/DocBook/debugobjects.xml exec /scripts/kernel-doc: No such file or directory exec /scripts/kernel-doc: No such file or directory Reported-by: Randy Dunlap Signed-off-by: WANG Cong Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit eadc84cc01e04f9f74ec2de0c9355be035c7b396 Author: Frederic Weisbecker Date: Sat Jun 20 02:01:40 2009 +0200 perfcounter: Handle some IO return values Building perfcounter tools raises the following warnings: builtin-record.c: In function ‘atexit_header’: builtin-record.c:464: erreur: ignoring return value of ‘pwrite’, declared with attribute warn_unused_result builtin-record.c: In function ‘__cmd_record’: builtin-record.c:503: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result builtin-report.c: In function ‘__cmd_report’: builtin-report.c:1403: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result This patch handles these IO return values. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1245456100-5477-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 92bf309a9cd5fedd6c8eefbce0b9a95ada82d0a9 Author: Peter Zijlstra Date: Fri Jun 19 18:11:53 2009 +0200 perf_counter: Push perf_sample_data through the swcounter code Push the perf_sample_data further outwards to the swcounter interface, to abstract it away some more. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 39c58f37a10198054c656c28202fb1e6d22fd505 Author: Rainer Weikusat Date: Thu Jun 18 17:04:00 2009 +0200 ide-cd: prevent null pointer deref via cdrom_newpc_intr With 2.6.30, the error handling code in cdrom_newpc_intr was changed to deal with partial request failures by normally completing the 'good' parts of a request and only 'error' the last (and presumably, incompletely transferred) bio associated with a particular request. In order to do this, ide_complete_rq is called over ide_cd_error_cmd() to partially complete the rq. The block layer does partial completion only for requests with bio's and if the rq doesn't have one (eg 'GPCMD_READ_DISC_INFO') the request is completed as a whole and the drive->hwif->rq pointer set to NULL afterwards. When calling ide_complete_rq again to report the error, this null pointer is derefenced, resulting in a kernel crash. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13399. Signed-off-by: Rainer Weikusat Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d99100120ead486cd7a2502f19eaf1c1699d806 Merge: bc3f5d3 b1f49f9 Author: Ingo Molnar Date: Sat Jun 20 10:54:22 2009 +0200 Merge branch 'x86/mce3' into x86/urgent commit eef3e4cab72eaf5345e3c73b2975c194a714f6cd Author: Mike Rapoport Date: Thu Jun 11 08:08:39 2009 -0700 Input: add driver for Synaptics I2C touchpad This driver supports Synaptics I2C touchpad controller on eXeda mobile device. Unfortunaltely it only works in relative mode and thus is not comaptible with Xorg Synaptics driver. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Dmitry Torokhov commit ec20a022aa24fc63d3ab59584cb1e5aa9a21d46c Author: Tero Saarni Date: Wed Jun 10 23:27:24 2009 -0700 Input: synaptics - add support for reporting x/y resolution Synaptics uses anisotropic coordinate system. On some wide touchpads vertical resolution can be twice as high as horizontal which causes unequal sensitivity on x/y directions. Add support for reading the resolution with EVIOCGABS ioctl. Signed-off-by: Tero Saarni Signed-off-by: Dmitry Torokhov commit 9ea1a153a4fb435c22e9988784bb476671286112 Author: Frederic Weisbecker Date: Sat Jun 20 06:52:21 2009 +0200 tracing/urgent: warn in case of ftrace_start_up inbalance Prevent from further ftrace_start_up inbalances so that we avoid future nop patching omissions with dynamic ftrace. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit c85a17e22695969aa24a7ffa40cf26d6e6fcfd50 Author: Frederic Weisbecker Date: Sat Jun 20 05:45:14 2009 +0200 tracing/urgent: fix unbalanced ftrace_start_up Perfcounter reports the following stats for a wide system profiling: # # (2364 samples) # # Overhead Symbol # ........ ...... # 15.40% [k] mwait_idle_with_hints 8.29% [k] read_hpet 5.75% [k] ftrace_caller 3.60% [k] ftrace_call [...] This snapshot has been taken while neither the function tracer nor the function graph tracer was running. With dynamic ftrace, such results show a wrong ftrace behaviour because all calls to ftrace_caller or ftrace_graph_caller (the patched calls to mcount) are supposed to be patched into nop if none of those tracers are running. The problem occurs after the first run of the function tracer. Once we launch it a second time, the callsites will never be nopped back, unless you set custom filters. For example it happens during the self tests at boot time. The function tracer selftest runs, and then the dynamic tracing is tested too. After that, the callsites are left un-nopped. This is because the reset callback of the function tracer tries to unregister two ftrace callbacks in once: the common function tracer and the function tracer with stack backtrace, regardless of which one is currently in use. It then creates an unbalance on ftrace_start_up value which is expected to be zero when the last ftrace callback is unregistered. When it reaches zero, the FTRACE_DISABLE_CALLS is set on the next ftrace command, triggering the patching into nop. But since it becomes unbalanced, ie becomes lower than zero, if the kernel functions are patched again (as in every further function tracer runs), they won't ever be nopped back. Note that ftrace_call and ftrace_graph_call are still patched back to ftrace_stub in the off case, but not the callers of ftrace_call and ftrace_graph_caller. It means that the tracing is well deactivated but we waste a useless call into every kernel function. This patch just unregisters the right ftrace_ops for the function tracer on its reset callback and ignores the other one which is not registered, fixing the unbalance. The problem also happens is .30 Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: stable@kernel.org commit 0b7af262aba912f52bc6ef76f1bc0960b01b8502 Author: Pierre Willenbrock Date: Fri Jun 19 18:31:47 2009 +0200 agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses Otherwise, the high bits to be stuffed in the unused lower bits of the page address are lost. Signed-off-by: Pierre Willenbrock Signed-off-by: Dave Airlie commit fb20871a54961b82d35303b43452928186c1361d Merge: bee89ab c7a5d70 Author: Linus Torvalds Date: Fri Jun 19 17:48:32 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: (342 commits) Staging: comedi: fix build errors Staging: udlfb: update to version 0.2.3 Staging: udlfb: fix some sparse warnings. Staging: udlfb: clean up checkpatch warnings in udlfb.c Staging: udlfb: clean up checkpatch warnings in udlfb.h Staging: udlfb: add udlfb driver to build Staging: add udlfb driver Staging: pata_rdc: remove pointless comments Staging: pata_rdc: remove DRIVER macros Staging: pata_rdc: remove dbgprintf macro Staging: pata_rdc: remove broken flag Staging: pata_rdc: fix build warnings Staging: pata_rdc: use PCI_DEVICE Staging: pata_rdc: remove function prototypes Staging: pata_rdc: coding style fixes Staging: pata_rdc: convert code to work in 2.6.29 Staging: pata_rdc: add driver to the build system Staging: add pata_rdc driver Staging: remove obsolete serqt_usb driver Staging: serqt_usb2 add the driver to the build ... commit bee89ab228e6f51c4ddd3481b9bd491859a8ee7b Merge: 5c6fb00 528da3e Author: Linus Torvalds Date: Fri Jun 19 17:46:44 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: inotify_destroy_mark_entry could get called twice commit 5c6fb0059cec9a3c0f6d88a0ddf3d62ad323cd57 Merge: 31583d6 c703667 Author: Linus Torvalds Date: Fri Jun 19 17:45:51 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c: New macro to initialize i2c address lists on the fly i2c: Don't advertise i2c functions when not available i2c: Use rwsem instead of mutex for board info i2c: Add a sysfs interface to instantiate devices i2c: Limit core locking to the necessary sections i2c: Kill the redundant client list i2c: Kill is_newstyle_driver i2c: Merge i2c_attach_client into i2c_new_device i2c: Drop i2c_probe function i2c: Get rid of the legacy binding model i2c: Kill client_register and client_unregister methods commit 31583d6acf940d2951bc8716557b06d9de5a0c4b Merge: ee37ba7 f740f5c Author: Linus Torvalds Date: Fri Jun 19 17:43:04 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Fix kernel-doc parameter name typo in blk-settings.c: block: rename CONFIG_LBD to CONFIG_LBDAF block: Fix bounce_pfn setting hd: stop defining MAJOR_NR commit ee37ba7a4212c7420f12e6a2ad8a3966649ede7a Merge: 773d7a0 b99c6eb Author: Linus Torvalds Date: Fri Jun 19 17:42:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: sparc64: Fix UP bootup regression. commit 773d7a09e1a1349a5319ac8665e9c612c6aa27d8 Merge: 17fad52 b71a107 Author: Linus Torvalds Date: Fri Jun 19 17:40:40 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (35 commits) powerpc/5121: make clock debug output more readable powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function powerpc/5200: Update pcm030.dts to add i2c eeprom and delete cruft powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback fbdev/xilinxfb: Fix improper casting and tighen up probe path usb/ps3: Add missing annotations powerpc: Add memory clobber to mtspr() powerpc: Fix invalid construct in our CPU selection Kconfig ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access powerpc: Add configurable -Werror for arch/powerpc of_serial: Add UPF_FIXED_TYPE flag drivers/hvc: Add missing __devexit_p() net/ps3: gelic - Add missing annotations powerpc: Introduce macro spin_event_timeout() powerpc/warp: Fix ISA_DMA_THRESHOLD default powerpc/bootwrapper: Custom build options for XPedite52xx targets powerpc/85xx: Add defconfig for X-ES MPC85xx boards powerpc/85xx: Add dts files for X-ES MPC85xx boards powerpc/85xx: Add platform support for X-ES MPC85xx boards 83xx: add support for the kmeter1 board. ... commit 17fad5209e6b55148dbd20156cdaf2c7e67faa40 Merge: 898f96f eec511d Author: Linus Torvalds Date: Fri Jun 19 17:34:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: Blackfin: convert page/tlb to asm-generic Blackfin: convert types to asm-generic Blackfin: convert irq/process to asm-generic Blackfin: convert signal/mmap to asm-generic Blackfin: convert locking primitives to asm-generic Blackfin: convert termios to asm-generic Blackfin: convert simple headers to asm-generic Blackfin: convert socket/poll to asm-generic Blackfin: convert user/elf to asm-generic Blackfin: convert shm/sysv/ipc to asm-generic Blackfin: convert asm/ioctls.h to asm-generic/ioctls.h Blackfin: only build irqpanic.c when needed Blackfin: pull in asm/io.h in ksyms for prototypes Blackfin: use common test_bit() rather than __test_bit() commit 898f96fd5059854bef89d2a65a6de737bd5c5411 Author: Joe Perches Date: Thu Jun 18 16:49:25 2009 -0700 MAINTAINERS: kmemtrace pattern update Signed-off-by: Joe Perches Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Cc: Ingo Molnar Cc: Zhao Lei Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a26c4463f695a2ef7818fd4dadf300f2c77c920e Author: Joe Perches Date: Thu Jun 18 16:49:24 2009 -0700 MAINTAINERS: ieee802154 fix pattern typo Signed-off-by: Joe Perches Cc: Sergey Lapin Cc: Dmitry Eremin-Solenikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc8b4a2b71b1786c922b70e69402109c28ff4a5c Author: Joe Perches Date: Thu Jun 18 16:49:24 2009 -0700 MAINTAINERS: update wireless.h path Signed-off-by: Joe Perches Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a65fd8e3a0219c2a4b41e4d64a10f51dab892ebb Author: Joe Perches Date: Thu Jun 18 16:49:23 2009 -0700 MAINTAINERS: update Ftrace documentation pattern Signed-off-by: Joe Perches Cc: Randy Dunlap Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa451753b6b7eb082531d0b7fc7b2f585a5581e1 Author: Joe Perches Date: Thu Jun 18 16:49:22 2009 -0700 MAINTAINERS: fix Atheros pattern paths Signed-off-by: Joe Perches Cc: Bob Copeland Cc: "Luis R . Rodriguez" Cc: Nick Kossifidis Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b1982896876872d30493cca9477975b62335f39 Author: Krzysztof Helt Date: Thu Jun 18 16:49:21 2009 -0700 fbdev: do not allow VESA modes without compiled-in drivers Do not accept VESA modes by the "vga=" kernel parameter if there is no frame buffer driver compiled-in to handle it. Also, there is a comment added to the Kconfig description after Werner Lemberg's suggestion Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13249 Signed-off-by: Krzysztof Helt Reported-by: Werner Lemberg Cc: Michal Januszewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7f92c96a74ac9a9bc21101ad02f6c9f71fd25d Author: Joe Perches Date: Thu Jun 18 16:49:19 2009 -0700 MAINTAINERS: pair names/addresses in EDAC-I82975X Signed-off-by: Joe Perches Cc: Ranganathan Desikan Cc: "Arvind R." Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbe6f1869188b6e04e38aa861dd198befb08bcd7 Author: FUJITA Tomonori Date: Thu Jun 18 16:49:19 2009 -0700 dma-mapping: mark dma_sync_single and dma_sync_sg as deprecated dma_sync_single() and dma_sync_sg() have been described as "Backwards compat, remove in 2.7.x" for a long time (since 2.6.5). This marks dma_sync_single() and dma_sync_sg() as deprecated so the users get notified before removing them. Signed-off-by: FUJITA Tomonori Cc: Ingo Molnar Cc: James Bottomley Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d68412b6d1e8e5ed42d568330e598bd81914ccbd Author: Jiri Slaby Date: Thu Jun 18 16:49:18 2009 -0700 dma-mapping: mark DMA_nBITS_MASK as deprecated Mark them deprecated so that out-of-tree developers get notified about this before their modules break when these macros are removed. Signed-off-by: Jiri Slaby Cc: Yang Hongyang Acked-by: FUJITA Tomonori Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e20ce94ce378334dea83a83ab26253b851100a2 Author: Andrew Morton Date: Thu Jun 18 16:49:17 2009 -0700 convert some DMA_nnBIT_MASK() callers We're about to make DMA_nnBIT_MASK() emit `deprecated' warnings. Convert the remaining stragglers which are visible to the x86_64 build. Cc: FUJITA Tomonori Cc: James Bottomley Cc: Eric Moore Cc: Takashi Iwai Cc: "David S. Miller" Cc: Alexander Duyck Cc: Yi Zou Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a90b037583d5f1ae3e54e9c687c79df82d1d34a4 Author: Dirk Eibach Date: Thu Jun 18 16:49:15 2009 -0700 char: moxa, prevent opening unavailable ports In moxa.c there are 32 minor numbers reserved for each device. The number of ports actually available per device is stored in moxa_board_conf->numPorts. This number is not considered in moxa_open(). Opening a port that is not available results in a kernel oops. This patch adds a test to moxa_open() that prevents opening unavailable ports. [akpm@linux-foundation.org: avoid multiple returns] Signed-off-by: Dirk Eibach Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b9ce5a20138590bd9556e34a0408164fadf4163 Author: Mike Frysinger Date: Thu Jun 18 16:49:14 2009 -0700 istallion: add missing __devexit marking The remove member of the pci_driver stli_pcidriver uses __devexit_p(), so the remove function itself should be marked with __devexit. Even more so considering the probe function is marked with __devinit. Signed-off-by: Mike Frysinger Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4390b9e0cfa30c2b1a4d821748d7948fd85356df Author: Roel Kluin Date: Thu Jun 18 16:49:13 2009 -0700 dtlk: off by one in {read,write}_tts() With a postfix increment retries is incremented beyond DTLK_MAX_RETRIES so the error message is not displayed correctly. Signed-off-by: Roel Kluin Cc: James R. Van Zandt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit befca96779b0259ac8fad0183e748a62935c39cb Author: Oleg Nesterov Date: Thu Jun 18 16:49:11 2009 -0700 ptrace: wait_task_zombie: do not account traced sub-threads The bug is ancient. If we trace the sub-thread of our natural child and this sub-thread exits, we update parent->signal->cxxx fields. But we should not do this until the whole thread-group exits, otherwise we account this thread (and all other live threads) twice. Add the task_detached() check. No need to check thread_group_empty(), wait_consider_task()->delay_group_leader() already did this. Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Acked-by: Roland McGrath Cc: Stanislaw Gruszka Cc: Vitaly Mayatskikh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6229bec25be4ba00f31dd26e25721cc96c22262 Author: Atsushi Nemoto Date: Thu Jun 18 16:49:09 2009 -0700 rtc: make rtc_update_irq callable with irqs enabled The rtc_update_irq() might be called with irqs enabled, if a interrupt handler was registered without IRQF_DISABLED. Use spin_lock_irqsave/spin_unlock_irqrestore instead of spin_lock/spin_unlock. Also update kerneldoc and drivers which do extra work to follow the current interface spec, as suggestted by David Brownell. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575c5807f6842422e9fe2432fd48dfcc1d7aef41 Author: Anton Vorontsov Date: Thu Jun 18 16:49:08 2009 -0700 spi_mpc8xxx: s/83xx/8xxx/g Since we renamed the file, we might want to rename the file internals too. Though we don't bother with changing platform driver name and platform module alias. The stuff is legacy and hopefully we'll remove it soon. Suggested-by: Kumar Gala Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34a661a1fe02840b6fc8de0a616464dd4899782f Author: Anton Vorontsov Date: Thu Jun 18 16:49:08 2009 -0700 spi_mpc83xx: rename spi_83xx.c to spi_8xxx.c The driver handles MPC83xx, MPC85xx and MPC86xx SPI controllers, so rename the file for clarity. Suggested-by: Kumar Gala Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef79d827657fce5a3038ba07f11ce6dcd0421d0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:07 2009 -0700 spi_mpc83xx: remove dead code This patch removes #if 0'ed code, and spi_mpc83xx->busy variable that is used by that dead snippet only. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9b9af11fe35f509899fc5ff242b68d3299c3aef Author: Anton Vorontsov Date: Thu Jun 18 16:49:06 2009 -0700 spi_mpc83xx: split mpc83xx_spi_work() into two routines mpc83xx_spi_work() is quite large, with up to five indentation levels and is quite difficult to read. So, split the function in two parts: 1. mpc83xx_spi_work() now only traverse queued spi messages; 2. mpc83xx_spi_do_one_msg() only manages single messages. There should be no functional changes. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9effb959dee0919991362541048479d94bd1f6e0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:05 2009 -0700 spi_mpc83xx: fix checkpatch issues Checkpatch is spitting errors when seeing the rename patch, so fix the errors prior to moving. Following errors and warnings were fixed: WARNING: Use #include instead of #1027: FILE: drivers/spi/spi_mpc8xxx.c:37: +#include ERROR: "foo * bar" should be "foo *bar" #1111: FILE: drivers/spi/spi_mpc8xxx.c:121: +static inline void mpc83xx_spi_write_reg(__be32 __iomem * reg, u32 val) ERROR: "foo * bar" should be "foo *bar" #1116: FILE: drivers/spi/spi_mpc8xxx.c:126: +static inline u32 mpc83xx_spi_read_reg(__be32 __iomem * reg) ERROR: "foo * bar" should be "foo *bar" #1125: FILE: drivers/spi/spi_mpc8xxx.c:135: + type * rx = mpc83xx_spi->rx; \ ERROR: "foo * bar" should be "foo *bar" #1135: FILE: drivers/spi/spi_mpc8xxx.c:145: + const type * tx = mpc83xx_spi->tx; \ WARNING: suspect code indent for conditional statements (16, 25) #1504: FILE: drivers/spi/spi_mpc8xxx.c:514: + while (((event = [...] + cpu_relax(); Following warnings were left over, since fixing them will hurt the readability. We'd better fix them by lowering the indentation level by splitting mpc83xx_spi_work function into two parts. WARNING: line over 80 characters #1371: FILE: drivers/spi/spi_mpc8xxx.c:381: + status = mpc83xx_spi_setup_transfer(spi, t); WARNING: line over 80 characters #1392: FILE: drivers/spi/spi_mpc8xxx.c:402: + mpc83xx_spi_chipselect(spi, BITBANG_CS_INACTIVE); Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2998c2c3608e6c674f9079b661583927fbe61b0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:02 2009 -0700 powerpc/86xx: add MMC SPI support for MPC8610HPCD boards This patch adds spi and mmc-spi-slot nodes, plus a gpio-controller for PIXIS' sdcsr bank that is used for managing SPI chip-select and for reading card's states. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5afbf098d171664695db2a7e828e8d96871a01e1 Author: Anton Vorontsov Date: Thu Jun 18 16:49:01 2009 -0700 spi_mpc83xx: add small delay after asserting chip-select line This is needed for some underlaying GPIO controllers that may be a bit slow, or if chip-select signal need some time to stabilize. For what it's worth, we already have the similar delay for chip-select de-assertion case. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd8a11e100b463811f41266ea3880c830f3359ea Author: Anton Vorontsov Date: Thu Jun 18 16:49:01 2009 -0700 spi_mpc83xx: quieten down the "Requested speed is too low" message When a platform is running at high frequencies it's not always possible to scale-down a frequency to a requested value, and using mmc_spi driver this leads to the following printk flood during card polling: ... mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. ... Fix this by using WARN_ONCE(), it's better than the flood, and also better than turning dev_err() into dev_dbg(), since we actually want to warn that some things may not work correctly. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e04b3336a90efef6a912501155f9880abf7b3c2 Author: Anton Vorontsov Date: Thu Jun 18 16:48:59 2009 -0700 spi_mpc83xx: handle other Freescale processors With this patch we'll able to select spi_mpc83xx driver on the MPC86xx platforms. Let the driver depend on FSL_SOC, so we don't have to worry about Kconfig anymore. Also remove the "experimental" dependency, the driver has been tested to work on a various hardware, and surely not experimental anymore. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 433f13a7274ccc3541d2832ffe5ef4472036cc72 Author: Joe Perches Date: Thu Jun 18 16:48:58 2009 -0700 bootmem.c: avoid c90 declaration warning [akpm@linux-foundation.org: cleanup] Signed-off-by: Joe Perches Cc: Pekka Enberg Cc: Benjamin Herrenschmidt Cc: Tejun Heo Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9c28599879040039f610c5b177e61ef65ff100 Author: Baruch Siach Date: Thu Jun 18 16:48:58 2009 -0700 gpio: driver for PrimeCell PL061 GPIO controller This is a driver for the ARM PrimeCell PL061 GPIO AMBA peripheral. The driver is implemented using the gpiolib framework. This driver also includes support for the use of the PL061 as an interrupt controller (secondary). Signed-off-by: Baruch Siach Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7a5d70796379e3d51d0c652fbe1634b81d3bbd5 Author: Greg Kroah-Hartman Date: Fri Jun 19 11:04:32 2009 -0700 Staging: comedi: fix build errors Some of the comedi drivers need timer.h to build properly, so put it in the comedidev.h file to fix these errors. Signed-off-by: Greg Kroah-Hartman commit 7316bc55ed20c1eae6ff87a35dc2a8e3827f2d79 Author: Roberto De Ioris Date: Wed Jun 10 23:02:19 2009 -0700 Staging: udlfb: update to version 0.2.3 This updates the udlfb to the 0.2.3 version. From: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 4b6a4856c6b6e3bb7839b15296712627b7a37208 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:21 2009 -0700 Staging: udlfb: fix some sparse warnings. There are others remaining due to the __iomem namespace of the framebuffer data pointer. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit f05e0575ed334a23dad91b8f6ed0ac42a3996b8d Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:08 2009 -0700 Staging: udlfb: clean up checkpatch warnings in udlfb.c This cleans up a bunch of checkpatch.pl warnings in the udlfb.c file. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 39e7df5d17f28889543c09b5f3ffd6d380fc7317 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:00 2009 -0700 Staging: udlfb: clean up checkpatch warnings in udlfb.h This cleans up a bunch of checkpatch.pl warnings in the udlfb.h file. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 9a82e6df79f13a3489c50813c1edb4331a9400d3 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:45:40 2009 -0700 Staging: udlfb: add udlfb driver to build This adds the udlfb driver to the build system Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 88e58b1a42f8c1e9ac8ecda23374cc241045d309 Author: Roberto De Ioris Date: Wed Jun 3 14:03:06 2009 -0700 Staging: add udlfb driver This adds the udlfb driver, a framebuffer driver for DisplayLink devices. From: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 0f218ee2b7e474a5424fbd452c2e3a5da0599e99 Author: Greg Kroah-Hartman Date: Wed Jun 3 11:12:41 2009 -0700 Staging: pata_rdc: remove pointless comments These comments contribute nothing to the code, and most were just cut and pasted from another driver. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 0b77ca66a6ef1ab353b112bb548ff7492836ecc3 Author: Greg Kroah-Hartman Date: Wed Jun 3 11:07:38 2009 -0700 Staging: pata_rdc: remove DRIVER macros They are not needed, and the version one was pointless now that the code is merged into the tree. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit da9dbc0059fc5c6ae80dd8ecf85ae455a65d96de Author: Greg Kroah-Hartman Date: Wed Jun 3 10:17:47 2009 -0700 Staging: pata_rdc: remove dbgprintf macro Use dev_dbg() instead. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit c7a8c592c1f69f2c8e86baf21acfd64c64b5f3fd Author: Greg Kroah-Hartman Date: Wed Jun 3 10:17:47 2009 -0700 Staging: pata_rdc: remove broken flag The "in_module_init" flag was wrong, so just remove it, it's not needed. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 6b23e3104d95dd752fcf8b32fbace15f483b6814 Author: Greg Kroah-Hartman Date: Wed Jun 3 10:14:19 2009 -0700 Staging: pata_rdc: fix build warnings struct ata_port_info shouldn't be const, so remove that which fixes up the compiler warnings. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 1a24bda26106fa522de8af78a2fea2c5e737137b Author: Greg Kroah-Hartman Date: Wed Jun 3 09:47:57 2009 -0700 Staging: pata_rdc: use PCI_DEVICE Use the PCI_DEVICE macro, that's what it is there for... Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit c0a5962f761b5c7c312d829c16c2856be6d494db Author: Greg Kroah-Hartman Date: Wed Jun 3 09:47:57 2009 -0700 Staging: pata_rdc: remove function prototypes Move code around so we do not need the function prototypes anymore. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 482612afc611a504ef7f0e51022d381876ee3cca Author: Greg Kroah-Hartman Date: Wed Jun 3 07:45:49 2009 -0700 Staging: pata_rdc: coding style fixes This fixes a number of coding style issues in the pata_rdc.h file Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit b079fa27d946cf7382ebcd06148782d62103e51a Author: Greg Kroah-Hartman Date: Tue Jun 2 22:45:46 2009 -0700 Staging: pata_rdc: convert code to work in 2.6.29 This fixes build problems in the pata_rdc driver due to api changes in the libata layer. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 89a2c2085bfddde2d4fe2264a3f040cb054ed145 Author: Greg Kroah-Hartman Date: Tue Jun 2 22:45:46 2009 -0700 Staging: pata_rdc: add driver to the build system Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit ad41a8a58e15bf4dee13b78bb3b77f4e1f417506 Author: Kevin Huang Date: Mon Jun 1 11:43:20 2009 +0800 Staging: add pata_rdc driver This is our IDE Source code. This is base on kernel 2.6.28. pata_rdc.h and pata_rdc.c From: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit ba49d59ac4b0748c8d7be9d7a9f637c50592e977 Author: Greg Kroah-Hartman Date: Tue Jun 2 15:16:24 2009 -0700 Staging: remove obsolete serqt_usb driver Now that Bill rewrote the driver "properly", this old thing can be removed. Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8ba911c793c526c394eeddbe66f675c58a922449 Author: Bill Pemberton Date: Sun May 31 15:49:42 2009 -0400 Staging: serqt_usb2 add the driver to the build Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d75662e164d5175c5e5f9339ff4d6f6980613d96 Author: Bill Pemberton Date: Sun May 31 15:49:43 2009 -0400 Staging: Add serqt_usb2, a rewrite of serqt_usb for the usb-serial layer This is the serqt_usb driver rewritten to use usb-serial. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0d99b6eb851fbea9e31ad23f70c8f9fbefd6e4e8 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: asus_oled: fix build warnings This fixes some build warnings in the asus_oled driver. Signed-off-by: Greg Kroah-Hartman commit 04b17c935bb4066bf036b338f46ed253bcf34b70 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: slicoss: fix build warnings This fixes some build warnings in the slicoss driver. Signed-off-by: Greg Kroah-Hartman commit b0f434a7e90395b588a38ae706c6c63a23d497e4 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: slicoss: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 602bd07313f6b337b7ec0297855a5d4d1743c6f2 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: altpciechdma: fix build warnings This fixes some build warnings in the altpciechdma driver. Signed-off-by: Greg Kroah-Hartman commit 24f5063d3f1125a75cadacab4609a358c15a96f3 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: altpciechdma: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit afcf462a1fd78cc372aefd9fe352e2dc2f237937 Author: Dongxiao Xu Date: Sun May 31 14:44:01 2009 +0800 Staging: heci: fix the problem that file_ext->state should be protected by device_lock While access file_ext->state, we should use device_lock to protect it. The original codes miss this in some places. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 8d1c50e9829442be5bc88979d587af2a5ff07e32 Author: Dongxiao Xu Date: Sun May 31 14:43:58 2009 +0800 Staging: heci: do not print error when heci_bh_handler is already on workqueue schedule_work returns 0, if the work is already on the work_queue, else returns non-zero. Do not print error message if heci_bh_handlerwork was already on queue. Signed-off-by: Nikanth Karthikesan Signed-off-by: Greg Kroah-Hartman commit ad914a3ec5f1b8c4f97a00f94e11bb20f99a901b Author: Dongxiao Xu Date: Sun May 31 14:43:55 2009 +0800 Staging: heci: fix setting h_is bit in h_csr register Host software could issue interrupts to ME firmware, using H_IG bit. While Setting H_IG bit, host software should preserve all the other bits in H_CSR unchanged. In the original function which sets H_CSR register, they first read the register, then set some bits, and write the whole 32bits back to the register. And that the special behavior of H_IS (write-one-to-zero) causes problem. This patch fixes the issue in the following ways: - Modify heci_set_csr_register() function so that it doesn't change H_IS bit. - Add interface heci_csr_clear_his() to clear H_IS bit. This function is called after H_IS checking (dev->host_hw_state & H_IS == H_IS). - In original heci_csr_disable_interrupts() function, it not only clears H_IE bit, sometimes it also clears H_IS bit. This patch separates the two parts. - Avoid calling write_heci_register() function to set H_CSR register directly, and instead using heci_set_csr_register() function Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 52b855600c5c16c13b6f288f3536d01c2603e78d Author: Dongxiao Xu Date: Sun May 31 14:43:51 2009 +0800 Staging: heci: fix typos and add wait after disconnect - Fix typo for enum HECI_WRITE. - Fix timeout issue. If the time period is greater or equal 15s, it's timeout. - Add 10ms wait time after disconnect, to ensure that hardware is ready. Otherwise in the next time connection, hardware resource may be busy. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 58b25a63a18e88052c8f5f068e68feaac4c6831d Author: Dongxiao Xu Date: Sun May 31 14:43:46 2009 +0800 Staging: heci: fix softirq safe to unsafe spinlock issue When spinlock is nested, and the outside one is spin_lock_bh, the inner spinlock should also be spin_lock_bh, otherwise it will bring softirq-safe to softirq-unsafe lock conversion. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 72abd2288318a35fbf225b93a31d4623e3b8c872 Author: Dongxiao Xu Date: Sun May 31 14:43:42 2009 +0800 Staging: heci: fix spinlock order mess of device_lock and read_io_lock In orginal code, the device_lock and read_io_lock is mess order when nested, which may bring dead lock. This patch unify the spinlock order of device_lock and read_io_lock. First acquire device_lock, then read_io_lock. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 171df6381962b463e5aa8ff936eb3f995a56ce9e Author: Dongxiao Xu Date: Sun May 31 14:43:39 2009 +0800 Staging: heci: fix wrong order of device_lock and file_lock When the two locks are nested, the code should always first acquire file_lock, and then acquire device_lock in order not to generate dead-lock race. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 36e844671cbdace27f0462a46cedde0a4d6b1001 Author: Dongxiao Xu Date: Sun May 31 14:43:35 2009 +0800 Staging: heci: fix userspace pointer mess Fix userspace pointer mess. - In memcmp(), dest and src pointer should be both in kernel space. - Add (void __user *) modification before userspace pointer. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 7a80bfcd1f4bac61d586d3551f74215ff02e9cba Author: vibi sreenivasan Date: Thu Jun 4 20:59:17 2009 +0530 Staging: rspiusb: copy_to/from_user related fixes The patch does copy_to/from_user related fixes *) __copy_from/to_user is enough for user space data buffer checked by access_ok. *) return -EFAULT if __copy_from/to_user fails. *) Do not use memcpy to copy from user space. Signed-off-by: Vibi Sreenivasan Signed-off-by: Greg Kroah-Hartman commit 8d2db5169d103d03646e7b7e93798739b2290d22 Author: vibi sreenivasan Date: Thu Jun 4 20:56:45 2009 +0530 Staging: rspiusb: Fix a bunch of warnings. The patch fixes the following warnings. drivers/staging/rspiusb/rspiusb.c: In function ‘pixel_data’: drivers/staging/rspiusb/rspiusb.c:267: warning: passing argument 1 of ‘SetPageDirty’ makes pointer from integer without a cast drivers/staging/rspiusb/rspiusb.c: In function ‘UnMapUserBuffer’: drivers/staging/rspiusb/rspiusb.c:500: warning: passing argument 1 of ‘put_page’ makes pointer from integer without a cast drivers/staging/rspiusb/rspiusb.c: In function ‘MapUserBuffer’: drivers/staging/rspiusb/rspiusb.c:662: warning: assignment makes integer from pointer without a cast drivers/staging/rspiusb/rspiusb.c:670: warning: assignment makes integer from pointer without a cast Signed-off-by: Vibi Sreenivasan Signed-off-by: Greg Kroah-Hartman commit 14e8bcd0866a93ae1c20efa462e5d4807a1398a0 Author: Richard Genoud Date: Sun May 17 13:06:32 2009 +0200 Staging: rspiusb: duplicate code in pixis_io It seems that pixis_io and pixis_io2 should do the same thing. Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit c854b5e58f2a564af1428e12cdb183e9b876fa0f Author: Richard Genoud Date: Sun May 17 13:06:31 2009 +0200 Staging: rspiusb.c: break the huge piusb_ioctl function into several ones This makes the code more readable, makes checkpatch really happy and factorize some code. Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit f2d46e248a8a825506c21f972fff11e423ff1eea Author: Richard Genoud Date: Sun May 17 13:06:30 2009 +0200 Staging: rspiusb: clean rspiusb code This first patch makes checkpatch happier Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit 6546f08d21921ee13b6265493bebcff750090791 Author: J.R. Mauro Date: Sat Mar 28 00:10:35 2009 -0400 Staging: rspiusb: make driver compile Convert undefined info() function calls to dev_err, making rspiusb compile Signed-off-by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit f82ebea5c8ef9ed9378fc6402051a4860a805397 Author: Serge E. Hallyn Date: Wed May 20 10:15:28 2009 -0500 staging: p9auth: prevent some oopses and memory leaks Before all testcases, do: mknod /dev/caphash c 253 0 mknod /dev/capuse c 253 1 This patch does the following: 1. caphash write of > CAP_NODE_SIZE bytes overruns node_ptr->data (test: cat /etc/mime.types > /dev/caphash) 2. make sure we don't dereference a NULL cap_devices[0].head (test: cat serge@root@abab > /dev/capuse) 3. don't let strlen dereference a NULL target_user etc (test: echo ab > /dev/capuse) 4. Don't leak a bunch of memory in cap_write(). Note that technically node_ptr is not needed for the capuse write case. As a result I have a much more extensive patch splitting up cap_write(), but I thought a smaller patch that is easier to test and verify would be a better start. To test: cnt=0 while [ 1 ]; do echo /etc/mime.types > /dev/capuse if [ $((cnt%25)) -eq 0 ]; then head -2 /proc/meminfo fi cnt=$((cnt+1)) sleep 0.3 done Without this patch, it MemFree steadily drops. With the patch, it does not. I have *not* tested this driver (with or without these patches) with factotum or anything - only using the tests described above. Signed-off-by: Serge E. Hallyn Signed-off-by: Greg Kroah-Hartman commit 0f51010e87636ed93338f4d9a987a466ca0d6969 Author: David Rowe Date: Wed May 20 11:18:27 2009 +0930 Staging: oslec bug fix I have just had a bug fix submitted for Oslec which I have applied to Oslec SVN. The bug can potentially stops the echo canceller adapting after a few seconds, although it hasn't caused many problems in practice. Signed-off-by: David Rowe Signed-off-by: Greg Kroah-Hartman commit 99dc2a7f1221cd0cc9d6e988d03755155fadae9d Author: Andre Lopes Date: Tue May 26 14:55:32 2009 -0700 staging: b3dfg: clean up MODULE_PARM_DESC newline Remove incorrect MODULE_PARM_DESC newline. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 315d7fa9d60fb402b1331fe5e83d9295f4c6cf0f Author: Roel Kluin Date: Tue May 12 13:50:24 2009 -0700 staging: wis-sony-tuner.c: fix &&/|| error Fix &&/|| typo Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 385269885f156c76518748fcb215bd2ca81ef000 Author: Julia Lawall Date: Fri Jun 5 17:07:38 2009 +0200 Staging: rtl8192su: Correct use of ! and & Correct priority problem in the use of ! and &. 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) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 36dbd40139b5adcd60a62be10b6bf83289d79ea4 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: rtl8192su: fix build warnings This fixes some build warnings in the rtl8192su driver. Signed-off-by: Greg Kroah-Hartman commit 5f53d8ca3d5d6afa55011e1e858a4bf255a3abf4 Author: Jerry Chuang Date: Thu May 21 22:16:02 2009 -0700 Staging: add rtl8192SU wireless usb driver Driver from Realtek for the Realtek RTL8192 USB wifi device Based on the r8187 driver from Andrea Merello and others. Signed-off-by: Greg Kroah-Hartman commit d01c3c8e13f7be29fae5b55bbd4a01d6f84d3d5e Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: cpc-usb: fix build warnings This fixes some build warnings in the cpc-usb driver. Signed-off-by: Greg Kroah-Hartman commit 5e23f3e9626b1bdc425f6351d10be28a57aae9c8 Author: Alexander Beregalov Date: Thu May 21 15:44:46 2009 +0400 Staging: cpc-usb: fix printk format warnings Fix this warnings: cpc-usb_drv.c:478: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' cpc-usb_drv.c:1034: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit c32a4e066c42b1b4bd7c472814bce09f16ff8202 Author: Alexander Beregalov Date: Thu May 21 15:44:45 2009 +0400 Staging: cpc-usb: depends on PROC_FS Fix this build error when PROC_FS is not enabled: cpc-usb_drv.c:61:2: error: #error "PROCFS needed" cpc-usb_drv.c:1159: error: implicit declaration of function 'proc_mkdir' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit a3d97c9b192df8e9c6a041f9452b400070ce2d02 Author: Julia Lawall Date: Wed May 20 09:17:11 2009 +0200 Staging: cpc-usb: Adjust NULL test Since card must already be non-NULL, it seems that what was intended was to test the result of kmalloc. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E,E1; identifier f,fld,fld1; statement S1,S2; @@ E->fld = f(...); ... when != E = E1 when != E->fld1 = E1 if ( - E + E->fld == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 562bf4845fbd9240a1964734d769bb5f6973e759 Author: Greg Kroah-Hartman Date: Thu May 14 21:16:23 2009 -0700 Staging: cpc-usb: add TODO file List what needs to be done to get this driver merged into the main part of the kernel tree. Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 240f3ee0c864a19fa74fb9f049f53e63e77c3182 Author: Greg Kroah-Hartman Date: Thu May 14 21:14:27 2009 -0700 Staging: cpc-usb: fix checkpatch warnings in sja2m16c.h This fixes most of the coding style issues in sja2m16c.h Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 0f064b52ce0f837791924b252ae59476ef26de69 Author: Greg Kroah-Hartman Date: Thu May 14 21:13:51 2009 -0700 Staging: cpc-usb: fix up checkpatch errors in cpc-usb_drv.c This resolves the checkpatch errors in cpc-usb_drv.c Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 936b6230530a3605e99563dfd3a6845dc0343b6e Author: Greg Kroah-Hartman Date: Thu May 14 20:47:10 2009 -0700 Staging: cpc-usb: add driver to the build This adds the cpc-usb driver to the kernel build Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 84a209d01c58d74f291efc82e313b132ecec7be0 Author: Greg Kroah-Hartman Date: Thu May 14 20:56:58 2009 -0700 Staging: cpc-usb: fix some build problems in the driver It will now build properly on the latest kernel tree. Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit e0ce8a7265fec155f97438c80dedd7f01ff0055f Author: Sebastian Haas Date: Thu May 14 20:46:12 2009 -0700 Staging: add cpc-usb driver to the staging tree This is a CPC CAN USB driver. Just some comments: cpcusb.h and cpc-usb_drv.c: Essential driver source code sja2m16c_2.c: Helper for converting bitrate timings cpc.h: Structures and definition needed to communicate with the device From: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 6456f0b7683c9b82ca3f3e4f0aec15b9d2966561 Author: Oleg Nesterov Date: Mon May 4 00:15:31 2009 +0200 Staging: epl: do not use CLONE_SIGHAND with allow_signal() Not sure this patch is really needed since kernel_thread() is deprecated (and checkpatch.pl complains). But we should not use kernel_thread(CLONE_SIGHAND) if we are going to play with signals. Signed-off-by: Oleg Nesterov Signed-off-by: Greg Kroah-Hartman commit d604fc995e7d222b043b33676f64e8b855fa596f Author: Greg Kroah-Hartman Date: Thu Jun 4 10:40:37 2009 -0700 Staging: android: fix Kconfig issues Wrap all ANDROID config items with a #if to keep from asking if you want specific Android drivers even if you say N to CONFIG_ANDROID Signed-off-by: Greg Kroah-Hartman commit 3dffc8271f778b9ac8eb6985c99f23cef7a753d6 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: binder: fix up some checkpatch warnings This cleans up the majority of the checkpatch warnings in the android binder driver. All that is left now is a bunch of too-long-line stuff. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit e93daf9f8d94b9dc31a66e3ae76d7fdf80b1cb7d Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: ram_console: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android ram_console driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 66b20608c9e98a0a29806bd47b30565927fdbbd8 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: logger: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android logger driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 1dbb5765acc7a6fe4bc1957c001037cc9d02ae03 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: lowmemorykiller: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android lowmemorykiller driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 241e12879be74fdfadf3abc820a2e3c455599c3c Author: Mike Lockwood Date: Mon May 4 15:48:00 2009 -0700 Staging: android: timed_gpio: Separate timed_output class into a separate driver. Signed-off-by: Mike Lockwood Signed-off-by: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 5d14a573a4da521d4ed7acd0c7d8a975887b2dd2 Author: David Rientjes Date: Mon May 11 15:45:14 2009 -0700 Staging: android: lowmemorykiller: fix possible android low memory killer NULL pointer get_mm_rss() atomically dereferences the actual without checking for a NULL pointer, which is possible since task_lock() is not held. Cc: San Mehat Cc: Arve Hjønnevåg Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 34006e11ee406daa98aaf685d2de80c70e68decf Author: David Rientjes Date: Mon May 11 15:45:12 2009 -0700 Staging: android: lowmemorykiller: cleanup android low memory killer Clean up the code in lowmem_shrink() for the Android low memory killer so that it follows the kernel coding style. It's unnecessary to check for p->oomkilladj >= min_adj if the selected task's oomkilladj score is stored since get_mm_rss() will always be greater than zero. Cc: San Mehat Cc: Arve Hjønnevåg Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 31d59a4198f3f07da8250dfb5b698eacfaf612e5 Author: Arve Hjønnevåg Date: Mon May 11 15:45:10 2009 -0700 Staging: android: lowmemorykiller: Don't count free space unless it meets the specified limit by itself From: Arve Hjønnevåg This allows processes to be killed when the kernel evict cache pages in an attempt to get more contiguous free memory. Signed-off-by: Arve Hjønnevåg Cc: David Rientjes Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit f501d00144328ca9e0521d159cf80ff5c9d21d77 Author: Arve Hjønnevåg Date: Mon May 11 15:45:09 2009 -0700 Staging: android: lowmemorykiller: Only iterate over process list when needed. Use NR_ACTIVE plus NR_INACTIVE as a size estimate for our fake cache instead the sum of rss. Neither method is accurate. Also skip the process scan, if the amount of memory available is above the largest threshold set. Signed-off-by: Arve Hjønnevåg Cc: David Rientjes Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit 4900dea69fc70d145c7d6b66830de6642a4c4152 Author: Randy Dunlap Date: Fri Jun 5 11:12:03 2009 -0700 Staging: vt6655: uses pci functions, should depend on PCI This driver uses lots of pci_*() calls, so it should depend on PCI. drivers/staging/vt6655/device_main.c:3942: error: implicit declaration of function 'pci_dev_driver' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 1d69a1c65b0d25739819caef6b1f0f6ddc2ab84c Author: Forest Bond Date: Tue Jun 2 14:44:46 2009 -0400 Staging: vt6655: Integrate drivers/staging/vt6655 into build system. Integrate drivers/staging/vt6655 into build system. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 572113540886faf393fd04408c394899df98ada3 Author: Forest Bond Date: Tue Jun 2 14:44:33 2009 -0400 Staging: vt6655: use net_device_ops for management functions vt6655: use net_device_ops for management functions Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 7bb8dc2d7eb5594ec890e822bb0517446d369698 Author: Forest Bond Date: Mon Jun 1 20:00:35 2009 -0400 Staging: vt6655: Remove LINUX_VERSION_CODE preprocessor conditionals. vt6655: Remove LINUX_VERSION_CODE preprocessor conditionals. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit c9d0352914e8fdaece56c8c3ea489d7214b0353e Author: Forest Bond Date: Mon Jun 1 20:00:14 2009 -0400 Staging: vt6655: Replace net_device->priv accesses with netdev_priv calls. vt6655: Replace net_device->priv accesses with netdev_priv calls. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit e2ce5277eb9fdd6923f35b25e64ebfc7a70a03c3 Author: Forest Bond Date: Mon May 4 21:48:27 2009 -0400 Staging: vt6655: Build vt6655.ko, not viawget.ko. As you requested, this series is to be applied on top of patches 1, 2, and 6 (and replaces patches 3, 4, 5, 7, and 8) from the previous series. Build vt6655.ko, not viawget.ko. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 756f94e6386519696455a3b1a15f3d451bcf73c7 Author: Forest Bond Date: Sat Apr 25 10:32:25 2009 -0400 Staging: vt6655: Drop obsolete fsuid/fsgid accesses. drivers/staging/vt6655/device_main.c: Drop obsolete fsuid/fsgid accesses. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 1cb648b34879b79975f68728be70bae05979ae13 Author: Forest Bond Date: Sat Apr 25 10:31:32 2009 -0400 Staging: vt6655 Add includes to drivers/staging/vt6655. Add includes to drivers/staging/vt6655. These came from the includes directory in the upstream source archive. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 5449c685a4b39534f18869a93896370224463715 Author: Forest Bond Date: Sat Apr 25 10:30:44 2009 -0400 Staging: Add pristine upstream vt6655 driver sources Add pristine upstream vt6655 driver sources to drivers/staging/vt6655. These files were literally copied from the driver directory in the upstream source archive, available here: http://www.viaarena.com/Driver/vt6655_linux_src_v1.19.12_x86.zip Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit be2e10710b1c330d25e66724ef10b8aabdae4a83 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: rt2870: fix build warnings This fixes some build warnings in the rt2870 driver. Signed-off-by: Greg Kroah-Hartman commit f991a65c0cb8eaf855404a0e6c753053de08cdda Author: Roel Kluin Date: Wed May 13 20:37:54 2009 +0200 staging: rtlxxxx: off by one in AsicSendCommandToMcu() and NDIS_STATUS NICLoadFirmware() With a postfix increment i/Index is incremented beyond 100/1000 so the message will be displayed too soon. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 8d72f98abbabddd5785a668e0d24db3e739f78b4 Author: Bryan Stephenson Date: Fri May 1 21:07:53 2009 +0100 Staging: rt2860: fix for driver RT2860 to be able to connect to WPA2 networks Hi patch to change a line in the cmm_wpa.c file for the rt2860 driver so it can connect to WPA2 networks with TKIP & AES encryption Signed-off-by: Bryan Stephenson Signed-off-by: Greg Kroah-Hartman commit ddaf557500664b88951f8b1e9b4cb9d368892fd6 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:31 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/sta/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5f5d2df8ab0b5b6e8514c69b33cc92cac45cda75 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:29 2009 +0200 Staging: rt2860: prepare for rt28[67]0/sta/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 371abf6def2dfa378b8012ca1d154909e5aecb1c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:29 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/common/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 59fe2d89b6ca0c046fde77e8b504d7a250758f44 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:28 2009 +0200 Staging: rt2860: prepare for rt28[67]0/common/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3fb468abc878cb8967d063c0d10094569c987d68 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:27 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3a32ed12b69113094f0921dad50f112626cde44d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:25 2009 +0200 Staging: rt2860: prepare for rt28[67]0/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0eae1ca391ab35da89b08afde74030ced103fd86 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:24 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/sta/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e70b8c30f70f4e0acc584b879df22b9a313c88b1 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:23 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/sta/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7637949629c6fe0938666e8f7b88f944afb1f4b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:23 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/common/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ffbc7b854e1e3608eec5cc54bd8aa48c711d2996 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:22 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/common/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9e4dab715bf4934b1c857135550dde47d43ce218 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:19 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d1e4861ac22f8c7a9715732fea5117f77db58279 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:18 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 12e95a6366cbf30341e0e4330c04c6b6d8895f16 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:16 2009 +0200 Staging: rt3070: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ac7e7d5a88b9db7b7557e22893cdf94013fafa31 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:14 2009 +0200 Staging: rt2870: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 96f139ee99322060523883d4a665b10780ca3182 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:12 2009 +0200 Staging: rt2860: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2ed0b7ec56a619d53f5ad9b38105144dd75351ce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:11 2009 +0200 Staging: rt3070: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c03332c54cdb9e084721bc0539a137c0d2cebe2d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt2870: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9411329dee224246240f0349329adc90a3edbbaa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt2860: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 993709edbfece976804ae0d52385fc6315e73064 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt3070: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 303ee97d3c8c11529ab7bccc2c0a4e3f18befcee Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:08 2009 +0200 Staging: rt2870: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5a911fd648c48ba23ffbd729daad0d56c45b2b78 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:04 2009 +0200 Staging: rt2860: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f78dfebb8fc14c94900e8f6939c21f8f826c764 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:04 2009 +0200 Staging: rt3070: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fa46aa71d7362798956d11f794971b50054d19b7 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:02 2009 +0200 Staging: rt2870: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1623267ab40fb52e33b889cdb5c8b796be454a20 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:00 2009 +0200 Staging: rt2860: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3ba73067de435440b05bd29b0a7b5c9120ab1f36 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:59 2009 +0200 Staging: rt3070: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f3a9749f8d5ce80e4d588b424d36aa60cbf40091 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:57 2009 +0200 Staging: rt2870: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e08bae5ab24ee8c34e6b0c5197136af77ae12275 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:56 2009 +0200 Staging: rt2860: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7738afe3eb3bd67f4fc2e2d69c49108aed395ce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:54 2009 +0200 Staging: rt3070: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 34b33461e6405ebbf04541efda13a7f48019efcd Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:53 2009 +0200 Staging: rt2870: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2684d16649c295b4498be5459ebb1e25220e3ee9 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:51 2009 +0200 Staging: rt2860: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 84717059b36187025c6483566de6873661787c74 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:49 2009 +0200 Staging: rt3070: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bc05b159c5a7db29e38890ff1ad4b07a586896cf Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:48 2009 +0200 Staging: rt2870: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6a28a69ae8c51069c05f0a479be609fabef11790 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:46 2009 +0200 Staging: rt2860: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2bc1c810c3dd295d8f1f65b4d68077b58f435c4b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:44 2009 +0200 Staging: rt3070: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5176fae43fe1fb7c05c34b3a9867dca69284a20a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:42 2009 +0200 Staging: rt2870: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 51f94a7b1fa62bb0af30d22928820673fda3a44e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:39 2009 +0200 Staging: rt2860: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b34b33ca5d9650eb20765fe85b20f671551e5133 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:35 2009 +0200 Staging: rt3070: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2891e9087375a29701a604c70aaafb027a20f7e5 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:34 2009 +0200 Staging: rt2870: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2074a80c8b875baee92b7f040a0afd129cbcac26 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:33 2009 +0200 Staging: rt2860: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03ddd40f1451674e94f717e6a2bff58ddebf3eef Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:33 2009 +0200 Staging: rt3070: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 4ad3198c5bb223c94d1b188ea1d8433c54ae888e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:32 2009 +0200 Staging: rt2870: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 790a9093f699e83deb9d60a18ca706f4b890f976 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:29 2009 +0200 Staging: rt2860: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6108b375e9757457f5339489c286a5bb7bd088c7 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:26 2009 +0200 Staging: rt3070: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 86b9f2485dc4155a96dc7ecca1b4e71a478908c0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:25 2009 +0200 Staging: rt2870: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 720613f89377c044fb1862938dabca69ffa9200d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:24 2009 +0200 Staging: rt2860: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b28b24245f4372055d249335b2304fbe1fcd449b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:22 2009 +0200 Staging: rt3070: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 925917cfbcdf9d4651f80305e103ac6a11a7c0ae Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:21 2009 +0200 Staging: rt2870: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f55e7047505739244503f824fe6c7de17c4014c2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:18 2009 +0200 Staging: rt2860: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2d2b21bcf47a770ae964aa33dbb127b0ce58579c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:18 2009 +0200 Staging: rt3070: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7920e2647e6297925a2541994e8233fdca73fbee Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:17 2009 +0200 Staging: rt2870: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 37f9be32f71aa7cd2556b7036cdcada350a3b80d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:16 2009 +0200 Staging: rt2860: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6fabd4ea35c03ac89771182168cda0ccb69c50ac Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:16 2009 +0200 Staging: rt3070: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03a8127ebaf0681081386ea8c4073b40dd73f90f Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:14 2009 +0200 Staging: rt2870: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d439c37872d8c4f247e44c6a3118fdebf094be57 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:13 2009 +0200 Staging: rt2860: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 381116e06fa31966f91f5caba8e433534da3ab85 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:12 2009 +0200 Staging: rt3070: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bbdf6e888dfd4e8c4ee748c6d8803a1d343c5def Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:09 2009 +0200 Staging: rt2870: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0aa7c8ddc027129e876642102a99ba4b51ace624 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:07 2009 +0200 Staging: rt2860: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e554fb2f82ef2b358c688830b6605ba63cdf0d5d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:06 2009 +0200 Staging: rt3070: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9ab6d90b80c446d961f4ab7ced8b6329dea4fe66 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:04 2009 +0200 Staging: rt2870: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 72888d31af50c4e8c2732ffd557655444bf9c8a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:03 2009 +0200 Staging: rt2860: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3fce9b667919e59a4d3d6c560a713a5f2ecaf5aa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:03 2009 +0200 Staging: rt3070: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit faf9626d419059ec4f7df3e8918f98d051a2cc3a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:02 2009 +0200 Staging: rt2870: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 715cb0a4d0f0be535313440c8131fb3541537bbc Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:01 2009 +0200 Staging: rt2860: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c44f7d45fb1a61cdada3e1b23c04bba2904fc77e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:00 2009 +0200 Staging: rt3070: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cb85dd00597aa21adc4bfbeeccb4c63d7eca2885 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:59 2009 +0200 Staging: rt2870: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 924b813ba842be039217823d10d812e7a3df4114 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:58 2009 +0200 Staging: rt2860: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c57fe419b34ffef00441a4aed740e586b8202b0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:57 2009 +0200 Staging: rt3070: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5311031fde342526b848dee8a60366d35cc6675c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:56 2009 +0200 Staging: rt2870: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 186a4ecda3f95d5e2b4ac7817a68ee2f94545485 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:54 2009 +0200 Staging: rt2860: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 99db6000cf6bf662cf48c63c2fa3df7d99e0da69 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:53 2009 +0200 Staging: rt3070: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ae2d5411cd4be6784acb7c6df56ab6295a4e3922 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:52 2009 +0200 Staging: rt2870: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 063f22af9ddd24b571d0e50f76d79c276a955394 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:50 2009 +0200 Staging: rt2860: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 55468fae98bc5a47d49848c6154d1ec83dbab3f0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:48 2009 +0200 Staging: rt3070: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7baea26a2dd5ffa296eea2714d04a8fe77a05442 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:47 2009 +0200 Staging: rt2870: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c764fcf4e80b1325fab4e688ad02a48e84437983 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:47 2009 +0200 Staging: rt2860: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b11c9a03a767af38b9a8f193db8b93105ce33d94 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:46 2009 +0200 Staging: rt3070: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b5e1d5e1b3ae4f57cd14d825012a9af1f1aafdc4 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:46 2009 +0200 Staging: rt2870: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87e0e92b78a4661f8093f1d164d7be61cd165b97 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:45 2009 +0200 Staging: rt2860: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3d33a60a444dd4b1da44c0bfa6399410c37dd3c3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:44 2009 +0200 Staging: rt3070: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cfdf82bc3db57b99982bce9280ad2bf6b179ee3a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:43 2009 +0200 Staging: rt2870: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2eb457f25f0e84d268aa83098d6def2c360add98 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:42 2009 +0200 Staging: rt2860: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 625ac67a85c3be66253cfa3e2fbe4ef2b06938ff Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:41 2009 +0200 Staging: rt3070: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 80b75545adbceffebaafaea066fcea651657a62b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:40 2009 +0200 Staging: rt2870: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87502c14fea5084ab44d1c18dac0834f36a6d987 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:38 2009 +0200 Staging: rt2860: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 20ae44269b7af8cd5b9fd31413a5f9946687fd5a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:37 2009 +0200 Staging: rt2870: remove dead APCLI_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 731a617ad66ddef486777ae98ecefa0527e77e44 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:36 2009 +0200 Staging: rt2860: remove dead APCLI_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 81da7b6d8a91d8e61382534a4483a9c44c048581 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:35 2009 +0200 Staging: rt3070: remove dead MLME_EX code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7523f56d7f45b84bcc0ed50f51ae1483a0edab1 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:34 2009 +0200 Staging: rt3070: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0842e1755c3ee6d4603d597bfe9f07a83668cd86 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:33 2009 +0200 Staging: rt2870: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 16c3ea9cc0df9e6608200688be4b24a7958f45d3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:33 2009 +0200 Staging: rt2860: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c96ffc59c0a62f353e47daeff85a1ee98be9a71 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:32 2009 +0200 Staging: rt3070: remove dead *WSC_INCLUDED code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b03e645ce22b6958090abe2c27cc6a444ace3d4c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:31 2009 +0200 Staging: rt2870: remove dead WSC_AP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2fd5fa962a8697973b525251c747314fb432d231 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:30 2009 +0200 Staging: rt2860: remove dead WSC_AP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ecb5754bcfa5c7f2d99292d73669f2989d0923fc Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:30 2009 +0200 Staging: rt3070: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit af683a90efebde43771073f51a6311b9162e401a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:29 2009 +0200 Staging: rt2870: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 14b1c67b212659a80eace6edda9d95d9e2538dfa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:28 2009 +0200 Staging: rt2860: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c469e63fb2ba491a6dab822b7a0e9ed7750efe3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:27 2009 +0200 Staging: rt2860: remove dead WIN_NDIS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit be1d123abfa0377c52c3b91aa097f76aa37fd9c2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:26 2009 +0200 Staging: rt2870: remove IWE_STREAM_ADD_*() macros Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 27eff3bf2cd4800b477b6b05a1000c70a388a194 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:25 2009 +0200 Staging: rt2860: remove IWE_STREAM_ADD_*() macros Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ced2a007f70b663549737a96e65b627be9a1704c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:23 2009 +0200 Staging: rt3070: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8179af308bde85838eafa3db304da7370223ab82 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:22 2009 +0200 Staging: rt2870: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ce6ee223f0438355f4b11ace5df2a787e3fb6820 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:20 2009 +0200 Staging: rt2870: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 80fe3e5ddb7ad339810a744d3bbb6dc001404ee5 Author: Tobias Klauser Date: Sun Apr 26 15:06:09 2009 +0200 Staging: pohmelfs: 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: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit dc8284611bf7ee2e871919fa441a9c7afe4d5486 Author: Bill Pemberton Date: Wed Apr 22 08:59:15 2009 -0400 Staging: pohmelfs: Remove braces around single statements Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 3bafeab78116bb58be3cafb06b401b2973a71ed4 Author: Bill Pemberton Date: Wed Apr 22 08:59:14 2009 -0400 Staging: pohmelfs: Remove C99 comments Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov commit 385e3f1a1464b4ec27bbd92a999f05de0dabaa85 Author: Bill Pemberton Date: Wed Apr 22 08:59:13 2009 -0400 Staging: pohmelfs: move open brace to same line on structs Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 94993ce4627a6074b5472a7b8a14ba43dff2fe89 Author: Mithlesh Thukral Date: Fri Jun 5 15:33:59 2009 +0530 Staging: wlan-ng: Update README file. Remove Lindent task Remove Lindent changes as a TODO item in the wlan-ng directory of staging tree. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 75f49e07520d036c2a0903694fdc0bcfb5523b76 Author: Mithlesh Thukral Date: Mon May 25 19:06:16 2009 +0530 Staging: wlan-ng: Lindent cleanups Lindent script cleanups in wlan-ng driver in the staging tree. This is a item in the TODO list. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 1611a52c395e6036725104af3a74a0cef8ea42b8 Author: Julia Lawall Date: Tue May 5 15:47:06 2009 +0200 Staging: wlan-ng: p80211wext.c: problem with IW_ENCODE_ALG_WEP The expression !(ext->alg & IW_ENCODE_ALG_WEP) appears to be incorrect, because there are several possible values for ext->alg that give 1 when bit-anded with IW_ENCODE_ALG_WEP. Therefore Richard Kennedy suggested to rewrite the code with != Added \n at the end of the debug string as well. Signed-off-by: Julia Lawall Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f2b50b40d1241b443da43fa66ae53bae93df910a Author: Karl Relton Date: Fri May 8 20:54:17 2009 +0100 Staging: wlan-ng: Change KERN_DEBUG or pr_debug to match orig driver Change uses of KERN_DEBUG over to pr_debug to match original driver where messages are only needed during driver development. Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 76e3e7c4095237ceeb962e3bd8bdc0797fb943e1 Author: Karl Relton Date: Fri Apr 17 10:15:34 2009 +0100 Staging: wlan-ng: Move firmware loading into driver Move prism2 firmware loading from userspace into driver, using linux request_firmware(). Firmware is now loaded (if available) on device probing, before it is registered as a netdevice and advertised to userspace. Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 24b8a9dfc7746273bde5a2030e4f16391251e830 Author: Tim Gardner Date: Wed Apr 29 15:01:42 2009 -0600 Staging: winbond: mac80211 - unify config_interface and bss_info_changed The commit 'mac80211: unify config_interface and bss_info_changed' from Johannes Berg removed the config_interface structure tag from struct ieee80211_ops. The BSSID detection functionality migrated to ieee80211_ops.bss_info_changed. Since wbsoft_config_interface() was largely empty, there wasn't much to do other then to remove the function itself. There is currently no support for BSSID change detection. Signed-off-by: Tim Gardner Signed-off-by: Greg Kroah-Hartman commit dd68e1b4ff71a0c6221bd9d02a374178e7dff6f9 Author: Pekka Enberg Date: Wed Apr 8 11:51:22 2009 +0300 Staging: w35und: merge rest of wbhal.c to phy_calibration.c Impact: cleanup The remaining functions are local to phy_calibration.c so move them there and remove wbhal.c. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 40abfccbc73d2303a68ace9939167c184dd3d065 Author: Pekka Enberg Date: Wed Apr 8 11:51:21 2009 +0300 Staging: w35und: inline hal_set_rf_power() to mto.c Impact: cleanup It's a trivial wrapper that is used in only one place, so lets inline it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 22a82bcd5bc99fb7411ea8eca6e926bb0a82a6d5 Author: Pekka Enberg Date: Wed Apr 8 11:51:20 2009 +0300 Staging: w35und: merge wbhal.c to wbusb.c Impact: cleanup This patch moves all the functions in wbhal.c that are used only in wbusb.c to the latter file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit c6e523c0cbb610cc59f6afebfdeff751dd4601bd Author: Pekka Enberg Date: Wed Apr 8 11:51:19 2009 +0300 Staging: w35und: reformat wbhal.c Impact: cleanup In preparation for merging wbhal.c with wbusb.c, use Lindet to reformat the file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 833d0cd39ea0f1619e6ae9fa322d07761d59a8a3 Author: Pekka Enberg Date: Wed Apr 8 11:14:06 2009 +0300 Staging: w35und: make led lookup tables static Impact: cleanup No need to keep read-only data on the stack. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7c49a0ac1294caa4ac791181c250f0b86d18a043 Author: Pekka Enberg Date: Wed Apr 8 11:14:05 2009 +0300 Staging: w35und: remove MODULE_AUTHOR Impact: cleanup The contact details in MODULE_AUTHOR do not reflect current state of affairs so remove it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a32b9810d920e28072b955ed020f21672fa7eac5 Author: Pekka Enberg Date: Wed Apr 8 11:14:04 2009 +0300 Staging: w35und: reformat wbusb.c Impact: cleanup Use scripts/Lindent on the file and clean up the rest by hand. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 9ca748ce517a09068a897fddf9672f2a3286573f Author: Pekka Enberg Date: Wed Apr 8 11:14:03 2009 +0300 Staging: w35und: inline hal_set_phy_type() to wb35_hw_init() Impact: cleanup The hal_set_phy_type() is called in wb35_hw_init() only so inline the function there. Also remove a redundant assignment of ->phy_type to RF_WB_242_1. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit bdbb8839567c38f15bfba95e7df8a73a45f49067 Author: Pekka Enberg Date: Wed Apr 8 11:14:02 2009 +0300 Staging: w35und: clean up comments in wbusb.c Impact: cleanup Remove some useless comments and clean up others. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit f592a859b2e9d17182bbef71c79851505e3592b8 Author: Pekka Enberg Date: Wed Apr 8 11:14:01 2009 +0300 Staging: w35und: simplify hal_init_hardware() and hal_halt() Impact: cleanup Now that hal_halt() is called from wb35_hw_halt() only where ->InitialResource is always set to 4, we can simplify hal_init_hardware() and hal_halt(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a39ee671746b6483c6a259fef755a4a3e475e3e4 Author: Pekka Enberg Date: Wed Apr 8 11:14:00 2009 +0300 Staging: w35und: more simplify hal_init_hardware() error handling Impact: fix, cleanup If initialization in hal_init_hardware() fails, we call hal_halt() to clean up and release resource. However, hal_halt() will attempt to call del_timer_sync() on ->LEDTimer on "stage 3" although it's not initialized at that point. Fix that up by simplifying error handling logic in hal_init_hardware() with gotos. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 00e2e05dd08bc15b09514f5ce35f0b9a3534e9ba Author: Pekka Enberg Date: Wed Apr 8 11:13:59 2009 +0300 Staging: w35und: simplify hal_init_hardware() error handling Impact: cleanup Use gotos to simplify the deep if-statement nesting in hal_init_hardware(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit cfe31f81e1ba7e0c590fc1f2fd688309b685654a Author: Pekka Enberg Date: Wed Apr 8 11:13:58 2009 +0300 Staging: w35und: simplify error handling in wb35_hw_init() Impact: cleanup Change hal_init_hardware() to return an error code rather than a boolean to simplify error handling in wb35_hw_init(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 80767e6e1e545b5cd7e7c6962fe0e06589d48ae2 Author: Pekka Enberg Date: Wed Apr 8 11:13:57 2009 +0300 Staging: w35und: move hal_init_hardware() and hal_halt() int wbusb.c Impact: cleanup The hal_init_hardware() and hal_halt() functions are only used in wbusb.c so move them there. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 2659851122f6bd822ff3a9a4a13453303c9b5d8e Author: Pekka Enberg Date: Wed Apr 8 11:13:56 2009 +0300 Staging: w35und: replace switch error handling with gotos in wb35_hw_init() Impact: cleanup This patch replaces the switch-based error handling in wb35_hw_init() with regular gotos. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 6ab32127205adf6c16942fdc2e3ee10f2b20bce5 Author: Pekka Enberg Date: Fri Mar 27 19:46:45 2009 +0200 Staging: w35und: remove unused code from wbsoft_configure_filter() We don't initialize hardware multicast filter in the driver nor do we know how to do that. Therefore, remove some code that isn't actually used from wbsoft_configure_filter(). Cc: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 290d4c23506545633878132860cc7d4fac0da23e Author: Diego Liziero Date: Tue Apr 14 04:33:54 2009 +0200 Staging winbond: boolean negation and bitwise operation in wrong order The semantic patch that makes this change is: (http://www.emn.fr/x-info/coccinelle/) @@ expression E; constant C; @@ ( - !E == C + E != C ) Signed-off-by: Diego Liziero Signed-off-by: Greg Kroah-Hartman commit 5aaeab6606dc06bea229bf2774ac1661923c2f07 Author: Roel Kluin Date: Wed May 20 02:36:29 2009 +0200 Staging: otus: beyond ARRAY_SIZE of wd->ap.wds.encryMode Do not go beyond ARRAY_SIZE of wd->ap.wds.encryMode Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit afbd545d35fe8ae67e560b0e1ab348fb2338c06d Author: Dragoslav Zaric Date: Sun Apr 26 10:19:02 2009 +0200 Staging: otus: 80211core/ccmd.c: Fix Coding Style Signed-off-by: Dragoslav Zaric Signed-off-by: Greg Kroah-Hartman commit 7690e63deae3b8d57ef201cae1ff590492cf84e5 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 Staging: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Leon Woestenberg Signed-off-by: Greg Kroah-Hartman commit 5355d8cac2a036471c1e739ee5aa1514973ed114 Author: Roel Kluin Date: Thu Apr 16 22:22:40 2009 +0200 Staging: fix operator precedence errors `!' has a higher precedence than `&' and `|' has a higher precedence than `?' Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit f71fb77c29c83ef22ebd07fffd0581f2bec69b62 Author: Alexander Beregalov Date: Sat Apr 11 23:03:04 2009 +0400 Staging: stlc45xx: replace print_mac with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 727cbafa51bfaab788250bd3a3ba5e09f3bccf0b Author: Huang Weiyi Date: Mon Apr 6 17:20:29 2009 +0800 Staging: remove unused #include 's Remove unused #include 's. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 2eae4f01e1c539be7f114541f9bf01a08878e8af Author: Huang Weiyi Date: Mon Apr 6 17:20:23 2009 +0800 Staging: rt3070: remove dupilcated #include Remove dupilcated #include in drivers/staging/rt3070/rt_linux.h. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 50fdd347df40cab641289dcde8480f89da8d130f Author: Roel Kluin Date: Mon May 18 17:31:36 2009 +0200 Staging: rtl8187se: wmm_param[1].ac_aci_acm_aifsn tested twice wmm_param[1].ac_aci_acm_aifsn was tested twice, the second should have been wmm_param[3].ac_aci_acm_aifsn. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 727ae3032519e56a3b35e44baa96125ee240dd70 Author: Alexander Beregalov Date: Sun May 10 03:06:54 2009 +0400 Staging: rtl8187se: convert to net_device_ops Signed-off-by: Alexander Beregalov Acked-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 5f546031b6be34285ee9fe6c5bcc9e12e6a9240d Author: Jean Delvare Date: Fri Apr 3 17:46:49 2009 +0200 Staging: rtl8187se: Use to_delayed_work Use the recently added to_delayed_work() helper function. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 2fefd5f6688deaaac96497426677ef1333b5982b Author: Anders Kaseorg Date: Tue Mar 24 16:41:55 2009 -0400 Staging: rt2870: Don't call sprintf() with overlapping input and output. The use of sprintf() to append to a buffer, as in sprintf(buf, "%sEntry: %d\n", buf, i) is not valid according to C99 ("If copying takes place between objects that overlap, the behavior is undefined."). It breaks at least in userspace under gcc -D_FORTIFY_SOURCE. Replace this construct with sprintf(buf + strlen(buf), "Entry: %d\n", i) This patch was automatically generated using perl -0pe 's/(sprintf\s*\(\s*([^,]*))(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3$4/g' perl -0pe 's/(snprintf\s*\(\s*([^,]*))(\s*,[^,]*?)(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3 - strlen($2)$4$5/g' Signed-off-by: Anders Kaseorg Signed-off-by: Greg Kroah-Hartman commit 32c976bca43814be70d6062885be80673ffd66fc Author: Anders Kaseorg Date: Tue Mar 24 16:40:41 2009 -0400 Staging: rt2860: Don't call sprintf() with overlapping input and output. The use of sprintf() to append to a buffer, as in sprintf(buf, "%sEntry: %d\n", buf, i) is not valid according to C99 ("If copying takes place between objects that overlap, the behavior is undefined."). It breaks at least in userspace under gcc -D_FORTIFY_SOURCE. Replace this construct with sprintf(buf + strlen(buf), "Entry: %d\n", i) This patch was automatically generated using perl -0pe 's/(sprintf\s*\(\s*([^,]*))(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3$4/g' perl -0pe 's/(snprintf\s*\(\s*([^,]*))(\s*,[^,]*?)(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3 - strlen($2)$4$5/g' Signed-off-by: Anders Kaseorg Signed-off-by: Greg Kroah-Hartman commit d75b81a803bd93784d854bea13668db9dd75ff02 Author: Alessio Igor Bogani Date: Tue Mar 24 19:30:26 2009 +0100 Staging: rt3070: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit a970ff45c9228472fd9c3ea62357ea7a9cbc8ce3 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: sxg: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit eb48d1f8f3a40f228969f3a54d97e677d4a0d135 Author: Alessio Igor Bogani Date: Tue Mar 24 19:29:45 2009 +0100 Staging: sxg: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit 01c2c2348f1c1bfaf564ed93226280970d4cb6df Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: meilhaus: fix build warnings This fixes some build warnings in the meilhaus driver. Signed-off-by: Greg Kroah-Hartman commit 152cc3975353961e66ead09ee8e15ad3a82c2670 Author: Robert P. J. Day Date: Sat May 9 09:40:14 2009 -0400 Staging: meilhaus: Remove long-deprecated SA_* interrupt macros. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit dd96864204959c6bb707dfb8ab6f109b65cbf414 Author: Jiri Slaby Date: Thu Mar 26 09:34:13 2009 +0100 staging: meilhaus, move tables to .c Remove pci and usb tables from the header and place them directly in the code. While at it, use PCI_VDEVICE() to shorten the code. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit 8f456df9c9471bc1178725ae446a8a64285042ca Author: Jiri Slaby Date: Thu Mar 26 09:34:12 2009 +0100 staging: meilhaus, annotate cpi functions Add __devinit and __devexit to pci probe/remove. Also make pci_driver static. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit 1cd590481edcd186dcdba7cae5a7bd5c47dfdb92 Author: Jiri Slaby Date: Thu Mar 26 09:34:11 2009 +0100 staging: meilhaus, switch to misc device There is no need to occupy one major number because of one device. Switch to misc device, which also emits uevent, so that the dev node is also created by udev. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit f94338f64dff31c6aadd37204fa27c1c5918dde9 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: agnx: fix build warnings This fixes some build warnings in the agnx driver. Signed-off-by: Greg Kroah-Hartman commit c2c5be8b58ce48d39809663dd9fa944032f7d7a0 Author: Alexander Beregalov Date: Sat Apr 11 23:01:21 2009 +0400 Staging: agnx: replace print_mac with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 5e436d09cec1eae3b3c17580c682cf1a42e595f8 Author: Jiri Slaby Date: Thu Mar 26 09:34:10 2009 +0100 staging: agnx, fix bssid compiler warnings conf->bssid is const. Propagate const to not get compiler warnings: agnx/pci.c: In function ‘agnx_config_interface’: agnx/pci.c:319: warning: passing argument 2 of ‘agnx_set_bssid’ discards qualifiers from pointer target type agnx/pci.c:321: warning: passing argument 2 of ‘hash_write’ discards qualifiers from pointer target type Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 8af6caf5d37aaa56911c15f9a7386fe93ff01f7e Author: Jiri Slaby Date: Thu Mar 26 09:34:09 2009 +0100 staging: agnx, fix fail paths in probe Return error on fail paths instead of 0. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit a505fe716de71e0b52db9f13d9bfe93d42a31fbc Author: Jiri Slaby Date: Thu Mar 26 09:34:08 2009 +0100 staging: agnx, remove memlens from probe Pass 0 to pci_iomap instead. It will cope with that per se. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 9c2a6105bf2250196312b3a389fbe705a56db451 Author: Jiri Slaby Date: Thu Mar 26 09:34:07 2009 +0100 staging: agnx, probe cleanup - switch printks to dev_* - remove useless comments - remove useless prints (for info we can obtain from lspci or /sys) Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f9c51375644e39f9626a4be4101e22d4841980a8 Author: Randy Dunlap Date: Fri Jun 5 11:10:42 2009 -0700 Staging: comedi: uses udelay, needs delay.h comedi driver(s) use udelay() so they need to #include delay.h. drivers/staging/comedi/drivers/adq12b.c: In function 'adq12b_ai_rinsn': drivers/staging/comedi/drivers/adq12b.c:328: error: implicit declaration of function 'udelay' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3a5e32ddcb04d7a2bed86323ca22da51d3a810bd Author: Gerard Lledo Date: Wed May 27 17:35:19 2009 +0300 Staging: comedi: cb_pcidas.c: Fix build warning (type mismatch) spin_lock_irqsave expects flags to be unsigned long, not unsigned int. Signed-off-by: Gerard Lledo Signed-off-by: Greg Kroah-Hartman commit efe8d60a923ddd00de394381cb30aab5114b71a4 Author: Bernd Porr Date: Sun May 24 20:36:09 2009 +0100 Staging: comedi: usbdux: buffer overflow error handling These changes guarantee that the URBs are not resubmitted in case of a comedi buffer overflow. Otherwise this runs in the background even when the userspace program has terminated. From: Bernd Porr Signed-off-by: Greg Kroah-Hartman commit 0b8f754a6220158f2348bc6eae2772bc64bc98a2 Author: Bill Pemberton Date: Thu May 14 15:24:29 2009 -0400 staging: comedi: Move pcm do_cmdtest function into a single source file Many of the comedi source code has functions that were created with cut and paste, this moves the do_cmdtest function into a single file. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 214e7b5c8281bf41238f575128e4fec5652ed797 Author: Bill Pemberton Date: Thu May 14 15:24:28 2009 -0400 staging: comedi: Remove MIN macro Remove the MIN() macro and instead use the min() provided by kernel.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f764df88f86c8db669bd7bfac230b9d2689ae322 Author: Roel Kluin Date: Thu May 14 13:58:26 2009 +0200 staging: comedi: fix missing parentheses Add missing parentheses. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit c3e2354e3720d51afada9ac6923517c5444d7cbb Author: Alexander Beregalov Date: Wed May 13 17:23:42 2009 +0400 Staging: comedi: data.c should include delay.h Fix this build error: .../data.c:86: error: implicit declaration of function 'udelay' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit de4545cdfd9f3521b3402c0228b8d4ecdd97f7ec Author: Alexander Beregalov Date: Wed May 13 17:00:47 2009 +0400 Staging: comedi: comedi_test.c should include timer.h Fix this build error: .../comedi_test.c:82: error: field timer has incomplete type .../comedi_test.c: In function waveform_ai_interrupt: .../comedi_test.c:188: error: implicit declaration of function mod_timer .../comedi_test.c:188: error: jiffies undeclared (first use in this function) Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit dc7423c885dc1396710e18770b3c4ab3bdb71805 Author: Greg Kroah-Hartman Date: Tue Jun 2 11:51:04 2009 -0700 staging: comedi: fix pcmcia build breakage Add PCCARD dependancy to the PCMCIA drivers to fix build breakage. Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 985cafccbf9b7f862aa1c5ee566801e18b5161fb Author: Manuel Gebele Date: Sun May 10 12:00:43 2009 +0200 Staging: Comedi: vmk80xx: Add k8061 support This patch adds support for the Velleman K8061 USB board http://www.velleman.be/ot/en/product/view/?id=364910 Signed-off-by: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit ba7834b3f335f6bdef95e416d72245f6687cc660 Author: Bill Pemberton Date: Sun Apr 26 14:45:12 2009 -0400 Staging: comedi: simply read and write functions in adl_pci8164 There are several read and write functions in adl_pci8164 that are essentially the same thing. They were created with a cut and paste. Change them to use a common function. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8605b3aa0c107b5df59e99dbde2e708aa0012efd Author: Bill Pemberton Date: Sun Apr 26 14:45:11 2009 -0400 Staging: comedi: replace for loop with msleep() Replace 2 attempts to use a for loop as a sleep with a call to msleep(). Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fcea115462c690ba09f9df7471d60dda0d86a4ea Author: Greg Kroah-Hartman Date: Mon Apr 27 15:15:30 2009 -0700 Staging: comedi: remove some RT code that lingered This removes some pieces of RT code that was part of the main code paths. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 25436dc9d84f1be60ff549c9ab712bba2835f284 Author: Greg Kroah-Hartman Date: Mon Apr 27 15:14:34 2009 -0700 Staging: comedi: remove RT code This removes the unused RT code from the comedi subsystem. A lot of drivers needed to then include interrupt.h on their own, as they were picking it up through the comedi_rt.h inclusion. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 5f74ea14c07fee91d3bdbaad88bff6264c6200e6 Author: Greg Kroah-Hartman Date: Mon Apr 27 14:44:31 2009 -0700 Staging: comedi: remove comedi-specific wrappers There are a number of comedi "wrappers" for some RT functions that are about to go away. This patch removes all of the wrapper calls within the comedi drivers and core in order to prepare for removing the RT comedi code. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 81874ff7895f332920621104308e803434a17183 Author: Bernd Porr Date: Fri Apr 17 21:21:46 2009 +0100 Staging: comedi: convert usbdux* to use firmware_request The firmware is now in the linux-firmware tree, so we can move these two drivers to use the proper request_firmware infrastructure. From: Bernd Porr Signed-off-by: Greg Kroah-Hartman commit ff89514f8d46f470ffafeda129138ce73efd4c60 Author: Bill Pemberton Date: Thu Apr 23 15:54:58 2009 -0400 Staging: comedi: move while to same line as } in do loops Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c4d30ee861c3a3a361f934e6f96b1d07a2889976 Author: Bill Pemberton Date: Thu Apr 23 15:54:57 2009 -0400 Staging: comedi: comment out useless if This if test doesn't do anything, so comment it out. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8629efa4cbf6f89a54a85af4b8bc31762af01800 Author: Bill Pemberton Date: Thu Apr 23 15:54:56 2009 -0400 Staging: comedi: make use of ARRAY_SIZE macro Replace instances of computing number of elements in an array with sizeof(foo)/sizeof(struct footype) with the ARRAY_SIZE macro. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b4918808debc62daaa189ecbdfca489c00b1061d Author: Bill Pemberton Date: Thu Apr 23 15:54:55 2009 -0400 Staging: comedi: more fix the way structs are initialized. Change from the foo: bar format to the .foo = bar format. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 814900c904140cfe7f3e48cabec06b3eec57e0ea Author: Bill Pemberton Date: Thu Apr 23 15:54:54 2009 -0400 Staging: comedi: more fix "foo * bar" should be "foo *bar" Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9b9bcba0cafa2578cebbe0eca01eaafd49f3e43b Author: Bill Pemberton Date: Thu Apr 23 15:54:53 2009 -0400 Staging: comedi: remove space after ampersand Change calses of & foo to &foo as suggested by checkpatch. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 56e9e16619a0c14dc948cf88b3a7aaa70ac92b45 Author: Bill Pemberton Date: Thu Apr 23 15:54:52 2009 -0400 Staging: comedi: more remove C99 comments Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 68c3dbff9fc9f25872408d0e95980d41733d48d0 Author: Bill Pemberton Date: Wed Apr 22 21:11:49 2009 -0400 Staging: comedi: fix the way structs are initialized. Change from the foo: bar format to the .foo = bar format. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit dae0dc30be7fa21b15a9d9534589286c6c3e68a3 Author: Bill Pemberton Date: Wed Apr 22 21:11:48 2009 -0400 Staging: comedi: Remove parens around return values Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c3744138715045adb316284ee7a1e608f0278f6c Author: Bill Pemberton Date: Wed Apr 22 21:11:47 2009 -0400 Staging: comedi: remove assignment in conditionals Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 46dbd1486e6c75f8cd136e3899015906f83cd8de Author: Roel Kluin Date: Thu Apr 23 12:23:14 2009 +0200 Staging: comedi: non working tests on unsigned cmd->convert_arg Remove tests for negative unsigned. Signed-off-by: Roel Kluin Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0de302fd96535996350e663022d4e745fbaea2f9 Author: Manuel Gebele Date: Sun Apr 19 14:46:01 2009 +0200 Staging: comedi: Makefile changes this patch will sort the 'Comedi USB drivers' section in the staging/comedi/drivers/Makefile in alphabetical order, and add the vmk80xx.c driver to the build. From: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit b153d83efb3d0ea15f5e6c7dced98fadc66531de Author: Greg Kroah-Hartman Date: Wed Apr 22 10:29:33 2009 -0700 Staging: comedi: vmk80xx.c: get the driver to build properly There have been changes in the comedi core, this fixes the vmk80xx.c driver to work properly with them, so it now will build properly. Cc: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit 3faad67335e16863b2a143a61eedb5ac055c74c6 Author: Manuel Gebele Date: Wed Apr 22 10:28:18 2009 -0700 Staging: comedi: add vmk80xx USB driver The k80xx module was completely revised again. The update contains the following new main features: - support for digital input - support for digital output - support for pulse counters - support up to 16 boards (by the way, the windows driver and the k8055 library (libk8055) has support for only 4 boards) The driver can now manage all features what the board has to offer: - analog input/output - digital input/output - pulse counters (read, reset, set debounce time) I've also fixed some mistaken in the drivers source code/logic. By testing all of the driver features i got no errors or something else. The driver works fine.... From: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit 356cdbcb838ebcc234a43ec81621a39231fdcb7a Author: Bill Pemberton Date: Thu Apr 9 16:07:27 2009 -0400 Staging: Comedi: change space indentation to tabs Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 53106ae68acf6eda9593150a25fc44e30fd5ff68 Author: Bill Pemberton Date: Thu Apr 9 16:07:21 2009 -0400 Staging Comedi: fix spacing around parens Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f7cbd7aad063b2a4b7aff6a743b2b00015ce3c3e Author: Bill Pemberton Date: Thu Apr 9 16:07:16 2009 -0400 Staging: comedi: Add spaces after commas Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit da91b2692e0939b307f9047192d2b9fe07793e7a Author: Bill Pemberton Date: Thu Apr 9 16:07:03 2009 -0400 Staging: comedi: fix "foo * bar" should be "foo *bar" Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9096a4eaf4a608d9465f993f48ad9d6c38144b8e Author: Huang Weiyi Date: Mon Apr 6 17:20:17 2009 +0800 Staging: comedi: remove dupilcated #include Remove dupilcated #include in drivers/staging/comedi/drivers/8253.h. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit ddcb01d458e8cbe33c76e4af11636257e8a14cb0 Author: Alessio Igor Bogani Date: Tue Mar 24 19:30:57 2009 +0100 Staging: comedi: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit c5331be12e76679eebd91f0a6a8d58fe76e75b38 Author: Frank Mori Hess Date: Tue Apr 14 12:59:47 2009 -0400 Staging: comedi: jr3_pci: Use struct device from pci_dev for firmware loading. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 883db3d9bb4d50f05cbb8b5197f6aef10c1231a9 Author: Frank Mori Hess Date: Tue Apr 14 11:21:41 2009 -0400 Staging: comedi: Added sysfs attribute files for setting and querying subdevice buffer sizes. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 0d6e5dad12c5a2860e3d13b4d7a4702f90386003 Author: Ian Abbott Date: Tue Apr 14 11:06:27 2009 -0400 Staging: comedi: amplc_pc236: Corrected documentation. Interrupt is triggered by rising edge on port C bit 3 (not bit 7). From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 4bde29ed2220c3089e93258e476e3a7f4fc388a1 Author: Ian Abbott Date: Tue Apr 14 11:04:24 2009 -0400 Staging: comedi: Undo stupid commit made 3 months ago Undo stupid commit made 3 months ago : "Fix redefinition of macro comedi_rt_task_context_t". It wasn't being redefined, it was being defined for RTLinux. From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 5b32f4397a93a2819a71438a7ba11650529827e8 Author: Ian Abbott Date: Tue Apr 14 11:01:50 2009 -0400 Staging: comedi: Work around malformed RTAI_VERSION_CODE. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 894db119734772c3694233bf2c9f7440a70d7736 Author: Frank Mori Hess Date: Tue Apr 14 10:55:09 2009 -0400 Staging: Comedi: ni_600x: Added support for comedi_poll. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit e21de1a8e592898fb0426c40b11e19acc4b16fdf Author: Ian Abbott Date: Tue Apr 14 10:39:53 2009 -0400 Staging: comedi: pcl818: Tidy up AI command after channel dropout or similar error. It was causing subsequent commands to fail with -EBUSY. From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit a71f18d2a1ca1b3a0e1e46f3c7259829d4d33f47 Author: Ian Abbott Date: Tue Apr 14 10:33:42 2009 -0400 Staging: comedi: pcl818: Fix option handling for FIFO mode (hopefully!). Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 6a2436e48485cd8c11263f6ebdad356a147cc068 Author: Frank Mori Hess Date: Mon Apr 6 14:01:19 2009 -0400 Staging: comedi: Fixed Kconfig option for COMEDI_PCMCIA_DRIVERS Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 056d3ce5cfe3544b297e6bc90ffbbb317e7bbbff Author: Greg Kroah-Hartman Date: Fri Apr 17 09:51:01 2009 -0700 Staging: comedi: set PCI and PCMCIA defines The comedi drivers are looking for CONFIG_COMEDI_PCI and CONFIG_COMEDI_PCMCIA, not the current config items. This creates a define so that things build properly when these options are selected. Long term goal is to fix up the drivers to not need any defines. Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 72a822807272f8bb29a527e7e3c60efc7032a9ba Author: Greg Kroah-Hartman Date: Fri Apr 17 09:50:08 2009 -0700 Staging: comedi: fix build errors in pcmcia comedi drivers This fixes a few minor build errors that were previously undetected in the comedi pcmcia drivers. Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit de15d7fcd6452894e82657fb44b7b93c2afe97a4 Author: Ian Abbott Date: Mon Apr 6 15:10:30 2009 -0400 Staging: comedi: 'pcmcia_parse_tuple()' now has two arguments, not three. This fixes the build error in the cv_das16_cs driver From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2ce492f5cb8ccb404afff3d29dd6f85dad9bfb01 Author: Frank Mori Hess Date: Mon Apr 6 15:13:04 2009 -0400 Staging: comedi: Finish removing ni_private typedef This fixes compilation of ni_mio_cs.c that was broken. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2696fb57e6af653dd8b4df41b16754579f42fc78 Author: Bill Pemberton Date: Fri Mar 27 11:29:34 2009 -0400 Staging: comedi: Remove C99 comments Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 70265d24e3404fe798b6edd55a02016b1edb49d7 Author: Jiri Slaby Date: Thu Mar 26 09:34:06 2009 +0100 staging: comedi, remove interrupt.h Remove interrupt wraparound. Use defines from linux/interrupt.h instead. Change also parameter types of functions taking ISR to irq_handler_t. Signed-off-by: Jiri Slaby Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 232f650253a04b52def9974f47c15f086f7772a5 Author: Bill Pemberton Date: Fri Mar 27 11:31:27 2009 -0400 Staging: comedi: remove C99 comments in s526.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 58c0576eea94298e698e03114c4d3d0179c5ef66 Author: Bill Pemberton Date: Fri Mar 27 11:31:22 2009 -0400 Staging: comedi: remove C99 comments in pcl816.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 701a91f1e57b7e349af35cc0993e4145ca041c0c Author: Bill Pemberton Date: Fri Mar 27 11:31:16 2009 -0400 Staging: comedi: remove C99 comments in pcl724.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f6b49620a43ca661246d209009b849d7d3030cae Author: Bill Pemberton Date: Fri Mar 27 11:31:11 2009 -0400 Staging: comedi: remove C99 comments in ni_labpc.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 30c687c1b8f4977ad72c544dfcccb27586d0a72c Author: Bill Pemberton Date: Fri Mar 27 11:31:06 2009 -0400 Staging: comedi: remove C99 comments in ni_at_a2150.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 79a31bae80df12e3cd19a831e7eacfbc4dc555a0 Author: Bill Pemberton Date: Fri Mar 27 11:31:00 2009 -0400 Staging: comedi: remove C99 comments in mpc624.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c52c19c33617cb76e2cec7d9555c30f2505e69e4 Author: Bill Pemberton Date: Fri Mar 27 11:30:55 2009 -0400 Staging: comedi: remove C99 comments in gsc_hpdi.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6eef3af5ddb1fa9c05c2f6457c23c4cfe9d83470 Author: Bill Pemberton Date: Fri Mar 27 11:30:50 2009 -0400 Staging: comedi: remove C99 comments in cb_pcimdas.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf530aa4385c97f668d76c8268d509ef9edebb70 Author: Bill Pemberton Date: Fri Mar 27 11:30:44 2009 -0400 Staging: comedi: remove C99 comments in cb_pcidas.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9ef4dea6eb9ff671ffd62f5304c7d8de716807a2 Author: Bill Pemberton Date: Fri Mar 27 11:30:39 2009 -0400 Staging: comedi: remove C99 comments in cb_pcidas64.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a438139a8963839a9b14709286075b2e38cf9e0 Author: Bill Pemberton Date: Fri Mar 27 11:30:34 2009 -0400 Staging: comedi: remove C99 comments in c6xdigio.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d6d9bd32a02bd6da4ea3412f0b5131cc5a442399 Author: Bill Pemberton Date: Fri Mar 27 11:30:28 2009 -0400 Staging: comedi: remove C99 comments in adv_pci1723.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0f04c356551f9ae55d9a0c5ea211699903cf1f93 Author: Bill Pemberton Date: Fri Mar 27 11:30:23 2009 -0400 Staging: comedi: remove C99 comments in adl_pci9118.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 14458b19e51d434990d9a8c110ddeefd09678e64 Author: Bill Pemberton Date: Fri Mar 27 11:30:18 2009 -0400 Staging: comedi: remove C99 comments in adl_pci6208.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1efd18f0cca7251a283625e07dbb4ec8e95a4b6b Author: Bill Pemberton Date: Fri Mar 27 11:30:12 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci3120.c This replaces C99 comments with traditional C comments. This also removes 3 blocks of code that were already commented out. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f147598bc19efbb6ef1f34ae022b2d29d3ca3837 Author: Bill Pemberton Date: Fri Mar 27 11:30:07 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci3200.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b58d9b17db71e5d6f7531e9a922f37aa9aae5bdb Author: Bill Pemberton Date: Fri Mar 27 11:30:01 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci1564.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0110c4432aab7f119d38d1389964e51685721ed4 Author: Bill Pemberton Date: Fri Mar 27 11:29:56 2009 -0400 Staging: comedi: remove C99 comments in APCI1710_Pwm.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c47375f3de0f478d8c2c0ce210cb2c5aeb1b411f Author: Bill Pemberton Date: Fri Mar 27 11:29:51 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci1500.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0109253dee3d211619876d3345ecc4c312d1b153 Author: Bill Pemberton Date: Fri Mar 27 11:29:45 2009 -0400 Staging: comedi: remove C99 comments in pcl818.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a351ecf3081f94796cf915dba820f9f5e62c43cf Author: Bill Pemberton Date: Fri Mar 27 11:29:40 2009 -0400 Staging: comedi: remove C99 comments in das1800.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf0fd1086cbb55fb5c0ecbd652fec34335fb7657 Author: Bill Pemberton Date: Fri Mar 27 11:29:29 2009 -0400 Staging: comedi: remove C99 comments in APCI1710_82x54.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ed27614451c3f35412b83aabdcd4af6d76be7cd7 Author: Bill Pemberton Date: Fri Mar 27 11:29:23 2009 -0400 Staging: comedi: remove C99 comments in acl7225b.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 67d83b4fb96ab304a47ba5af9a99818b38c9fd3e Author: Bill Pemberton Date: Fri Mar 27 11:29:18 2009 -0400 Staging: comedi: remove C99 comments in 8253.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a037d5f655fbf1853d28cd8a02ffe5c466d81a5 Author: Bill Pemberton Date: Wed Mar 25 11:06:30 2009 -0400 Staging: comedi: Remove str_AnalogInputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0a4eb4b6c7c12730254be53d93a67ed2955d5c66 Author: Bill Pemberton Date: Wed Mar 25 11:07:01 2009 -0400 Staging: comedi: Remove labpc_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9ad007403fa4326586060e443ee344697daa60ec Author: Bill Pemberton Date: Wed Mar 25 11:06:56 2009 -0400 Staging: comedi: Remove labpc_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 70275063e44f0005149f17a74d03c8e7937b33bc Author: Bill Pemberton Date: Wed Mar 25 11:06:51 2009 -0400 Staging: comedi: Remove str_ADDIDATA_RTDStruct typedef in addi-data/hwdrv_apci3200 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0a4de47be0cd74c6665a5519c40f692dbbd54110 Author: Bill Pemberton Date: Wed Mar 25 11:06:45 2009 -0400 Staging: comedi: Remove str_BoardInfos typedef in addi-data/hwdrv_apci3200 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ecab384b155816ce1579eeb8f1dcbdbc0e9fe4e0 Author: Bill Pemberton Date: Wed Mar 25 11:06:40 2009 -0400 Staging: comedi: Remove str_Module typedef in addi-data/hwdrv_apci3200.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0077f93c5a7fa82857f6b50a3be5f732e0079e1c Author: Bill Pemberton Date: Wed Mar 25 11:06:35 2009 -0400 Staging: comedi: Remove str_AnalogReadInformation typedef in addi-data/hwdrv_apci3120.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 73b0d70aeb089bcfa131d8f14f547dcd933335d6 Author: Bill Pemberton Date: Wed Mar 25 11:06:19 2009 -0400 Staging: comedi: Remove str_TimerMainHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cc0ea813f2f3027f43e7233add423be676dd8ff3 Author: Bill Pemberton Date: Wed Mar 25 11:06:13 2009 -0400 Staging: comedi: Remove str_TimerDetails typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d2e0cc9ae156b1b9d6143d6b1855e515c93a7997 Author: Bill Pemberton Date: Wed Mar 25 11:06:08 2009 -0400 Staging: comedi: Remove str_DigitalOutputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a28f34b7e9c41464bb70a3dfe849efe74084e45d Author: Bill Pemberton Date: Wed Mar 25 11:06:03 2009 -0400 Staging: comedi: Remove str_DigitalInputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8881b568bf6665a6705daf2251ce40526ee4691d Author: Bill Pemberton Date: Wed Mar 25 11:05:57 2009 -0400 Staging: comedi: Remove str_MainHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e320671e6356ad589b7433c3fd5eff4c742a500e Author: Bill Pemberton Date: Wed Mar 25 11:05:52 2009 -0400 Staging: comedi: Remove addi_private typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b4ce4f165c4d081f6b6e969f800d9e37c3ac1d73 Author: Bill Pemberton Date: Wed Mar 25 11:05:47 2009 -0400 Staging: comedi: Remove str_ModuleInfo typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a770eca8a679741dbe32207858638bb0ca71e38 Author: Bill Pemberton Date: Wed Mar 25 11:05:41 2009 -0400 Staging: comedi: Remove boardtype typedef in addi-data typedef for boardtype removed and struct renamed to addi_board Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c09a82cedcda1541adf81f19d86a7773f3f87c6 Author: Bill Pemberton Date: Wed Mar 25 11:05:36 2009 -0400 Staging: comedi: Remove PCRANGE typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a3435c92d0625cbba28bd12bbbf708bbf5675f3f Author: Bill Pemberton Date: Wed Mar 25 11:05:30 2009 -0400 Staging: comedi: Remove ULONG_PTR typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 756e9d7ca6292ba21a6a63bf35ed1abc5250b98d Author: Bill Pemberton Date: Wed Mar 25 11:05:25 2009 -0400 Staging: comedi: Remove DWORD and *PDWORD typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 82a6e2e7ab47b940d5d1d7c1d13498be27f238f8 Author: Bill Pemberton Date: Wed Mar 25 11:05:20 2009 -0400 Staging: comedi: Remove ULONG and *PULONG typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2b6257c53425df60de153f1906183f4c9391a45b Author: Bill Pemberton Date: Wed Mar 25 11:05:14 2009 -0400 Staging: comedi: Remove LONG and *PLONG typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 117102b0f6e0a9ab3ea4fa9fd89b7eb4a8888fb9 Author: Bill Pemberton Date: Wed Mar 25 11:05:09 2009 -0400 Staging: comedi: Remove UINT and *PUINT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 74b894e56abcb2403894b268100773f4aabe1999 Author: Bill Pemberton Date: Wed Mar 25 11:05:03 2009 -0400 Staging: comedi: Remove INT and *PINT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit babf0ede302697486a6633e72d051bbb8e31e2b2 Author: Bill Pemberton Date: Wed Mar 25 11:04:58 2009 -0400 Staging: comedi: Remove WORD and *PWORD typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a9fce7c9a3b796334916b216a618fd7586f10d76 Author: Bill Pemberton Date: Wed Mar 25 11:04:52 2009 -0400 Staging: comedi: Remove USHORT and *PUSHORT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 66673a7c8421784c0c7780b396014bc7d0afcc85 Author: Bill Pemberton Date: Wed Mar 25 11:04:47 2009 -0400 Staging: comedi: Remove SHORT and *PSHORT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1783fbfe023b7c2b912fbb020e01ff46985aa0ab Author: Bill Pemberton Date: Wed Mar 25 11:04:41 2009 -0400 Staging: comedi: Remove BYTE and *PBYTE typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2ec9f875f8f60c9102f97fba23e9abe9ed4480a6 Author: Bill Pemberton Date: Wed Mar 25 11:04:36 2009 -0400 Staging: comedi: Remove local_info_t typedef in ni_daq_dio24 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf4c8d1b8f59ae5591bba0936f378e52df09aa04 Author: Bill Pemberton Date: Wed Mar 25 11:04:30 2009 -0400 Staging: comedi: Remove dio24_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e3f9f2c8e6f048ab017ecdc2e7fae102f3344f98 Author: Bill Pemberton Date: Wed Mar 25 11:04:25 2009 -0400 Staging: comedi: Remove local_info_t typedef in ni_labpc_cs Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3301cc76656c5fee5b638378d9057e93796d490f Author: Bill Pemberton Date: Wed Mar 25 11:04:20 2009 -0400 Staging: comedi: Remove ni_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8ab41df0d7399567372d75d1a3c552dccb42063d Author: Bill Pemberton Date: Wed Mar 25 11:04:14 2009 -0400 Staging: comedi: Remove ni_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c6ccf62706688efa035acbd7705d00d46cf698c Author: Greg Kroah-Hartman Date: Fri Jun 5 11:23:47 2009 -0700 Staging: add mailing list address for staging tree Signed-off-by: Greg Kroah-Hartman commit 528da3e9e237059a84a2625e942811cf824a6efd Author: Eric Paris Date: Fri Jun 12 16:04:26 2009 -0400 inotify: inotify_destroy_mark_entry could get called twice inotify_destroy_mark_entry could get called twice for the same mark since it is called directly in inotify_rm_watch and when the mark is being destroyed for another reason. As an example assume that the file being watched was just deleted so inotify_destroy_mark_entry would get called from the path fsnotify_inoderemove() -> fsnotify_destroy_marks_by_inode() -> fsnotify_destroy_mark_entry() -> inotify_destroy_mark_entry(). If this happened at the same time as userspace tried to remove a watch via inotify_rm_watch we could attempt to remove the mark from the idr twice and could thus double dec the ref cnt and potentially could be in a use after free/double free situation. The fix is to have inotify_rm_watch use the generic recursive safe fsnotify_destroy_mark_by_entry() so we are sure the inotify_destroy_mark_entry() function can only be called one. This patch also renames the function to inotify_ingored_remove_idr() so it is clear what is actually going on in the function. Hopefully this fixes: [ 20.342058] idr_remove called for id=20 which is not allocated. [ 20.348000] Pid: 1860, comm: udevd Not tainted 2.6.30-tip #1077 [ 20.353933] Call Trace: [ 20.356410] [] idr_remove+0x115/0x18f [ 20.361737] [] ? _spin_lock+0x6d/0x75 [ 20.367061] [] ? inotify_destroy_mark_entry+0xa3/0xcf [ 20.373771] [] inotify_destroy_mark_entry+0xb7/0xcf [ 20.380306] [] inotify_freeing_mark+0xe/0x10 [ 20.386238] [] fsnotify_destroy_mark_by_entry+0x143/0x170 [ 20.393293] [] inotify_destroy_mark_entry+0x3c/0xcf [ 20.399829] [] sys_inotify_rm_watch+0x9b/0xc6 [ 20.405850] [] system_call_fastpath+0x16/0x1b Reported-by: Peter Zijlstra Signed-off-by: Eric Paris Tested-by: Peter Ziljlstra commit 9cffa8d53335d891cc0ecb3824a67118b3ee4b2f Author: Paul Mackerras Date: Fri Jun 19 22:21:42 2009 +1000 perf_counter tools: Define and use our own u64, s64 etc. definitions On 64-bit powerpc, __u64 is defined to be unsigned long rather than unsigned long long. This causes compiler warnings every time we print a __u64 value with %Lx. Rather than changing __u64, we define our own u64 to be unsigned long long on all architectures, and similarly s64 as signed long long. For consistency we also define u32, s32, u16, s16, u8 and s8. These definitions are put in a new header, types.h, because these definitions are needed in util/string.h and util/symbol.h. The main change here is the mechanical change of __[us]{64,32,16,8} to remove the "__". The other changes are: * Create types.h * Include types.h in perf.h, util/string.h and util/symbol.h * Add types.h to the LIB_H definition in Makefile * Added (u64) casts in process_overflow_event() and print_sym_table() to kill two remaining warnings. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: benh@kernel.crashing.org LKML-Reference: <19003.33494.495844.956580@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit b49a9e7e72103ea91946453c19703a4dfa1994fe Author: Peter Zijlstra Date: Fri Jun 19 17:39:33 2009 +0200 perf_counter: Close race in perf_lock_task_context() perf_lock_task_context() is buggy because it can return a dead context. the RCU read lock in perf_lock_task_context() only guarantees the memory won't get freed, it doesn't guarantee the object is valid (in our case refcount > 0). Therefore we can return a locked object that can get freed the moment we release the rcu read lock. perf_pin_task_context() then increases the refcount and does an unlock on freed memory. That increased refcount will cause a double free, in case it started out with 0. Ammend this by including the get_ctx() functionality in perf_lock_task_context() (all users already did this later anyway), and return a NULL context when the found one is already dead. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit c70366732f67dbdb32f7fe9c6aa59299b76feca6 Author: Hans Verkuil Date: Fri Jun 19 16:58:21 2009 +0200 i2c: New macro to initialize i2c address lists on the fly For video4linux we sometimes need to probe for a single i2c address. Normally you would do it like this: static const unsigned short addrs[] = { addr, I2C_CLIENT_END }; client = i2c_new_probed_device(adapter, &info, addrs); This is a bit awkward and I came up with this macro: #define V4L2_I2C_ADDRS(addr, addrs...) \ ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) This can construct a list of one or more i2c addresses on the fly. But this is something that really belongs in i2c.h, renamed to I2C_ADDRS. With this macro we can just do: client = i2c_new_probed_device(adapter, &info, I2C_ADDRS(addr)); Note that this can also be used to initialize an array: static const unsigned short addrs[] = I2C_ADDRS(0x2a, 0x2c); Whether you want to is another matter, but it works. This functionality is also available in the oldest supported gcc (3.2). Signed-off-by: Hans Verkuil Signed-off-by: Jean Delvare commit 23af8400571ac4431fac0caefeac18f8aef490df Author: Jean Delvare Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Don't advertise i2c functions when not available Surround i2c function declarations with ifdefs, so that they aren't advertised when i2c-core isn't actually built. That way, drivers using these functions unconditionally will result in an immediate build failure, rather than a late linking failure which is harder to figure out. Signed-off-by: Jean Delvare Cc: Mark Brown Cc: Paul Mundt commit f18c41daea14baee11252da268cdf5dcd57c7c10 Author: Rodolfo Giometti Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Use rwsem instead of mutex for board info By using rwsem we can easily manage recursive calls of i2c_scan_static_board_info() function without breaking the locking. Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 99cd8e25875a109455b709b5a41d4891b8d8e58e Author: Jean Delvare Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Add a sysfs interface to instantiate devices Add a sysfs interface to instantiate and delete I2C devices. This is primarily a replacement of the force_* module parameters implemented by some i2c drivers. These module parameters were implemented internally by the I2C_CLIENT_INSMOD* macros, which don't scale well. This can also be used when developing a driver on a self-soldered board which doesn't yet have proper I2C device declaration at the platform level, and presumably for various debugging situations. Signed-off-by: Jean Delvare Cc: David Brownell commit 35fc37f8188177e3ba3e7f99a6e3300e490e9181 Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Limit core locking to the necessary sections The i2c-core code tends to hold the core lock for longer than it should. Limit locking to the necessary sections for both performance and clarity. This is also a requirement to support I2C multiplexers in the future. Signed-off-by: Jean Delvare Tested-by: Rodolfo Giometti Cc: David Brownell commit e549c2b54dd90a056d6824b885d438b7437874f0 Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Kill the redundant client list We used to maintain our own per-adapter list of i2c clients, but this is redundant with what the driver core does, and no longer needed. Just drop the redundant list. Signed-off-by: Jean Delvare Cc: David Brownell commit 1e40ac12dab22d98d0178e87364cf4e36862809c Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Kill is_newstyle_driver Legacy i2c drivers are gone, all drivers are new-style now, so there is no point to check. Signed-off-by: Jean Delvare Cc: David Brownell commit f8a227e8ac19c2d3e189833b8518b1805d9b443c Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Merge i2c_attach_client into i2c_new_device Now that i2c_attach_client is no longer exported, it doesn't need to be a separate function. Merge it into its only user, i2c_new_device. Signed-off-by: Jean Delvare Cc: David Brownell commit 36789b5ea52bba961122b45f4383f553ec3b5a6c Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Drop i2c_probe function The legacy i2c_probe() function has no users left, get rid of it. Signed-off-by: Jean Delvare Cc: David Brownell commit 729d6dd571464954f625e6b80950d9e4e3bd94f7 Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Get rid of the legacy binding model We converted all the legacy i2c drivers so we can finally get rid of the legacy binding model. Hooray! Signed-off-by: Jean Delvare Cc: David Brownell commit 352da9820e5506e3b8496e6052a2ad9c488efae8 Author: Jean Delvare Date: Fri Jun 19 16:58:17 2009 +0200 i2c: Kill client_register and client_unregister methods These methods were useful in the legacy binding model but no longer in the new (standard) binding model. There are no users left so we can drop them. Signed-off-by: Jean Delvare Cc: David Brownell commit 0c87197142427063e096f11603543ca874045952 Author: Ingo Molnar Date: Mon Jun 15 11:35:01 2009 +0200 perf_counter, x86: Improve interactions with fast-gup Improve a few details in perfcounter call-chain recording that makes use of fast-GUP: - Use ACCESS_ONCE() to observe the pte value. ptes are fundamentally racy and can be changed on another CPU, so we have to be careful about how we access them. The PAE branch is already careful with read-barriers - but the non-PAE and 64-bit side needs an ACCESS_ONCE() to make sure the pte value is observed only once. - make the checks a bit stricter so that we can feed it any kind of cra^H^H^H user-space input ;-) Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e5289d4a181fb6c0b7a7607649af2ffdc491335c Author: Peter Zijlstra Date: Fri Jun 19 13:22:51 2009 +0200 perf_counter: Simplify and fix task migration counting The task migrations counter was causing rare and hard to decypher memory corruptions under load. After a day of debugging and bisection we found that the problem was introduced with: 3f731ca: perf_counter: Fix cpu migration counter Turning them off fixes the crashes. Incidentally, the whole perf_counter_task_migration() logic can be done simpler as well, by injecting a proper sw-counter event. This cleanup also fixed the crashes. The precise failure mode is not completely clear yet, but we are clearly not unhappy about having a fix ;-) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f5970550d5ccf90453cbd7d260370ea99d1f6513 Author: Peter Zijlstra Date: Thu Jun 18 23:22:55 2009 +0200 perf_counter tools: Add a data file header Add a data file header so we can transfer data between record and report. LKML-Reference: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2a0a50fe9def21835d65035cc8109c0b6dd6099d Author: Peter Zijlstra Date: Thu Jun 18 22:20:45 2009 +0200 perf_counter: Update userspace callchain sampling uses Update the tools to reflect the new callchain sampling format. LKML-Reference: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f9188e023c248d73f5b4a589b480e065c1864068 Author: Peter Zijlstra Date: Thu Jun 18 22:20:52 2009 +0200 perf_counter: Make callchain samples extensible Before exposing upstream tools to a callchain-samples ABI, tidy it up to make it more extensible in the future: Use markers in the IP chain to denote context, use (u64)-1..-4095 range for these context markers because we use them for ERR_PTR(), so these addresses are unlikely to be mapped. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f740f5ca056f0a4eff3abdf272a8a4ba3965d57d Author: Randy Dunlap Date: Fri Jun 19 09:18:32 2009 +0200 Fix kernel-doc parameter name typo in blk-settings.c: Warning(block/blk-settings.c:108): No description found for parameter 'lim' Warning(block/blk-settings.c:108): Excess function parameter 'limits' description in 'blk_set_default_limits' Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit b99c6ebe8f53dce1f56f0d483f6a7c23edb19d4c Author: David S. Miller Date: Thu Jun 18 01:44:19 2009 -0700 sparc64: Fix UP bootup regression. Commit b696fdc259f0d94348a9327bed352fac44d4883d ("sparc64: Defer cpu_data() setup until end of per-cpu data initialization.") broke bootup for UP builds because the cpu_data() initialization only occurs in setup_per_cpu_areas() which is never compiled in nor called in UP builds. Fix this up by calling the setups directly from init_64.c when non-SMP. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: David S. Miller commit 90c699a9ee4be165966d40f1837909ccb8890a68 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 19 08:08:50 2009 +0200 block: rename CONFIG_LBD to CONFIG_LBDAF Follow-up to "block: enable by default support for large devices and files on 32-bit archs". Rename CONFIG_LBD to CONFIG_LBDAF to: - allow update of existing [def]configs for "default y" change - reflect that it is used also for large files support nowadays Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit eec511d75edd5139ea6de537f6908085b171e7a0 Author: Mike Frysinger Date: Sat Jun 13 11:39:55 2009 -0400 Blackfin: convert page/tlb to asm-generic Signed-off-by: Mike Frysinger commit 0f652859571b3f750c01c9d7c27938d3159ca96d Author: Mike Frysinger Date: Sat Jun 13 11:36:23 2009 -0400 Blackfin: convert types to asm-generic Signed-off-by: Mike Frysinger commit d5ce528c8e46fa5afb9ff021514a6658d1758b4e Author: Mike Frysinger Date: Sat Jun 13 11:32:34 2009 -0400 Blackfin: convert irq/process to asm-generic Signed-off-by: Mike Frysinger commit 415f92da756423d564971b3e7afd1e2a54c9b7b0 Author: Mike Frysinger Date: Sat Jun 13 11:26:57 2009 -0400 Blackfin: convert signal/mmap to asm-generic Signed-off-by: Mike Frysinger commit 3d150630930c500926bd80d2c07872c9f0ee5db8 Author: Mike Frysinger Date: Sat Jun 13 11:21:51 2009 -0400 Blackfin: convert locking primitives to asm-generic Signed-off-by: Mike Frysinger commit 22a151c1bcfe28d8d9aea515155b2d5edada9811 Author: Mike Frysinger Date: Sat Jun 13 11:12:08 2009 -0400 Blackfin: convert termios to asm-generic Signed-off-by: Mike Frysinger commit 094167be1fe24a65ef1b4647b1ad22b3b7898621 Author: Mike Frysinger Date: Sat Jun 13 10:54:56 2009 -0400 Blackfin: convert simple headers to asm-generic Signed-off-by: Mike Frysinger commit 3be5646c98169ee5d72847dff1fc459fcd8673d2 Author: Mike Frysinger Date: Sat Jun 13 10:41:25 2009 -0400 Blackfin: convert socket/poll to asm-generic Signed-off-by: Mike Frysinger commit 420b61f4a7e4ea85be8d9f8138fef99c6a55a888 Author: Mike Frysinger Date: Sat Jun 13 10:40:29 2009 -0400 Blackfin: convert user/elf to asm-generic Signed-off-by: Mike Frysinger commit 71b844f163f8ab66227563c74ef012b4ea5049c8 Author: Mike Frysinger Date: Sat Jun 13 10:40:15 2009 -0400 Blackfin: convert shm/sysv/ipc to asm-generic Signed-off-by: Mike Frysinger commit 83dab40350bda28603036d03d58f1faf0a2a5627 Author: Mike Frysinger Date: Sat Jun 13 07:42:26 2009 -0400 Blackfin: convert asm/ioctls.h to asm-generic/ioctls.h Signed-off-by: Mike Frysinger commit cf8d943260528b669c9f0fa6fb4f1c17cab0ecda Author: Mike Frysinger Date: Sat Jun 13 10:14:24 2009 -0400 Blackfin: only build irqpanic.c when needed The irq_panic function is only used when CONFIG_DEBUG_ICACHE_CHECK is enabled, so move the conditional build to the Makefile rather than wrapping all of the contents of the file. Signed-off-by: Mike Frysinger commit abea0bc3d990e5d80f6112985cecee68922a08a3 Author: Mike Frysinger Date: Sat Jun 13 10:35:10 2009 -0400 Blackfin: pull in asm/io.h in ksyms for prototypes Make sure we pull in asm/io.h when exporting symbols for the I/O functions so we don't end up with a build failure due to missing prototypes. Signed-off-by: Mike Frysinger commit c36953419b40be301c9a7d8be933afdb6c892cfd Author: Mike Frysinger Date: Sat Jun 13 10:32:29 2009 -0400 Blackfin: use common test_bit() rather than __test_bit() Convert to test_bit() as that is what pretty much everyone uses and allows us to migrate asm/bitops.h to the asm-generic version. Signed-off-by: Mike Frysinger commit a95fe463e73b8c7b2d97606ac86ce261f1270726 Author: Dave Airlie Date: Fri Jun 19 10:52:57 2009 +1000 agp: add user mapping support to ATI AGP bridge. This should fix TTM/KMS on some of the original ATI IGP chipsets. (rs100/rs200) Signed-off-by: Dave Airlie commit 95934f939c46ea2b37f3c91a4f8c82e003727761 Author: Dave Airlie Date: Fri Jun 19 10:29:20 2009 +1000 drm/i915: enable GEM on PAE. In theory now that the AGP subsystem is using struct page, we should have on problems enabling GEM on PAE systems. Signed-off-by: Dave Airlie commit fc436d9d3720b382566e03bef2d7391a58714999 Author: Dave Airlie Date: Fri Jun 19 10:22:21 2009 +1000 drm/radeon: fix unused variables warning just remove i variable left over from previous code. Signed-off-by: Dave Airlie commit 07613ba2f464f59949266f4337b75b91eb610795 Author: Dave Airlie Date: Fri Jun 12 14:11:41 2009 +1000 agp: switch AGP to use page array instead of unsigned long array This switches AGP to use an array of pages for tracking the pages allocated to the GART. This should enable GEM on PAE to work a lot better as we can pass highmem pages to the PAT code and it will do the right thing with them. Signed-off-by: Dave Airlie commit 2908826d045a89805714e0a3055a99dc40565d41 Author: Ondrej Zary Date: Wed Jun 10 12:41:11 2009 -0700 agpgart: detected ALi M???? chipset with M1621 Add M1621 chipset name to ali-agp, preventing "Detected ALi M???? chipset" message. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 068a117ca38f27c9641db7642f24fe9270d9424e Author: Jerome Glisse Date: Wed Jun 17 13:28:30 2009 +0200 drm/radeon: command stream checker for r3xx-r5xx hardware For security purpose we want to make sure the userspace process doesn't access memory beyond buffer it owns. To achieve this we need to check states the userspace program. For color buffer and zbuffer we check that the clipping register will discard access beyond buffers set as color or zbuffer. For vertex buffer we check that no vertex fetch will happen beyond buffer end. For texture we check various texture states (number of mipmap level, texture size, texture depth, ...) to compute the amount of memory the texture fetcher might access. The command stream checking impact the performances so far quick benchmark shows an average of 3% decrease in fps of various applications. It can be optimized a bit more by caching result of checking and thus avoid a full recheck if no states changed since last check. Note that this patch is still incomplete on checking side as it doesn't check 2d rendering states. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 8b5c744485b75d940ccb1c83c9a358b20eb91346 Author: Michel Dänzer Date: Wed Jun 17 18:28:38 2009 +0200 drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. This makes the panel on my PowerBook light up. Signed-off-by: Dave Airlie commit 4e484e7dc5856ff5086b6329d82e36d4adaf1f02 Author: Michel Dänzer Date: Tue Jun 16 17:29:06 2009 +0200 radeon: Fix CP byte order on big endian architectures with KMS. Signed-off-by: Dave Airlie commit 62369028c7e2039b821799b3db52f0d622f0e8b5 Author: Michel Dänzer Date: Mon Jun 15 16:56:15 2009 +0200 agp/uninorth: Handle user memory types. This adds support for TTM to the uninorth AGP bridge. Signed-off-by: Dave Airlie commit 46f4b3eab73e621bc239bfa62ebdc44dcc0a877a Author: Michel Dänzer Date: Mon Jun 15 16:56:13 2009 +0200 drm/ttm: Add some powerpc cache flush code. Optimise the powerpc flushing path for TTM. Signed-off-by: Dave Airlie commit 919f32f1df228723f66bf5c5aed23e0ab076b1a1 Author: Michel Dänzer Date: Mon Jun 15 16:56:09 2009 +0200 radeon: Enable modesetting on non-x86. Signed-off-by: Dave Airlie commit 55c93278ec03c349af7b01933655b31c7f740df4 Author: Michel Dänzer Date: Mon Jun 15 16:56:11 2009 +0200 drm/radeon: Respect AGP cant_use_aperture flag. Some AGP devices can't map the aperture, radeon needs to tell TTM this. Signed-off-by: Dave Airlie commit 0454beab0f6bc6d350860abd549b86959d2f6f40 Author: Michel Dänzer Date: Mon Jun 15 16:56:07 2009 +0200 drm: EDID endianness fixes. Mostly replacing bitfields with explicit masks and shifts. Signed-off-by: Dave Airlie commit 00fa28ae29f70c9f26023f9922c4d2e1ca1297e3 Author: Dave Airlie Date: Thu Jun 18 18:08:33 2009 +1000 drm/radeon: this VRAM vs aperture test is wrong, just remove it. Its quite valid to have VRAM < aperture size. Signed-off-by: Dave Airlie commit 87ef92092fd092936535ba057ee19b97bb6a709a Author: Thomas Hellstrom Date: Wed Jun 17 12:29:57 2009 +0200 drm/ttm: fix an error path to exit function correctly Just a goto instead of a direct exit. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 89579f778266d5a4d08d0c64c46b1565218de9f9 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:56 2009 +0200 drm: Apply "Memory fragmentation from lost alignment blocks" also for the atomic path by using a common code-path. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 78ecf091aa592a9e160ebbbfa5873c2bb2e2d0f8 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:55 2009 +0200 ttm: Return -ERESTART when a signal interrupts bo eviction. A bug caused the ttm code to just terminate the wait when a signal was received while waiting for the GPU to release a buffer object that was to be evicted. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 71e308a239c098673570d0b417d42262bb535909 Author: Steven Rostedt Date: Thu Jun 18 12:45:08 2009 -0400 function-graph: add stack frame test In case gcc does something funny with the stack frames, or the return from function code, we would like to detect that. An arch may implement passing of a variable that is unique to the function and can be saved on entering a function and can be tested when exiting the function. Usually the frame pointer can be used for this purpose. This patch also implements this for x86. Where it passes in the stack frame of the parent function, and will test that frame on exit. There was a case in x86_32 with optimize for size (-Os) where, for a few functions, gcc would align the stack frame and place a copy of the return address into it. The function graph tracer modified the copy and not the actual return address. On return from the funtion, it did not go to the tracer hook, but returned to the parent. This broke the function graph tracer, because the return of the parent (where gcc did not do this funky manipulation) returned to the location that the child function was suppose to. This caused strange kernel crashes. This test detected the problem and pointed out where the issue was. This modifies the parameters of one of the functions that the arch specific code calls, so it includes changes to arch code to accommodate the new prototype. Note, I notice that the parsic arch implements its own push_return_trace. This is now a generic function and the ftrace_push_return_trace should be used instead. This patch does not touch that code. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Frederic Weisbecker Cc: Helge Deller Cc: Kyle McMartin Signed-off-by: Steven Rostedt commit eb4a03780d4c4464ef2ad86d80cca3f3284fe81d Author: Steven Rostedt Date: Thu Jun 18 12:53:21 2009 -0400 function-graph: disable when both x86_32 and optimize for size are configured On x86_32, when optimize for size is set, gcc may align the frame pointer and make a copy of the the return address inside the stack frame. The return address that is located in the stack frame may not be the one used to return to the calling function. This will break the function graph tracer. The function graph tracer replaces the return address with a jump to a hook function that can trace the exit of the function. If it only replaces a copy, then the hook will not be called when the function returns. Worse yet, when the parent function returns, the function graph tracer will return back to the location of the child function which will easily crash the kernel with weird results. To see the problem, when i386 is compiled with -Os we get: c106be03: 57 push %edi c106be04: 8d 7c 24 08 lea 0x8(%esp),%edi c106be08: 83 e4 e0 and $0xffffffe0,%esp c106be0b: ff 77 fc pushl 0xfffffffc(%edi) c106be0e: 55 push %ebp c106be0f: 89 e5 mov %esp,%ebp c106be11: 57 push %edi c106be12: 56 push %esi c106be13: 53 push %ebx c106be14: 81 ec 8c 00 00 00 sub $0x8c,%esp c106be1a: e8 f5 57 fb ff call c1021614 When it is compiled with -O2 instead we get: c10896f0: 55 push %ebp c10896f1: 89 e5 mov %esp,%ebp c10896f3: 83 ec 28 sub $0x28,%esp c10896f6: 89 5d f4 mov %ebx,0xfffffff4(%ebp) c10896f9: 89 75 f8 mov %esi,0xfffffff8(%ebp) c10896fc: 89 7d fc mov %edi,0xfffffffc(%ebp) c10896ff: e8 d0 08 fa ff call c1029fd4 The compile with -Os will align the stack pointer then set up the frame pointer (%ebp), and it copies the return address back into the stack frame. The change to the return address in mcount is done to the copy and not the real place holder of the return address. Then compile with -O2 sets up the frame pointer first, this makes the change to the return address by mcount affect where the function will jump on exit. Reported-by: Jake Edge Signed-off-by: Steven Rostedt commit 0732f87761dbe417cb6e084b712d07e879e876ef Merge: 15fc204 536fc24 Author: Linus Torvalds Date: Thu Jun 18 14:07:46 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: jbd2: clean up jbd2_journal_try_to_free_buffers() ext4: Don't update ctime for non-extent-mapped inodes ext4: Fix up whitespace issues in fs/ext4/inode.c ext4: Fix 64-bit block type problem on 32-bit platforms ext4: teach the inode allocator to use a goal inode number ext4: Use a hash of the topdir directory name for the Orlov parent group ext4: document the "abort" mount option ext4: move the abort flag from s_mount_opts to s_mount_flags ext4: update the s_last_mounted field in the superblock ext4: change s_mount_opt to be an unsigned int ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl ext4: avoid unnecessary spinlock in critical POSIX ACL path ext3: avoid unnecessary spinlock in critical POSIX ACL path ext4: convert instrumentation from markers to tracepoints jbd2: convert instrumentation from markers to tracepoints commit 15fc204afc6feb915c400159546f646eca8ba1d9 Merge: d2aa455 9445571 Author: Linus Torvalds Date: Thu Jun 18 14:07:35 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: (56 commits) sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs. sh: remove stray markers. sh: defconfig updates. sh: pci: Initial PCI-Express support for SH7786 Urquell board. sh: Generic HAVE_PERF_COUNTER support. SH: convert migor to soc-camera as platform-device SH: convert ap325rxa to soc-camera as platform-device soc-camera: unify i2c camera device platform data sh: add platform data for r8a66597-hcd in setup-sh7723 sh: add platform data for r8a66597-hcd in setup-sh7366 sh: x3proto: add platform data for r8a66597-hcd sh: highlander: add platform data for r8a66597-hcd sh: sh7785lcr: add platform data for r8a66597-hcd sh: turn off irqs when disabling CMT/TMU timers sh: use kzalloc() for cpg clocks sh: unbreak WARN_ON() sh: Use generic atomic64_t implementation. sh: Revised clock function in highlander sh: Update r7780mp defconfig ... commit d2aa4550379f92e929af7ed1dd4f55e6a1e331f8 Merge: 9e3e4b1 cb2107b Author: Linus Torvalds Date: Thu Jun 18 14:07:15 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: (55 commits) netxen: fix tx ring accounting netxen: fix detection of cut-thru firmware mode forcedeth: fix dma api mismatches atm: sk_wmem_alloc initial value is one net: correct off-by-one write allocations reports via-velocity : fix no link detection on boot Net / e100: Fix suspend of devices that cannot be power managed TI DaVinci EMAC : Fix rmmod error net: group address list and its count ipv4: Fix fib_trie rebalancing, part 2 pkt_sched: Update drops stats in act_police sky2: version 1.23 sky2: add GRO support sky2: skb recycling sky2: reduce default transmit ring sky2: receive counter update sky2: fix shutdown synchronization sky2: PCI irq issues sky2: more receive shutdown sky2: turn off pause during shutdown ... Manually fix trivial conflict in net/core/skbuff.c due to kmemcheck commit 9e3e4b1d2d13bead8d52703c82a02b55f108b491 Merge: dcce284 47bece8 Author: Linus Torvalds Date: Thu Jun 18 13:14:10 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] hpwdt: Add NMI sourcing [WATCHDOG] iTCO_wdt: Fix ICH7+ reboot issue. [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware [WATCHDOG] Correct WDIOF_MAGICCLOSE flag [WATCHDOG] move platform probe and remove function to devinit and devexit [WATCHDOG] Some more general cleanup [WATCHDOG] iTCO_wdt: Cleanup code commit dcce284a259373f9e5570f2e33f79eca84fcf565 Author: Benjamin Herrenschmidt Date: Thu Jun 18 13:24:12 2009 +1000 mm: Extend gfp masking to the page allocator The page allocator also needs the masking of gfp flags during boot, so this moves it out of slab/slub and uses it with the page allocator as well. Signed-off-by: Benjamin Herrenschmidt Acked-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 9729a6eb5878a3daa18395f2b5fb38bf9359a761 Merge: 5ae8606 48606a9 Author: Linus Torvalds Date: Thu Jun 18 13:11:50 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: (39 commits) md/raid5: correctly update sync_completed when we reach max_resync md/raid5: add missing call to schedule() after prepare_to_wait() md/linear: use call_rcu to free obsolete 'conf' structures. md linear: Protecting mddev with rcu locks to avoid races md: Move check for bitmap presence to personality code. md: remove chunksize rounding from common code. md: raid0/linear: ensure device sizes are rounded to chunk size. md: move assignment of ->utime so that it never gets skipped. md: Push down reconstruction log message to personality code. md: merge reconfig and check_reshape methods. md: remove unnecessary arguments from ->reconfig method. md: raid5: check stripe cache is large enough in start_reshape md: raid0: chunk_sectors cleanups. md: fix some comments. md/raid5: Use is_power_of_2() in raid5_reconfig()/raid6_reconfig(). md: convert conf->chunk_size and conf->prev_chunk to sectors. md: Convert mddev->new_chunk to sectors. md: Make mddev->chunk_size sector-based. md: raid0 :Enables chunk size other than powers of 2. md: prepare for non-power-of-two chunk sizes ... commit 5ae8606d5746bc84e19018fc3753cc1faf18843f Author: Mark Salter Date: Wed Jun 17 22:51:11 2009 +0100 MN10300: Add support for new ELF relocs in kernel modules Add support for new relocs which may show up in MN10300 kernel modules due to linker relaxation. Signed-off-by: Mark Salter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d2829224619866daf336141b71550e223a198838 Author: Florian Fainelli Date: Wed Jun 17 16:28:38 2009 -0700 lib: add lib/gcd.c This patch adds lib/gcd.c which contains a greatest common divider implementation taken from sound/core/pcm_timer.c Several usages of this new library function will be sent to subsystem maintainers. [akpm@linux-foundation.org: use swap() (pointed out by Joe)] [akpm@linux-foundation.org: just add gcd.o to obj-y, remove Kconfig changes] Signed-off-by: Florian Fainelli Cc: Sergei Shtylyov Cc: Takashi Iwai Cc: Simon Horman Cc: Julius Volz Cc: David S. Miller Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eae9d2ba0cfc27a2ad9765f23efb98fb80d80234 Author: Rodolfo Giometti Date: Wed Jun 17 16:28:37 2009 -0700 LinuxPPS: core support This patch adds the kernel side of the PPS support currently named "LinuxPPS". PPS means "pulse per second" and a PPS source is just a device which provides a high precision signal each second so that an application can use it to adjust system clock time. Common use is the combination of the NTPD as userland program with a GPS receiver as PPS source to obtain a wallclock-time with sub-millisecond synchronisation to UTC. To obtain this goal the userland programs shoud use the PPS API specification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating Systems, Version 1.0) which in part is implemented by this patch. It provides a set of chars devices, one per PPS source, which can be used to get the time signal. The RFC's functions can be implemented by accessing to these char devices. Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Acked-by: Alan Cox Cc: Michael Kerrisk Cc: Christoph Hellwig Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8820f27ad9a5ad2a62cdcdf425d7921c31831800 Author: Jack Steiner Date: Wed Jun 17 16:28:36 2009 -0700 gru: copyright fixes Fix the copyright statements in a couple of GRU files. No functional changes are being made. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 229a0505f2c4387555318e14c80e1362be2e39f7 Author: Jack Steiner Date: Wed Jun 17 16:28:35 2009 -0700 gru: remove references to the obsolete global status handle Delete references to the SGI GRU GSH hardware resources. These GRU resources have been deleted from the hardware. (These resources have never benn used, anyway). Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b702b28addc0f9eb2f37148f0b99f546cadd30a Author: Jack Steiner Date: Wed Jun 17 16:28:34 2009 -0700 gru: fixes to grudump utility Minor fixes to the SGI GRU grudump facility: - fix address where user data is written - add gru number to data passed to user - indicate if context is locked Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1926ee85a903d189c5702eed6531be321e33eb47 Author: Jack Steiner Date: Wed Jun 17 16:28:33 2009 -0700 gru: fix potential use-after-free when purging GRU tlbs Fix potential SGI GRU bug that could cause a use-after-free. If one thread in a task is flushing the GRU and another thread destroys the GRU context, there is the potential to access a table after it has been freed. Copy the gms pointer to a local variable before unlocking the gts table. Note that no refcnt is needed for the gms - the reference is held indirectly by the task's mm_struct. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b19fcfa417cf62447413d6e8b9b6598adf00b9 Author: Jack Steiner Date: Wed Jun 17 16:28:33 2009 -0700 gru: add user request to specify gru slice Add a user request to specify the gru instruction slice parameter for user contexts. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92b39388eeb45326feb0fa8bd69dbbce66c9efbf Author: Jack Steiner Date: Wed Jun 17 16:28:32 2009 -0700 gru: generic infrastructure for context options Change the user GRU request for specifying the "task_slice" option to use a generic infrastructure that can be expanded in the future to include additional context options. No new capabilities are added with this patch. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f2501142bd3c496afa7efdf18583aab56fe3134 Author: Jack Steiner Date: Wed Jun 17 16:28:31 2009 -0700 gru: cleanup gru inline functions Cleanup of GRU inline functions to eliminate unnecessary inline code. Update function descriptions. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6471cd4d6c2526f3df693895a6bfa70353fad3f7 Author: Jack Steiner Date: Wed Jun 17 16:28:31 2009 -0700 gru: delete user request for fetching chiplet status Delete the user request for fetching the status of a GRU chiplet. This request has been made obsolete by other changes. Note: this is not a change to a user API - there are no compatibility issues with this change. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e796a72a2691d7094fd62da61097294d0d59ce4 Author: Jack Steiner Date: Wed Jun 17 16:28:30 2009 -0700 gru: collect per-context user statistics Collect GRU statistics for each user GRU context. Statistics are kept for TLB misses & content resource contention. Add user request for retrieving the statistics. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6e2fbce0d70c2072a1c478dbd37b34d27129d74 Author: Jack Steiner Date: Wed Jun 17 16:28:29 2009 -0700 gru: fix automatic retry of gru instruction failures Fix bug in automatic retry of GRU instruction failures. CBR substatus (message queue failure) was being checked incorrectly. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5826dd6002f23940458860701ce22fba9df2614 Author: Jack Steiner Date: Wed Jun 17 16:28:28 2009 -0700 gru: add user request to explicitly unload a gru context Add user function to explicitly unload GRU kernel contexts from the GRU. Only contexts that are not in-use will be unloaded. This function is primarily for testing. It is not expected that this will be used in normal production systems. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8 Author: Jack Steiner Date: Wed Jun 17 16:28:28 2009 -0700 gru: fix cache coherency issues with instruction retry Fix two problems related to GRU instruction failures. Cache coherency is not maintained for CBEs except when loading or unloading contexts. When reading a CBE to extract error information, the CBE must first be flushed from the cache. The function that reads kerrnel CBEs was reading the wrong CBE. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 270952a907220c0331fdaecbb55df892921c5e2d Author: Jack Steiner Date: Wed Jun 17 16:28:27 2009 -0700 gru: update to rev 0.9 of gru spec Update GRU driver to the latest version of the GRU spec. This consists of minor updates: - changes & additions to error status bits - new restriction on handling of TLB misses while in FMM mode - new field (not used by software) in TFH Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb5bd5e52a8eafb1ddb42f983d41f97552afa106 Author: Jack Steiner Date: Wed Jun 17 16:28:26 2009 -0700 gru: update gru kernel self tests Change the kernel self tests that can be optionally executed on GRU initialization. This is primarily for testing. Eliminate the BUG statements on failure and return bad status. Add ioctl interface to execute the tests on demand. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9120dec47f150636d85b3dba03318ccecd181c79 Author: Jack Steiner Date: Wed Jun 17 16:28:25 2009 -0700 gru: support for asynchronous gru instructions Add support for asynchronous GRU instructions. Currently, asynchronous instructions are supported only for GRU instructions issued by the kernel. [akpm@linux-foundation.org: build fix] Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7a17c1188a878e9f00e4ca8dc724c7cff17606 Author: Jack Steiner Date: Wed Jun 17 16:28:25 2009 -0700 gru: support instruction completion interrupts Add support for interrupts generated by GRU instruction completion. Previously, the only interrupts were for TLB misses. The hardware also supports interrupts on instruction completion. This will be supported for instructions issued by the kernel. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940229b9c0dcd9b6e1d64d0d26eba00238ddae98 Author: Jack Steiner Date: Wed Jun 17 16:28:24 2009 -0700 gru: check context state on reload Check whether the gru state being loaded into a gru is from a new context or a previously unloaded context. If new, simply zero out the hardware context; if unloaded and valid, reload the old state. This change is primarily for reloading kernel contexts where the previous is not required to be saved. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b49a67a6a59f0e9f3c22e67ddb602410e8e182 Author: Jack Steiner Date: Wed Jun 17 16:28:23 2009 -0700 gru: fix handling of mesq failures Fix endcase in handling GRU message queue failures due to NACKs of PUT requests. Must ensure that the "present" bits are cleared before resending the message. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eac2e95d7bb92222e185e445eca1fe3f695050f Author: Jack Steiner Date: Wed Jun 17 16:28:23 2009 -0700 gru: support contexts with zero dsrs or cbrs Support alocation of GRU contexts that contain zero DSR or CBR resources. Some instructions do not require DSR resources. Contexts without CBR resources are useful for diagnostics. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836ce679c0b5b5040164171afc33753396864b30 Author: Jack Steiner Date: Wed Jun 17 16:28:22 2009 -0700 gru: change resource assignment for kernel threads Change the way GRU resources are assigned for kernel threads. GRU contexts for kernel threads are now allocated on demand and can be stolen by user processes when idle. This allows MPI jobs to use ALL of the GRU resources when the kernel is not using them. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e9100741ca430eeef8022794f8b62a23a5916af Author: Jack Steiner Date: Wed Jun 17 16:28:21 2009 -0700 gru: support cch_allocate for kernel threads Change the interface to cch_allocate so that it can be used to allocate GRU contexts for kernel threads. Kernel threads use the GRU in unmapped mode and do not require ASIDs for the GRU TLB. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d57c82b10709bbb1deb7eb26cf42abcde8851e4d Author: Jack Steiner Date: Wed Jun 17 16:28:20 2009 -0700 gru: change context load and unload Remove "static" from the functions for loading/unloading GRU contexts. These functions will be called from other GRU files. Fix bug in unlocking gru context. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364b76df80f62cee1b66e871df2f69db6e3d3d9e Author: Jack Steiner Date: Wed Jun 17 16:28:20 2009 -0700 gru: dynamic allocation of kernel contexts Change the interface to gru_alloc_gts() so that it can be used to allocate GRU contexts for kernel threads. Kernel threads do not have vdata structures for the GRU contexts. The GRU resource count are now passed explicitly instead of inside the vdata structure. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cc9b056ea51608788609d7e26c7db55ef81bb2e Author: Jack Steiner Date: Wed Jun 17 16:28:19 2009 -0700 gru: dump chiplet state Add support for dumpping the state of an entire GRU chiplet. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd1334f03f7b799bc6893b511daf2080e8f73863 Author: Jack Steiner Date: Wed Jun 17 16:28:19 2009 -0700 gru: bug fixes for GRU exception handling Bug fixes for GRU exception handling. Additional fields from the CBR must be returned to the user to allow the user to correctly diagnose GRU exceptions. Handle endcase in TFH TLB miss handling. Verify that TFH actually indicates a pending exception. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6580a9f15238b87e618310c862231ae3f352d2d Author: Neil Horman Date: Wed Jun 17 16:28:17 2009 -0700 kexec: sysrq: simplify sysrq-c handler Currently the sysrq-c handler is bit over-engineered. Its behavior is dependent on a few compile time and run time factors that alter its behavior which is really unnecessecary. If CONFIG_KEXEC is not configured, sysrq-c, crashes the system with a NULL pointer dereference. If CONFIG_KEXEC is configured, it calls crash_kexec directly, which implies that the kexec kernel will either be booted (if its been previously loaded), or it will simply do nothing (the no kexec kernel has been loaded). It would be much easier to just simplify the whole thing to dereference a NULL pointer all the time regardless of configuration. That way, it will always try to crash the system, and if a kexec kernel has been loaded into reserved space, it will still boot from the page fault trap handler (assuming panic_on_oops is set appropriately). [akpm@linux-foundation.org: build fix] Signed-off-by: Neil Horman Acked-by: Vivek Goyal Cc: Brayan Arraes Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8a06c1ef0bc45915fc45a170c7c60426971304c Author: Daniel Mack Date: Wed Jun 17 16:28:15 2009 -0700 w1-gpio: add external pull-up enable callback On embedded devices, sleep mode conditions can be tricky to handle, Especially when processors tend to pull-down the w1 bus during sleep. Bus slaves (such as the ds2760) may interpret this as a reason for power-down conditions and entirely switch off the device. This patch adds a callback function pointer to let users switch on and off the external pull-up resistor. This lets the outside world know whether the processor is currently actively driving the bus or not. When this callback is not provided, the code behaviour won't change. Signed-off-by: Daniel Mack Acked-by: Ville Syrjala Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9916219579d078c80377dd3988c2cc213536d868 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:14 2009 -0700 dma-mapping: ia64: add CONFIG_DMA_API_DEBUG support Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Acked-by: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc; "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6d0a6aee252f004b06f27f74e401198f9c9ffb8 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:13 2009 -0700 dma-mapping: ia64: use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Acked-by: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc; "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c095e4603dd6ce78ff5b9b70896fe3e05c13f5c Author: FUJITA Tomonori Date: Wed Jun 17 16:28:12 2009 -0700 dma-mapping: x86: use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Acked-by: Ingo Molnar Cc: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc: "David S. Miller" Cc: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c147d8ea3e2f6f953647f2347ae732fd99b32e73 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:10 2009 -0700 dma-mapping: add asm-generic/dma-mapping-common.h We unified x86 and IA64's handling of multiple dma mapping operations (struct dma_map_ops in linux/dma-mapping.h) so we can remove duplication in their arch/include/asm/dma-mapping.h. This patchset adds include/asm-generic/dma-mapping-common.h that provides some generic dma mapping function definitions for the users of struct dma_map_ops. This enables us to remove about 100 lines. This also enables us to easily add CONFIG_DMA_API_DEBUG support, which only x86 supports for now. The 4th patch adds CONFIG_DMA_API_DEBUG support to IA64 by adding only 8 lines. This patch: This header file provides some mapping function definitions that the users of struct dma_map_ops can use. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Cc: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc: "David S. Miller" Cc: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf99fb673f18408be1ebc958321ef4c3f6da9e2 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:09 2009 -0700 gcov: enable GCOV_PROFILE_ALL for x86_64 Enable gcov profiling of the entire kernel on x86_64. Required changes include disabling profiling for: * arch/kernel/acpi/realmode and arch/kernel/boot/compressed: not linked to main kernel * arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet: profiling causes segfaults during boot (incompatible context) Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2521f2c228ad750701ba4702484e31d876dbc386 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:08 2009 -0700 gcov: add gcov profiling infrastructure Enable the use of GCC's coverage testing tool gcov [1] with the Linux kernel. gcov may be useful for: * debugging (has this code been reached at all?) * test improvement (how do I change my test to cover these lines?) * minimizing kernel configurations (do I need this option if the associated code is never run?) The profiling patch incorporates the following changes: * change kbuild to include profiling flags * provide functions needed by profiling code * present profiling data as files in debugfs Note that on some architectures, enabling gcc's profiling option "-fprofile-arcs" for the entire kernel may trigger compile/link/ run-time problems, some of which are caused by toolchain bugs and others which require adjustment of architecture code. For this reason profiling the entire kernel is initially restricted to those architectures for which it is known to work without changes. This restriction can be lifted once an architecture has been tested and found compatible with gcc's profiling. Profiling of single files or directories is still available on all platforms (see config help text). [1] http://gcc.gnu.org/onlinedocs/gcc/Gcov.html Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b923606e75f1ab672e25b14ac039a1cdcfa382f Author: Peter Oberparleiter Date: Wed Jun 17 16:28:05 2009 -0700 seq_file: add function to write binary data seq_write() can be used to construct seq_files containing arbitrary data. Required by the gcov-profiling interface to synthesize binary profiling data files. Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:03 2009 -0700 kernel: constructor support Call constructors (gcc-generated initcall-like functions) during kernel start and module load. Constructors are e.g. used for gcov data initialization. Disable constructor support for usermode Linux to prevent conflicts with host glibc. Signed-off-by: Peter Oberparleiter Acked-by: Rusty Russell Acked-by: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e24aca672ff06aff0e6a1045efab86043ea5f735 Author: GeunSik Lim Date: Wed Jun 17 16:28:02 2009 -0700 edac: Kconfig: fix the meaning of EDAC abbreviation Fix the meaning of EDAC(Error Detection And Correction) correctly. [akpm@linux-foundation.org: add missing space] Signed-off-by: GeunSik Lim Cc: Alan Cox Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ea8fad9e5d2475c4cbbd2f8b0c88903e9584dc Author: Mike Frysinger Date: Wed Jun 17 16:28:01 2009 -0700 edac: add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Mike Frysinger Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f101a051ef054c33186abcd54b30a88afea47ef Author: Harry Ciao Date: Wed Jun 17 16:28:00 2009 -0700 edac: cpc925 MC platform device setup Fix up the number of cells for the values of CPC925 Memory Controller, and setup related platform device during system booting up, against which CPC925 Memory Controller EDAC driver would be matched. Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1dc9b70d7d48abd8a5c6f83021f38992f3b5a77f Author: Harry Ciao Date: Wed Jun 17 16:27:59 2009 -0700 edac: add edac_device_alloc_index() Add edac_device_alloc_index(), because for MAPLE platform there may exist several EDAC driver modules that could make use of edac_device_ctl_info structure at the same time. The index allocation for these structures should be taken care of by EDAC core. [akpm@linux-foundation.org: cleanups] Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9036afffb3a174e980f90eb507c5aea6b540f6 Author: Harry Ciao Date: Wed Jun 17 16:27:58 2009 -0700 edac: add CPC925 Memory Controller driver Introduce IBM CPC925 EDAC driver, which makes use of ECC, CPU and HyperTransport Link error detections and corrections on the IBM CPC925 Bridge and Memory Controller. [akpm@linux-foundation.org: cleanup] Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c369dada267d3df1beb86cf89b865ac1178a7f Author: Matt Helsley Date: Wed Jun 17 16:27:58 2009 -0700 futex: documentation: fix inconsistent description of futex list_op_pending Strictly speaking list_op_pending points to the 'lock entry', not the 'lock word' (which is actually at 'offset' from 'lock entry'). We can infer this based on reading the code in kernel/futex.c: struct robust_list __user *entry, *next_entry, *pending; ... if (fetch_robust_entry(&pending, &head->list_op_pending, &pip)) return; ... if (pending) handle_futex_death((void __user *)pending + futex_offset, curr, pip); Which is also consistent with the rest of the docs on robust futex lists. Signed-off-by: Matt Helsley Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 665c7741fb63c7ceeb515f1d1ed8b016efe65bf3 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:57 2009 -0700 ipcns: move free_ipcs() proto Function is really private to ipc/ and avoid struct kern_ipc_perm forward declaration. Signed-off-by: Alexey Dobriyan Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4188def441197d38f20e0935372780ed7c0e19d Author: Alexey Dobriyan Date: Wed Jun 17 16:27:56 2009 -0700 ipcns: make free_ipc_ns() static Signed-off-by: Alexey Dobriyan Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90af90d7d3a7411db64860c9d6e5798ff87cad08 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:56 2009 -0700 nsproxy: extract create_nsproxy() clone_nsproxy() does useless copying of old nsproxy -- every pointer will be rewritten to new ns or to old ns. Remove copying, rename clone_nsproxy(), create_nsproxy() will be used by C/R code to create fresh nsproxy on restart. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 612ce478fac2729ad564ec3f5d3c551674b8e9c2 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:55 2009 -0700 ipcns: extract create_ipc_ns() clone_ipc_ns() is misnamed, it doesn't clone anything and doesn't use passed parameter. Rename it. create_ipc_ns() will be used by C/R to create fresh ipcns. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64424289dd2e37b4800df1f7f2ef4fe550f58729 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:54 2009 -0700 ipcns: remove useless get/put while CLONE_NEWIPC copy_ipcs() doesn't actually copy anything. If new ipcns is created, it's created from scratch, in this case get/put on old ipcns isn't needed. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c2a7e72d5937c6a112141c7ff3df0727b3cf3df Author: Alexey Dobriyan Date: Wed Jun 17 16:27:54 2009 -0700 utsns: extract creeate_uts_ns() create_uts_ns() will be used by C/R to create fresh uts_ns. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dca4a979604da1bac6956c0117abc2114d6dd3ec Author: Alexey Dobriyan Date: Wed Jun 17 16:27:53 2009 -0700 pidns: rewrite copy_pid_ns() copy_pid_ns() is a perfect example of a case where unwinding leads to more code and makes it less clear. Watch the diffstat. Signed-off-by: Alexey Dobriyan Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Reviewed-by: Serge Hallyn Acked-by: Sukadev Bhattiprolu Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed469a63c37a996fa2c7041d2dc980715707902c Author: Alexey Dobriyan Date: Wed Jun 17 16:27:52 2009 -0700 pidns: make create_pid_namespace() accept parent pidns create_pid_namespace() creates everything, but caller has to assign parent pidns by hand, which is unnatural. At the moment of call new ->level has to be taken from somewhere and parent pidns is already available. Signed-off-by: Alexey Dobriyan Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Acked-by: Serge Hallyn Acked-by: Sukadev Bhattiprolu Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17f98dcf6010a1cfd25d179fd0ce77d3dc2685c3 Author: Christoph Hellwig Date: Wed Jun 17 16:27:51 2009 -0700 pids: clean up find_task_by_pid variants find_task_by_pid_type_ns is only used to implement find_task_by_vpid and find_task_by_pid_ns, but both of them pass PIDTYPE_PID as first argument. So just fold find_task_by_pid_type_ns into find_task_by_pid_ns and use find_task_by_pid_ns to implement find_task_by_vpid. While we're at it also remove the exports for find_task_by_pid_ns and find_task_by_vpid - we don't have any modular callers left as the only modular caller of he old pre pid namespace find_task_by_pid (gfs2) was switched to pid_task which operates on a struct pid pointer instead of a pid_t. Given the confusion about pid_t values vs namespace that's generally the better option anyway and I think we're better of restricting modules to do it that way. Signed-off-by: Christoph Hellwig Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7338f29984114066b00da343a22876bb08259a84 Author: Sukanto Ghosh Date: Wed Jun 17 16:27:50 2009 -0700 sysctl.c: remove unused variable Remoce the unused variable 'val' from __do_proc_dointvec() The integer has been declared and used as 'val = -val' and there is no reference to it anywhere. Signed-off-by: Sukanto Ghosh Cc: Jaswinder Singh Rajput Cc: Sukanto Ghosh Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fc401e426e8a4c719035ef86d051bd0d1111e5 Author: Michael Buesch Date: Wed Jun 17 16:27:49 2009 -0700 ppdev: reduce kernel log spam One of my programs frequently grabs the parport, does something with it and then drops it again. This results in spamming of the kernel log with "... registered pardevice" "... unregistered pardevice" These messages are completely useless, except for debugging ppdev, probably. So put them under DEBUG (or dynamic debug). Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9653a69e923522050e15dab042b163dcc2ed7111 Author: Jiri Slaby Date: Wed Jun 17 16:27:48 2009 -0700 Char: isicom: fix build warning Fix this: isicom.c: In function `isicom_probe': isicom.c:1587: warning: `signature' may be used uninitialized in this function by uninitialized_var(), because if the signature is not initialized in reset_card(), we won't use it. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f47befdd7483cd1e14a7ae76ef22f7f9722c90 Author: Adriano dos Santos Fernandes Date: Wed Jun 17 16:27:48 2009 -0700 drivers/char/mem.c: memory_open() cleanup: lookup minor device number from devlist memory_open() ignores devlist and does a switch for each item, duplicating code and conditional definitions. Clean it up by adding backing_dev_info to devlist and use it to lookup for the minor device. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Adriano dos Santos Fernandes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a985fbb18c1600955124a1efd2343efa867549 Author: Arnd Bergmann Date: Wed Jun 17 16:27:46 2009 -0700 ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h The definition of ipc_parse_version depends on __ARCH_WANT_IPC_PARSE_VERSION, but the header file declares it conditionally based on the architecture. Use the macro consistently to make it easier to add new architectures. Signed-off-by: Arnd Bergmann Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 371cbb387e33651b4c1326457116568ff01ac422 Author: Oleg Nesterov Date: Wed Jun 17 16:27:45 2009 -0700 kthreads: simplify migration_thread() exit path Now that kthread_stop() can be used even if the task has already exited, we can kill the "wait_to_die:" loop in migration_thread(). But we must pin rq->migration_thread after creation. Actually, I don't think CPU_UP_CANCELED or CPU_DEAD should wait for ->migration_thread exit. Perhaps we can simplify this code a bit more. migration_call() can set ->should_stop and forget about this thread. But we need a new helper in kthred.c for that. Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 Author: Oleg Nesterov Date: Wed Jun 17 16:27:45 2009 -0700 kthreads: rework kthread_stop() Based on Eric's patch which in turn was based on my patch. kthread_stop() has the nasty problems: - it runs unpredictably long with the global semaphore held. - it deadlocks if kthread itself does kthread_stop() before it obeys the kthread_should_stop() request. - it is not useable if kthread exits on its own, see for example the ugly "wait_to_die:" hack in migration_thread() - it is not possible to just tell kthread it should stop, we must always wait for its exit. With this patch kthread() allocates all neccesary data (struct kthread) on its own stack, globals kthread_stop_xxx are deleted. ->vfork_done is used as a pointer into "struct kthread", this means kthread_stop() can easily wait for kthread's exit. Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit cdd140bdd6c7bc6395f08877a73c39941501af93 Author: Oleg Nesterov Date: Wed Jun 17 16:27:43 2009 -0700 kthreads: simplify the startup synchronization We use two completions two create the kernel thread, this is a bit ugly. kthread() wakes up create_kthread() via ->started, then create_kthread() wakes up the caller kthread_create() via ->done. But kthread() does not need to wait for kthread(), it can just return. Instead kthread() itself can wake up the caller of kthread_create(). Kill kthread_create_info->started, ->done is enough. This improves the scalability a bit and sijmplifies the code. The only problem if kernel_thread() fails, in that case create_kthread() must do complete(&create->done). Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit e1eb1ebcca871673c76caf63335c4237680040f1 Author: Richard Kennedy Date: Wed Jun 17 16:27:42 2009 -0700 mm: exit.c reorder wait_opts to remove padding on 64 bit builds Reorder struct wait_opts to remove 8 bytes of alignment padding on 64 bit builds. Signed-off-by: Richard Kennedy Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f95d39d10fe7d47336e65172f52bf64e0096f983 Author: Oleg Nesterov Date: Wed Jun 17 16:27:42 2009 -0700 do_wait: fix the theoretical race with stop/trace/cont do_wait: current->state = TASK_INTERRUPTIBLE; read_lock(&tasklist_lock); ... search for the task to reap ... In theory, the ->state changing can leak into the critical section. Since the child can change its status under read_lock(tasklist) in parallel (finish_stop/ptrace_stop), we can miss the wakeup if __wake_up_parent() sees us in TASK_RUNNING state. Add the barrier. Also, use __set_current_state() to set TASK_RUNNING. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f6dfb7295facb0505b5beca5a7ce48b0612379 Author: Oleg Nesterov Date: Wed Jun 17 16:27:41 2009 -0700 do_wait: kill the old BUG_ON, use while_each_thread() do_wait() does BUG_ON(tsk->signal != current->signal), this looks like a raher obsolete check. At least, I don't think do_wait() is the best place to verify that all threads have the same ->signal. Remove it. Also, change the code to use while_each_thread(). Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64a16caf5e3417ee32f670debcb5857b02a9e08e Author: Oleg Nesterov Date: Wed Jun 17 16:27:40 2009 -0700 do_wait: simplify retval/tsk_result/notask_error mess Now that we don't pass &retval down to other helpers we can simplify the code more. - kill tsk_result, just use retval - add the "notask" label right after the main loop, and s/got end/goto notask/ after the fastpath pid check. This way we don't need to initialize retval before this check and the code becomes a bit more clean, if this pid has no attached tasks we should just skip the list search. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e8ae01d1c86dcaa6443c897662545d088036e4c Author: Oleg Nesterov Date: Wed Jun 17 16:27:39 2009 -0700 introduce "struct wait_opts" to simplify do_wait() patches Introduce "struct wait_opts" which holds the parameters for misc helpers in do_wait() pathes. This adds 13 lines to kernel/exit.c, but saves 256 bytes from .o and imho makes the code much more readable. This patch temporary uglifies rusage/siginfo code a little bit, will be addressed by further cleanups. Signed-off-by: Oleg Nesterov Reviewed-by: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47918025efdabd34e96b13b26eb2cf2fd6fd1f7c Author: Oleg Nesterov Date: Wed Jun 17 16:27:39 2009 -0700 shift "ptrace implies WUNTRACED" from ptrace_do_wait() to wait_task_stopped() No functional changes, preparation for the next patch. ptrace_do_wait() adds WUNTRACED to options for wait_task_stopped() which should always accept the stopped tracee, even if do_wait() was called without WUNTRACED. Change wait_task_stopped() to check "ptrace || WUNTRACED" instead. This makes the code more explicit, and "int options" argument becomes const in do_wait() pathes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b34fc5880a2dcc7e5ed9837ef8d6bae051ab266 Author: Oleg Nesterov Date: Wed Jun 17 16:27:38 2009 -0700 elf_core_dump: use rcu_read_lock() to access ->real_parent In theory it is not safe to dereference ->parent/real_parent without tasklist or rcu lock, we can race with re-parenting. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72a1de39f89325a834a8c70b2a0d8f71d919f640 Author: Oleg Nesterov Date: Wed Jun 17 16:27:37 2009 -0700 copy_process(): remove the unneeded clear_tsk_thread_flag(TIF_SIGPENDING) The forked child can have TIF_SIGPENDING if it was copied from parent's ti->flags. But this is harmless and actually almost never happens, because copy_process() can't succeed if signal_pending() == T. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77d1ef79568b337f599b75795acc8f78a87ba9ba Author: Oleg Nesterov Date: Wed Jun 17 16:27:36 2009 -0700 wait_task_zombie: do not use thread_group_cputime() There is no reason for thread_group_cputime() in wait_task_zombie(), there must be no other threads. This call was previously needed to collect the per-cpu data which we do not have any longer. Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Acked-by: Roland McGrath Cc: Stanislaw Gruszka Cc: Vitaly Mayatskikh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e49612544c695117644af48bb4625264a3d2918f Author: Oleg Nesterov Date: Wed Jun 17 16:27:36 2009 -0700 ptrace: don't take tasklist to get/set ->last_siginfo Change ptrace_getsiginfo/ptrace_setsiginfo to use lock_task_sighand() without tasklist_lock. Perhaps it makes sense to make a single helper with "bool rw" argument. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d92656633b8352c6d4b14afcb7beb154d76e7aa6 Author: Oleg Nesterov Date: Wed Jun 17 16:27:35 2009 -0700 ptrace: do_notify_parent_cldstop: fix the wrong ->nsproxy usage If the non-traced sub-thread calls do_notify_parent_cldstop(), we send the notification to group_leader->real_parent and we report group_leader's pid. But, if group_leader is traced we use the wrong ->parent->nsproxy->pid_ns, the tracer and parent can live in different namespaces. Change the code to use "parent" instead of tsk->parent. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1e98f429aa10132b3010ba3b0be47552a2eb14b Author: Oleg Nesterov Date: Wed Jun 17 16:27:34 2009 -0700 ptrace: wait_task_zombie: s/->parent/->real_parent/ Change wait_task_zombie() to use ->real_parent instead of ->parent. We could even use current afaics, but ->real_parent is more clean. We know that the child is not ptrace_reparented() and thus they are equal. But we should avoid using task_struct->parent, we are going to remove it. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8053bdd5ce15dcf043d41a4dd6cac4a5567effdc Author: Oleg Nesterov Date: Wed Jun 17 16:27:34 2009 -0700 ptrace_get_task_struct: s/tasklist/rcu/, make it static - Use rcu_read_lock() instead of tasklist_lock to find/get the task in ptrace_get_task_struct(). - Make it static, it has no callers outside of ptrace.c. - The comment doesn't match the reality, this helper does not do any checks. Beacuse it is really trivial and static I removed the whole comment. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b105cbbaf7c06e01c27391957dc3c446328d087 Author: Oleg Nesterov Date: Wed Jun 17 16:27:33 2009 -0700 ptrace: do not use task_lock() for attach Remove the "Nasty, nasty" lock dance in ptrace_attach()/ptrace_traceme() - from now task_lock() has nothing to do with ptrace at all. With the recent changes nobody uses task_lock() to serialize with ptrace, but in fact it was never needed and it was never used consistently. However ptrace_attach() calls __ptrace_may_access() and needs task_lock() to pin task->mm for get_dumpable(). But we can call __ptrace_may_access() before we take tasklist_lock, ->cred_exec_mutex protects us against do_execve() path which can change creds and MMF_DUMP* flags. (ugly, but we can't use ptrace_may_access() because it hides the error code, so we have to take task_lock() and use __ptrace_may_access()). NOTE: this change assumes that LSM hooks, security_ptrace_may_access() and security_ptrace_traceme(), can be called without task_lock() held. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2f0b00ad61d53adfecb8bdf8f3cf8f05f6ed548 Author: Oleg Nesterov Date: Wed Jun 17 16:27:32 2009 -0700 ptrace: cleanup check/set of PT_PTRACED during attach ptrace_attach() and ptrace_traceme() are the last functions which look as if the untraced task can have task->ptrace != 0, this must not be possible. Change the code to just check ->ptrace != 0 and s/|=/=/ to set PT_PTRACED. Also, a couple of trivial whitespace cleanups in ptrace_attach(). And move ptrace_traceme() up near ptrace_attach() to keep them close to each other. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b79b7ba93df14a1fc0b8d4d6d78a0e097de03bbd Author: Oleg Nesterov Date: Wed Jun 17 16:27:31 2009 -0700 ptrace: ptrace_attach: check PF_KTHREAD + exit_state instead of ->mm - Add PF_KTHREAD check to prevent attaching to the kernel thread with a borrowed ->mm. With or without this change we can race with daemonize() which can set PF_KTHREAD or clear ->mm after ptrace_attach() does the check, but this doesn't matter because reparent_to_kthreadd() does ptrace_unlink(). - Kill "!task->mm" check. We don't really care about ->mm != NULL, and the task can call exit_mm() right after we drop task_lock(). What we need is to make sure we can't attach after exit_notify(), check task->exit_state != 0 instead. Also, move the "already traced" check down for cosmetic reasons. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cb11446892833e50970fb2277a9f7563b0a8bd3 Author: Oleg Nesterov Date: Wed Jun 17 16:27:30 2009 -0700 ptrace: do not use task->ptrace directly in core kernel No functional changes. - Nobody except ptrace.c & co should use ptrace flags directly, we have task_ptrace() for that. - No need to specially check PT_PTRACED, we must not have other PT_ bits set without PT_PTRACED. And no need to know this flag exists. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c216279539bd65c5a3d497e25d441dbddbcf1ec Author: Oleg Nesterov Date: Wed Jun 17 16:27:29 2009 -0700 ptrace: tracehook_unsafe_exec(): remove the stale comment tracehook_unsafe_exec() doesn't need task_lock(), remove the old comment. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dea33cfd99022d82d923a0c6a3bd895fb6683fb2 Author: Oleg Nesterov Date: Wed Jun 17 16:27:29 2009 -0700 ptrace: mm_need_new_owner: use ->real_parent to search in the siblings "Search in the siblings" should use ->real_parent, not ->parent. If the task is traced then ->parent == tracer, while the task's parent is always ->real_parent. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc Author: Oleg Nesterov Date: Wed Jun 17 16:27:27 2009 -0700 ptrace: remove PT_DTRACE from arch/m32r m32r: PTRACE_SINGLESTEP sets PT_DTRACE, it is never used except cleared after do_execve(). Signed-off-by: Oleg Nesterov Acked-by: Hirokazu Takata Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d35f8464dd51466e60447625784cf1740f03ff4 Author: Oleg Nesterov Date: Wed Jun 17 16:27:27 2009 -0700 ptrace: remove PT_DTRACE from m68k, m68knommu m68k sets PT_DTRACE in trap_c() but never uses it. Signed-off-by: Oleg Nesterov Acked-by: Geert Uytterhoeven Acked-by: Greg Ungerer Cc: Roman Zippel Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7 Author: Oleg Nesterov Date: Wed Jun 17 16:27:25 2009 -0700 ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa avr32, mn10300, parisc, s390, sh, xtensa: They never set PT_DTRACE, but clear it after do_execve(). Signed-off-by: Oleg Nesterov Cc: David Howells Acked-by: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Acked-by: Martin Schwidefsky Cc: Heiko Carstens Acked-by: Paul Mundt Acked-by: Chris Zankel Acked-by: Roland McGrath Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02e787494ada6026074189c5268b88b7ca5cd595 Author: Oleg Nesterov Date: Wed Jun 17 16:27:23 2009 -0700 ptrace: remove PT_DTRACE from arch/h8300 h8300 defines PT_DTRACE for asm but never uses it. DEFINE(PT_PTRACED, PT_PTRACED) seems to be unused too. Signed-off-by: Oleg Nesterov Acked-by: Yoshinori Sato Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87245135d5057edd5a8037131f81eeffd76d4fef Author: Oleg Nesterov Date: Wed Jun 17 16:27:23 2009 -0700 allow_signal: kill the bogus ->mm check, add a note about CLONE_SIGHAND allow_signal() checks ->mm == NULL. Not sure why. Perhaps to make sure current is the kernel thread. But this helper must not be used unless we are the kernel thread, kill this check. Also, document the fact that the CLONE_SIGHAND kthread must not use allow_signal(), unless the caller really wants to change the parent's ->sighand->action as well. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ffebca6aa7e1687905c842dd8c5c1e811e574e7 Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:21 2009 -0700 memcg: fix lru rotation in isolate_pages Try to fix memcg's lru rotation sanity: make memcg use the same logic as the global LRU does. Now, at __isolate_lru_page() retruns -EBUSY, the page is rotated to the tail of LRU in global LRU's isolate LRU pages. But in memcg, it's not handled. This makes memcg do the same behavior as global LRU and rotate LRU in the page is busy. Signed-off-by: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Acked-by: Daisuke Nishimura Cc: Balbir Singh Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5b947b28828e82814605824e5db0bc58d66d8c0 Author: Daisuke Nishimura Date: Wed Jun 17 16:27:20 2009 -0700 memcg: add interface to reset limits We don't have an interface to reset mem.limit or memsw.limit now. This patch allows to reset mem.limit or memsw.limit when they are being set to -1. Signed-off-by: Daisuke Nishimura Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a668d7c3ef833e7d67e9cef587ecc78069d532 Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:19 2009 -0700 memcg: fix behavior under memory.limit equals to memsw.limit A user can set memcg.limit_in_bytes == memcg.memsw.limit_in_bytes when the user just want to limit the total size of applications, in other words, not very interested in memory usage itself. In this case, swap-out will be done only by global-LRU. But, under current implementation, memory.limit_in_bytes is checked at first and try_to_free_page() may do swap-out. But, that swap-out is useless for memsw.limit_in_bytes and the thread may hit limit again. This patch tries to fix the current behavior at memory.limit == memsw.limit case. And documentation is updated to explain the behavior of this special case. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a9478ca7f4bcb8945cec7f95d52dae2d5e50cbd Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:17 2009 -0700 memcg: fix swap accounting This patch fixes mis-accounting of swap usage in memcg. In the current implementation, memcg's swap account is uncharged only when swap is completely freed. But there are several cases where swap cannot be freed cleanly. For handling that, this patch changes that memcg uncharges swap account when swap has no references other than cache. By this, memcg's swap entry accounting can be fully synchronous with the application's behavior. This patch also changes memcg's hooks for swap-out. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ebcdda78a282d1d5266887ddf8a2d670182576 Author: Li Zefan Date: Wed Jun 17 16:27:16 2009 -0700 memcg: remove unneeded forward declaration from sched.h This forward declaration seems pointless. Signed-off-by: Li Zefan Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 338c843108bf5030d6765f4405126e70f8b77845 Author: Li Zefan Date: Wed Jun 17 16:27:15 2009 -0700 memcg: remove some redundant checks We don't need to check do_swap_account in the case that the function which checks do_swap_account will never get called if do_swap_account == 0. Signed-off-by: Li Zefan Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 302362c5abdda80b5c2e4e57be610c2e3c2ab3c5 Author: Daisuke Nishimura Date: Wed Jun 17 16:27:15 2009 -0700 memcg: remove mem_cgroup_cache_charge_swapin() mem_cgroup_cache_charge_swapin() isn't used any more, so remove no-op definition of it in header file. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d69b042f3d7406ddba560143b1796020df760800 Author: Balbir Singh Date: Wed Jun 17 16:26:34 2009 -0700 memcg: add file-based RSS accounting Add file RSS tracking per memory cgroup We currently don't track file RSS, the RSS we report is actually anon RSS. All the file mapped pages, come in through the page cache and get accounted there. This patch adds support for accounting file RSS pages. It should 1. Help improve the metrics reported by the memory resource controller 2. Will form the basis for a future shared memory accounting heuristic that has been proposed by Kamezawa. Unfortunately, we cannot rename the existing "rss" keyword used in memory.stat to "anon_rss". We however, add "mapped_file" data and hope to educate the end user through documentation. [hugh.dickins@tiscali.co.uk: fix mem_cgroup_update_mapped_file_stat oops] Signed-off-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Dhaval Giani Cc: Daisuke Nishimura Cc: YAMAMOTO Takashi Cc: KOSAKI Motohiro Cc: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd5008196f7e583f4c558531a2bca59f6c674c5b Author: Li Zefan Date: Wed Jun 17 16:26:33 2009 -0700 devcgroup: skip superfluous checks when found the DEV_ALL elem While walking through the whitelist, if the DEV_ALL item is found, no more check is needed. Signed-off-by: Li Zefan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9ab5b5b0f5be506640321d710b0acd3dca6154a Author: Li Zefan Date: Wed Jun 17 16:26:33 2009 -0700 cgroups: forbid noprefix if mounting more than just cpuset subsystem The 'noprefix' option was introduced for backwards-compatibility of cpuset, but actually it can be used when mounting other subsystems. This results in possibility of name collision, and now the collision can really happen, because we have 'stat' file in both memory and cpuacct subsystem: # mount -t cgroup -o noprefix,memory,cpuacct xxx /mnt Cgroup will happily mount the 2 subsystems, but only 'stat' file of memory subsys can be seen. We don't want users to use nopreifx, and also want to avoid name collision, so we change to allow noprefix only if mounting just the cpuset subsystem. [akpm@linux-foundation.org: fix shift for cpuset_subsys_id >= 32] Signed-off-by: Li Zefan Cc: Paul Menage Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Acked-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca739e3694b83cdf22be0f6eff063e721deb1e4 Author: Randy Dunlap Date: Wed Jun 17 16:26:32 2009 -0700 cgroups: make messages more readable Fix some cgroup messages to read better. Update MAINTAINERS to include mm/*cgroup* files. Signed-off-by: Randy Dunlap Cc: Paul Menage Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f06c6f4ba2ff450b134b82a3285a26f232a2c1 Author: Jaswinder Singh Rajput Date: Wed Jun 17 16:26:30 2009 -0700 Documentation/connector/cn_test.c comment unused cn_test_want_notify() Currently cn_test_want_notify() has no user. So add an ifdef and a comment which tells us to not remove it. Signed-off-by: Jaswinder Singh Rajput Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 082196242e24ff13354a2d376b275e01c08e6799 Author: Jose Luis Perez Diez Date: Wed Jun 17 16:26:30 2009 -0700 Documentation/Changes: perl is needed to build the kernel Perl is used on the kernel Makefile to generate documentation, firmwares in c source form, sources, graphs, and some headers and this fact is undocumented. [akpm@linux-foundation.org: 80-columns, please] Signed-off-by: Jose Luis Perez Diez Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d965fe0eb435b3f9a10538815f6a68de0aef03c Author: Jeff Mahoney Date: Wed Jun 17 16:26:29 2009 -0700 reiserfs: fix warnings with gcc 4.4 Several code paths in reiserfs have a construct like: if (is_direntry_le_ih(ih = B_N_PITEM_HEAD(src, item_num))) ... which, in addition to being ugly, end up causing compiler warnings with gcc 4.4.0. Previous compilers didn't issue a warning. fs/reiserfs/do_balan.c:1273: warning: operation on `aux_ih' may be undefined fs/reiserfs/lbalance.c:393: warning: operation on `ih' may be undefined fs/reiserfs/lbalance.c:421: warning: operation on `ih' may be undefined fs/reiserfs/lbalance.c:777: warning: operation on `ih' may be undefined I believe this is due to the ih being passed to macros which evaluate the argument more than once. This is old code and we haven't seen any problems with it, but this patch eliminates the warnings. It converts the multiple evaluation macros to static inlines and does a preassignment for the cases that were causing the warnings because that code is just ugly. Reported-by: Chris Mason Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37044c86baf8cb894c69bb811e35a7f6f6dbce1c Author: Roel Kluin Date: Wed Jun 17 16:26:28 2009 -0700 ufs: sector_t cannot be negative unsigned i_block,fragment cannot be negative. Signed-off-by: Roel Kluin Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5404ac8e4418ab3d254950ee4f9bcafc1da20b4a Author: Jan Kara Date: Wed Jun 17 16:26:27 2009 -0700 isofs: cleanup mount option processing Remove unused variables from isofs_sb_info (used to be some mount options), unify variables for option to use 0/1 (some options used 'y'/'n'), use bit fields for option flags in superblock. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c4a656b7e51503c2b5e7e7310ec326ee38a8389 Author: Jan Kara Date: Wed Jun 17 16:26:27 2009 -0700 isofs: fix setting of uid and gid to 0 isofs allows setting of default uid and gid of files but value 0 was used to indicate that user did not specify any uid/gid mount option. Since this option also overrides uid/gid set in Rock Ridge extension, it makes sense to allow forcing uid/gid 0. Fix option processing to allow this. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52b680c81238ea14693ab893d5d32a4d1c0a987d Author: Jan Kara Date: Wed Jun 17 16:26:25 2009 -0700 isofs: let mode and dmode mount options override rock ridge mode setting So far, permissions set via 'mode' and/or 'dmode' mount options were effective only if the medium had no rock ridge extensions (or was mounted without them). Add 'overriderockmode' mount option to indicate that these options should override permissions set in rock ridge extensions. Maybe this should be default but the current behavior is there since mount options were created so I think we should not change how they behave. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef43618a47179b41e7203a624f2c7445e7da488c Author: Jan Kara Date: Wed Jun 17 16:26:24 2009 -0700 ext3: make sure inode is deleted from orphan list after truncate As Ted pointed out, it can happen that ext3_truncate() returns without removing inode from orphan list. This way we could in some rare cases (like when we get ENOMEM from an allocation in ext3_truncate called because of failed ext3_write_begin) leave the inode on orphan list and that triggers assertion failure on umount. So make ext3_truncate() always remove inode from in-memory orphan list. Cc: Theodore Ts'o Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f3f1cb21f08fbf757bbbbb0709ee515a7a7c6ad Author: Hisashi Hifumi Date: Wed Jun 17 16:26:23 2009 -0700 jbd: clean up journal_try_to_free_buffers() I delete the following patch "commit 3f31fddfa26b7594b44ff2b34f9a04ba409e0f91 Author: Mingming Cao Date: Fri Jul 25 01:46:22 2008 -0700 jbd: fix race between free buffer and commit transaction This patch is no longer needed because if race between freeing buffer and committing transaction functionality occurs and dio gets error, currently dio falls back to buffered IO by the following patch. commit 6ccfa806a9cfbbf1cd43d5b6aa47ef2c0eb518fd Author: Hisashi Hifumi Date: Tue Sep 2 14:35:40 2008 -0700 VFS: fix dio write returning EIO when try_to_release_page fails Signed-off-by: Hisashi Hifumi Cc: Theodore Tso Cc: Mingming Cao Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8ef7aaea79a899be4d7f50e829900c0ce15e52f Author: Jan Kara Date: Wed Jun 17 16:26:23 2009 -0700 ext3: fix chain verification in ext3_get_blocks() Chain verification in ext3_get_blocks() has been hosed since it called verify_chain(chain, NULL) which always returns success. As a result readers could in theory race with truncate. On the other hand the race probably cannot happen with the current locking scheme, since by the time ext3_truncate() is called all the pages are already removed and hence get_block() shouldn't be called on such pages... Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce05b2a9db1d86635a906f14427deff97eeb6183 Author: Michael Shields Date: Wed Jun 17 16:26:22 2009 -0700 Doc fix: ext2 can only have 32,000 subdirs, not 32,768 ext2.txt says that dirs can have 32,768 subdirs, but the actual value of EXT2_LINK_MAX is 32000. ext3 is the same, but the doc does not mention it. One of ext4's features is to "fix 32000 subdirectory limit". Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39fe7557b4d6ab82bafaa7b92b98b806afe6ad0d Author: Jan Kara Date: Wed Jun 17 16:26:20 2009 -0700 ext2: Do not update mtime of a moved directory One of our users is complaining that his backup tool is upset on ext2 (while it's happy on ext3, xfs, ...) because of the mtime change. The problem is: mkdir foo mkdir bar mkdir foo/a Now under ext2: mv foo/a foo/b changes mtime of 'foo/a' (foo/b after the move). That does not really make sense and it does not happen under any other filesystem I've seen. More complicated is: mv foo/a bar/a This changes mtime of foo/a (bar/a after the move) and it makes some sense since we had to update parent directory pointer of foo/a. But again, no other filesystem does this. So after some thoughts I'd vote for consistency and change ext2 to behave the same as other filesystems. Do not update mtime of a moved directory. Specs don't say anything about it (neither that it should, nor that it should not be updated) and other common filesystems (ext3, ext4, xfs, reiserfs, fat, ...) don't do it. So let's become more consistent. Spotted by ronny.pretzsch@dfs.de, initial fix by Jörn Engel. Reported-by: Cc: Cc: Jörn Engel Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10dfb54cd59a18786e43137a935277ca743bb54b Author: Nate Case Date: Wed Jun 17 16:26:18 2009 -0700 gpio: pca953x: Add support for PCA9556 PCA9556 is the software-compatible predecessor to the PCA9557, so add it to the supported I2C device ID table. Signed-off-by: Nate Case Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1965d30356c1c65660ba3330927671cfe81acdd5 Author: Nate Case Date: Wed Jun 17 16:26:17 2009 -0700 gpio: pca953x: Get platform_data from OpenFirmware On OpenFirmware platforms, it makes the most sense to get platform_data from the device tree. Make an attempt to translate OF node properties into platform_data struct before bailing out. Note that the implementation approach taken differs from other device drivers that make use of device tree information. This is because I2C chips are already registered automatically by of_i2c, so we can get by with a small translator function in the driver. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: kfree(NULL) is legal] Signed-off-by: Nate Case Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de3483b071d9f75490f52c1be78434ac4eeccea5 Author: Mike Frysinger Date: Wed Jun 17 16:26:16 2009 -0700 gpio: max7301: add missing __devexit marking The remove member of the spi_driver max7301_driver uses __devexit_p(), so the remove function itself should be marked with __devexit. Even more so considering the probe function is marked with __devinit. Signed-off-by: Mike Frysinger Acked-by: Juergen Beisert Cc: Dmitry Baryshkov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77906a546127e056dbdac618a7afb5b92d00c058 Author: Daniel Silverstone Date: Wed Jun 17 16:26:15 2009 -0700 pca953x: support GPIOLIB GPIO naming Add support to the PCA953x driver to use the GPIOLIB naming facility for GPIOs. Signed-off-by: Daniel Silverstone Cc: Ben Gardner Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bfa58dd4ac8b07b28d4d48780fd44ee6215562b Author: Mike Frysinger Date: Wed Jun 17 16:26:14 2009 -0700 drivers/char/rtc: disable legacy RTC driver on Blackfin systems Blackfin platforms do not support the hardware which this driver drives. Signed-off-by: Mike Frysinger Cc: Christoph Hellwig Cc: Paul Mundt Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 014b6e90a38a8e7e0bfeb2ef47608559ccdd61fa Author: Atsushi Nemoto Date: Wed Jun 17 16:26:13 2009 -0700 rtc-ds1553: drop IRQF_SHARED IRQF_SHARED should not be used with IRQF_DISABLED. There is no in-tree user of this driver and only out-of-tree user I know uses a dedicated irq line for this RTC. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a817f7f5d95e8dde1b1ef57bd7c0a1fa7118268 Author: Atsushi Nemoto Date: Wed Jun 17 16:26:12 2009 -0700 rtc-tx4939: drop IRQF_SHARED IRQF_SHARED should not be used with IRQF_DISABLED. This RTC have a dedicated irq line to SoC's internal interrupt controller so there is no reason to use IRQF_SHARED. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c2b9075cbdb541dbe486bde45925c9610de6f35 Author: Wolfgang Grandegger Date: Wed Jun 17 16:26:11 2009 -0700 rtc: add stand-alone driver for RX8025 chip Add support for the Epson RX-8025SA/NB RTC chips. It includes support for alarms, periodic interrupts (1 Hz) and clock precision adjustment. For clock precision adjustment, the SYSFS file "clock_adjust_ppb" gets created in "/sys/class/rtc/rtcX/device". It permits to set and get the clock adjustment in ppb (parts per billion), e.g.: # echo -183000 > /sys/class/rtc/rtc0/device/clock_adjust_ppb # cat /sys/class/rtc/rtc0/device/clock_adjust_ppb -183000 This allows to compensate temperature dependent clock drifts. According to the RX8025 SA/NB application manual the frequency and temperature characteristics can be approximated using the following equation: df = a * (ut - t)**2 df: Frequency deviation in any temperature a : Coefficient = (-35 +-5) * 10**-9 ut: Ultimate temperature in degree = +25 +-5 degree t : Any temperature in degree Signed-off-by: Wolfgang Grandegger Signed-off-by: Sergei Poselenov Signed-off-by: Yuri Tikhonov Signed-off-by: Dmitry Rakhchev Signed-off-by: Matthias Fuchs Acked-by: Jean Delvare Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97f902b7be4dd6ba03c6aa8d3400783ed687ebd1 Author: Wolfram Sang Date: Wed Jun 17 16:26:10 2009 -0700 rtc: rtc-ds1307 add ds3231 Add ds3231 variant. For that, the BBSQI bit position was changed from a simple define into a lookup-array as it differs. This also removes writing to an unused bit in case of the ds1337. Signed-off-by: Wolfram Sang Acked-by: David Brownell Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33df2ee1bb59b8cd14e3a375d826a40de21f388c Author: Joakim Tjernlund Date: Wed Jun 17 16:26:08 2009 -0700 rtc: rtc-ds1307 add ds1388 Extend the ds1307 driver to support ds1388 too. Signed-off-by: Joakim Tjernlund Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a72970054e72e6d3b5cdb7364a079f8ecae62af Author: Torsten Ertbjerg Rasmussen Date: Wed Jun 17 16:26:07 2009 -0700 rtc: rtc-ds1742 nvram attribute fix The RTC driver for ds1742 / ds1743 uses a static nvram attribute. This patch replaces this static attribute with one nvram attribute for each ds174x registered. The nvram size is not the same for all types of ds174x. The nvram size is accessible as the file size of the nvram attribute in sysfs. With only a single nvram attribute, this file size will be incorrect if more than one type of ds174x is present on a system. See the comment in the removed code below. This patch have been tested with linux-2.6.28 and linux-2.6.29-rc5/6 on a custom board with one ds1743. Signed-off-by: Torsten Ertbjerg Rasmussen Signed-off-by: Alessandro Zummo Cc: Atsushi Nemoto Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 275704970c76c2453b656967586de9c35d247eae Author: Jiri Pirko Date: Wed Jun 17 16:26:06 2009 -0700 spi: fix spi_write_then_read() comment Buffer needs not be dma-safe, not rx data length. Signed-off-by: Jiri Pirko Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50e0a7bd02f95be95ac03299b0356ba6400d1c6d Author: Daniel Ribeiro Date: Wed Jun 17 16:26:06 2009 -0700 pxa2xx_spi: fix for SPI_CS_HIGH Commit a7bb3909b3293d503211d7f6af8ed62c1644b686 ("spi: pxa2xx_spi: introduce chipselect GPIO to simplify the common cases") introduces chipselect GPIO, and configures the CS polarity using SPI_CS_HIGH spi->mode flag. Add SPI_CS_HIGH to the allowed modes. Signed-off-by: Daniel Ribeiro Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7390284290b184a7f4bb648ca15dc62c3dea3e75 Author: Anton Vorontsov Date: Wed Jun 17 16:26:05 2009 -0700 mpc52xx_psc_spi: convert to cs_control callback mpc52xx_psc_spi driver is the last user of the legacy activate_cs and deactivate_cs callbacks, so convert the driver to the cs_control hook and remove the legacy callbacks from fsl_spi_platform_data struct. Signed-off-by: Anton Vorontsov Cc: Grant Likely Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7db06b5d5afcef15c4c3e61c3a7441ed7ad1407 Author: David Brownell Date: Wed Jun 17 16:26:04 2009 -0700 spi: move more spi_setup() functionality into core Move some common spi_setup() error checks into the SPI framework from the spi_master controller drivers: - Add a new "mode_bits" field to spi_master - Use that in spi_setup to validate the spi->mode value being requested. Setting this new field is now mandatory for any controller supporting more than vanilla SPI_MODE_0. - Update all spi_master drivers to: * Initialize that field * Remove current spi_setup() checks using that value. This is a net minor code shrink. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d0771970c51e736758525dd71fb82dd036b823a Author: David Brownell Date: Wed Jun 17 16:26:03 2009 -0700 spi: move common spi_setup() functionality into core Start moving some spi_setup() functionality into the SPI core from the various spi_master controller drivers: - Make that function stop being an inline; - Move two common idioms from drivers into that new function: * Default bits_per_word to 8 if that field isn't set * Issue a standardized dev_dbg() message This is a net minor source code shrink, and supports enhancments found in some follow-up patches. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4bd2ababd20b6ecdd49cf96e39c875fbedd53af Author: Roel Kluin Date: Wed Jun 17 16:26:02 2009 -0700 spi_bfin5xx: limit reaches -1 bfin_spi_flush() returns limit, which reaches -1 upon timeout. but in function bfin_spi_pump_transfers() it is compared with 0. Signed-off-by: Roel Kluin Acked-by: David Brownell Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 349888ee7b2c1ffb44c806adf6f4289ca4a6fd42 Author: Stefani Seibold Date: Wed Jun 17 16:26:01 2009 -0700 proc.txt: update kernel filesystem/proc.txt documentation An update for the "Process-Specific Subdirectories" section to reflect the changes till kernel 2.6.30. Signed-off-by: Stefani Seibold Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f6d311080c36e30a5fa87adca550dc6b51dbfdc Author: Cyrill Gorcunov Date: Wed Jun 17 16:26:00 2009 -0700 proc: vmcore - use kzalloc in get_new_element() Instead of kmalloc+memset better use straight kzalloc Signed-off-by: Cyrill Gorcunov Reviewed-by: WANG Cong Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcac2b1b7d67f4e7c001b755409fafb37cb0d888 Author: Michal Simek Date: Wed Jun 17 16:25:59 2009 -0700 procfs: remove sparse errors in proc_devtree.c CHECK fs/proc/proc_devtree.c fs/proc/proc_devtree.c:197:14: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:203:34: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:210:14: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:223:26: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:226:14: warning: Using plain integer as NULL pointer Signed-off-by: Michal Simek Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fe4a975d662f11037cb710f8b4b158a3e38f9c0 Author: Davide Libenzi Date: Wed Jun 17 16:25:58 2009 -0700 epoll: fix nested calls support This fixes a regression in 2.6.30. I unfortunately accepted a patch time ago, to drop the "current" usage from possible IRQ context, w/out proper thought over it. The patch switched to using the CPU id by bounding the nested call callback with a get_cpu()/put_cpu(). Unfortunately the ep_call_nested() function can be called with a callback that grabs sleepy locks (from own f_op->poll()), that results in epic fails. The following patch uses the proper "context" depending on the path where it is called, and on the kind of callback. This has been reported by Stefan Richter, that has also verified the patch is his previously failing environment. Signed-off-by: Davide Libenzi Reported-by: Stefan Richter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36025a812eebb34a478cfc1d3a538472591498b0 Author: Andrew Morton Date: Wed Jun 17 16:25:56 2009 -0700 MAINTAINERS: fbdev is orphaned Tony hasn't been heard from in 18 months and people keep sending him things. Cc: Joe Perches Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3d64df21d3d0de675a0d3ffa7c10514f3644b30 Author: Keika Kobayashi Date: Wed Jun 17 16:25:55 2009 -0700 proc: export statistics for softirq to /proc Export statistics for softirq in /proc/softirqs and /proc/stat. 1. /proc/softirqs Implement /proc/softirqs which shows the number of softirq for each CPU like /proc/interrupts. 2. /proc/stat Add the "softirq" line to /proc/stat. This line shows the number of softirq for all cpu. The first column is the total of all softirqs and each subsequent column is the total for particular softirq. [kosaki.motohiro@jp.fujitsu.com: remove redundant for_each_possible_cpu() loop] Signed-off-by: Keika Kobayashi Reviewed-by: Hiroshi Shimamoto Cc: KOSAKI Motohiro Cc: Ingo Molnar Cc: Eric Dumazet Cc: Alexey Dobriyan Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d9b8fb0e5ebf4b0398e579f6061d4451fea3242 Author: Robin Getz Date: Wed Jun 17 16:25:54 2009 -0700 irqs: add IRQF_SAMPLE_RANDOM to the feature-removal-schedule.txt (deprecated) list This adds IRQF_SAMPLE_RANDOM to the feature-removal (deprecated) list since most of the IRQF_SAMPLE_RANDOM users are technically bogus as entropy sources in the kernel's current entropy model. This was discussed on the lkml the past few days, which started here: http://lkml.org/lkml/2009/4/6/283 Signed-off-by: Robin Getz Cc: Theodore Ts'o Cc: Matt Mackall Cc: Randy Dunlap Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0ce5bbc2dbb1853bd0c6d13f17716fcc38ac5a Author: Keika Kobayashi Date: Wed Jun 17 16:25:52 2009 -0700 softirq: introduce statistics for softirq Statistics for softirq doesn't exist. It will be helpful like statistics for interrupts. This patch introduces counting the number of softirq, which will be exported in /proc/softirqs. When softirq handler consumes much CPU time, /proc/stat is like the following. $ while :; do cat /proc/stat | head -n1 ; sleep 10 ; done cpu 88 0 408 739665 583 28 2 0 0 cpu 450 0 1090 740970 594 28 1294 0 0 ^^^^ softirq In such a situation, /proc/softirqs shows us which softirq handler is invoked. We can see the increase rate of softirqs. $ cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI 0 0 0 0 TIMER 462850 462805 462782 462718 NET_TX 0 0 0 365 NET_RX 2472 2 2 40 BLOCK 0 0 381 1164 TASKLET 0 0 0 224 SCHED 462654 462689 462698 462427 RCU 3046 2423 3367 3173 $ cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI 0 0 0 0 TIMER 463361 465077 465056 464991 NET_TX 53 0 1 365 NET_RX 3757 2 2 40 BLOCK 0 0 398 1170 TASKLET 0 0 0 224 SCHED 463074 464318 464612 463330 RCU 3505 2948 3947 3673 When CPU TIME of softirq is high, the rates of increase is the following. TIMER : 220/sec : CPU1-3 NET_TX : 5/sec : CPU0 NET_RX : 120/sec : CPU0 SCHED : 40-200/sec : all CPU RCU : 45-58/sec : all CPU The rates of increase in an idle mode is the following. TIMER : 250/sec SCHED : 250/sec RCU : 2/sec It seems many softirqs for receiving packets and rcu are invoked. This gives us help for checking system. Signed-off-by: Keika Kobayashi Reviewed-by: Hiroshi Shimamoto Reviewed-by: KOSAKI Motohiro Cc: Ingo Molnar Cc: Eric Dumazet Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a298b2acd771d8a5c0004d8f8e4156c65b11f6b Author: Eric Anholt Date: Tue Mar 24 12:23:04 2009 -0700 drm: Remove memory debugging infrastructure. It hasn't been used in ages, and having the user tell your how much memory is being freed at free time is a recipe for disaster even if it was ever used. Signed-off-by: Eric Anholt commit 52dc7d32b88156248167864f77a9026abe27b432 Author: Chris Wilson Date: Sat Jun 6 09:46:01 2009 +0100 drm/i915: Clear fence register on tiling stride change. The fence register value also depends upon the stride of the object, so we need to clear the fence if that is changed as well. Signed-off-by: Chris Wilson [anholt: Added 8xx and 965 paths, and renamed the confusing i915_gem_object_tiling_ok function to i915_gem_object_fence_offset_ok] Signed-off-by: Eric Anholt commit 8c4b8c3f34de4e2da20df042bba173fe557f8b45 Author: Chris Wilson Date: Wed Jun 17 22:08:52 2009 +0100 drm/i915: Install fence register for tiled scanout on i915 With the work by Jesse Barnes to eliminate allocation of fences during execbuffer, it becomes possible to write to the scan-out buffer with it never acquiring a fence (simply by only ever writing to the object using tiled GPU commands and never writing to it via the GTT). So for pre-i965 chipsets which require fenced access for tiled scan-out buffers, we need to obtain a fence register. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit b1f49f9582f9be6de5055cfa97eabf6246f2eaf7 Author: Hidetoshi Seto Date: Thu Jun 18 14:53:24 2009 +0900 x86, mce: fix error path in mce_create_device() Don't skip removing mce_attrs in route from error2. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Cc: Huang Ying Signed-off-by: H. Peter Anvin commit b8e6d829729d1a5991a9f628205b671cac2ec06f Author: Ingo Molnar Date: Thu Jun 18 14:32:19 2009 +0200 perf report: Filter to parent set by default Make it easier to use parent filtering - default to a filtered output. Also add the parent column so that we get collapsing but dont display it by default. add --no-exclude-other to override this. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9d91a6f7a489eb914c16b82d927f9d81d629c259 Author: Peter Zijlstra Date: Thu Jun 18 11:40:28 2009 +0200 perf_counter tools: Handle lost events Make use of the new ->data_tail mechanism to tell kernel-space about user-space draining the data stream. Emit lost events (and display them) if they happen. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 43a21ea81a2400992561146327c4785ce7f7be38 Author: Peter Zijlstra Date: Wed Mar 25 19:39:37 2009 +0100 perf_counter: Add event overlow handling Alternative method of mmap() data output handling that provides better overflow management and a more reliable data stream. Unlike the previous method, that didn't have any user->kernel feedback and relied on userspace keeping up, this method relies on userspace writing its last read position into the control page. It will ensure new output doesn't overwrite not-yet read events, new events for which there is no space left are lost and the overflow counter is incremented, providing exact event loss numbers. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d3a9262e59f7fb83c6d44df3b2b1460ed57d3ea1 Author: Peter Zijlstra Date: Thu Jun 18 12:54:00 2009 +0200 fs: Provide empty .set_page_dirty() aop for anon inodes .set_page_dirty() is one of those a_ops that defaults to the buffer implementation when not set. Therefore provide a dummy function to make it do nothing. (Uncovered by perfcounters fd's which can now be writable-mmap-ed.) Signed-off-by: Peter Zijlstra Cc: Al Viro Cc: Davide Libenzi LKML-Reference: Signed-off-by: Ingo Molnar commit 944557116908cbe835be41bfbd39d9706da9fd71 Author: Matt Fleming Date: Thu Jun 18 10:03:33 2009 +0100 sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn GCC 4.5.0 complains about the declaration of variables __kernel_sigreturn and __kernel_rt_sigreturn because they have type void. Correctly declare these symbols as functions to fix the following error, arch/sh/kernel/signal_32.c: In function 'setup_frame': arch/sh/kernel/signal_32.c:368:14: error: taking address of expression of type 'void' arch/sh/kernel/signal_32.c: In function 'setup_rt_frame': arch/sh/kernel/signal_32.c:452:14: error: taking address of expression of type 'void' make[1]: *** [arch/sh/kernel/signal_32.o] Error 1 make: *** [arch/sh/kernel] Error 2 Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e24a72c4d8f0b2c17783b3ba9c8931b537149423 Author: Paul Mackerras Date: Wed Jun 17 21:54:26 2009 +1000 perf_counter: tools: Makefile tweaks for 64-bit powerpc On 64-bit powerpc, perf needs to be built as a 64-bit executable. This arranges to add the -m64 flag to CFLAGS if we are running on a 64-bit machine, indicated by the result of uname -m ending in "64". This means that we'll use -m64 on x86_64 machines as well. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55666.866148.559620@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 7325927e5a20bfe0f006acf92801bf41c537d3d4 Author: Paul Mackerras Date: Wed Jun 17 21:53:51 2009 +1000 perf_counter: powerpc: Add processor back-end for MPC7450 family This adds support for the performance monitor hardware on the MPC7450 family of processors (7450, 7451, 7455, 7447/7457, 7447A, 7448), used in the later Apple G4 powermacs/powerbooks and other machines. These machines have 6 hardware counters with a unique set of events which can be counted on each counter, with some events being available on multiple counters. Raw event codes for these processors are (PMC << 8) + PMCSEL. If PMC is non-zero then the event is that selected by the given PMCSEL value for that PMC (hardware counter). If PMC is zero then the event selected is one of the low-numbered ones that are common to several PMCs. In this case PMCSEL must be <= 22 and the event is what that PMCSEL value would select on PMC1 (but it may be placed any other PMC that has the same event for that PMCSEL value). For events that count cycles or occurrences that exceed a threshold, the threshold requested can be specified in the 0x3f000 bits of the raw event codes. If the event uses the threshold multiplier bit and that bit should be set, that is indicated with the 0x40000 bit of the raw event code. This fills in some of the generic cache events. Unfortunately there are quite a few blank spaces in the table, partly because these processors tend to count cache hits rather than cache accesses. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55631.802122.696927@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 98fb1807b97e3e631b940f67544e265c64b984dc Author: Paul Mackerras Date: Wed Jun 17 21:53:10 2009 +1000 perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels This abstracts a few things in arch/powerpc/kernel/perf_counter.c that are specific to 64-bit kernels, and provides definitions for 32-bit kernels. In particular, * Only 64-bit has MMCRA and the bits in it that give information about a PMU interrupt (sampled PR, HV, slot number etc.) * Only 64-bit has the lppaca and the lppaca->pmcregs_in_use field * Use of SDAR is confined to 64-bit for now * Only 64-bit has soft/lazy interrupt disable and therefore pseudo-NMIs (interrupts that occur while interrupts are soft-disabled) * Only 64-bit has PMC7 and PMC8 * Only 64-bit has the MSR_HV bit. This also fixes the types used in a couple of places, where we were using long types for things that need to be 64-bit. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55590.634126.876084@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 079b3c569c87819e7a19d9b9f51d4746fc47bf9a Author: Paul Mackerras Date: Wed Jun 17 21:52:09 2009 +1000 perf_counter: powerpc: Change how processor-specific back-ends get selected At present, the powerpc generic (processor-independent) perf_counter code has list of processor back-end modules, and at initialization, it looks at the PVR (processor version register) and has a switch statement to select a suitable processor-specific back-end. This is going to become inconvenient as we add more processor-specific back-ends, so this inverts the order: now each back-end checks whether it applies to the current processor, and registers itself if so. Furthermore, instead of looking at the PVR, back-ends now check the cur_cpu_spec->oprofile_cpu_type string and match on that. Lastly, each back-end now specifies a name for itself so the core can print a nice message when a back-end registers itself. This doesn't provide any support for unregistering back-ends, but that wouldn't be hard to do and would allow back-ends to be modules. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55529.762227.518531@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 448d64f8f4c147db466c549550767cc515a4d34c Author: Paul Mackerras Date: Wed Jun 17 21:51:13 2009 +1000 perf_counter: powerpc: Use unsigned long for register and constraint values This changes the powerpc perf_counter back-end to use unsigned long types for hardware register values and for the value/mask pairs used in checking whether a given set of events fit within the hardware constraints. This is in preparation for adding support for the PMU on some 32-bit powerpc processors. On 32-bit processors the hardware registers are only 32 bits wide, and the PMU structure is generally simpler, so 32 bits should be ample for expressing the hardware constraints. On 64-bit processors, unsigned long is 64 bits wide, so using unsigned long vs. u64 (unsigned long long) makes no actual difference. This makes some other very minor changes: adjusting whitespace to line things up in initialized structures, and simplifying some code in hw_perf_disable(). Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55473.26174.331511@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 105988c015943e77092a6568bc5fb7e386df6ccd Author: Paul Mackerras Date: Wed Jun 17 21:50:04 2009 +1000 perf_counter: powerpc: Enable use of software counters on 32-bit powerpc This enables the perf_counter subsystem on 32-bit powerpc. Since we don't have any support for hardware counters on 32-bit powerpc yet, only software counters can be used. Besides selecting HAVE_PERF_COUNTERS for 32-bit powerpc as well as 64-bit, the main thing this does is add an implementation of set_perf_counter_pending(). This needs to arrange for perf_counter_do_pending() to be called when interrupts are enabled. Rather than add code to local_irq_restore as 64-bit does, the 32-bit set_perf_counter_pending() generates an interrupt by setting the decrementer to 1 so that a decrementer interrupt will become pending in 1 or 2 timebase ticks (if a decrementer interrupt isn't already pending). When interrupts are enabled, timer_interrupt() will be called, and some new code in there calls perf_counter_do_pending(). We use a per-cpu array of flags to indicate whether we need to call perf_counter_do_pending() or not. This introduces a couple of new Kconfig symbols: PPC_HAVE_PMU_SUPPORT, which is selected by processor families for which we have hardware PMU support (currently only PPC64), and PPC_PERF_CTRS, which enables the powerpc-specific perf_counter back-end. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55404.103840.393470@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e Author: Martin K. Petersen Date: Thu Jun 18 09:56:03 2009 +0200 block: Fix bounce_pfn setting Correct stacking bounce_pfn limit setting and prevent warnings on 32-bit. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ddeb9c3e949751992628628d000915a317df52c4 Author: Christoph Hellwig Date: Tue Jun 16 22:07:32 2009 +0200 hd: stop defining MAJOR_NR Just use HD_MAJOR directly. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit cb2107be43d2fc5eadec58b92b54bf32c00bfff3 Author: Dhananjay Phadke Date: Wed Jun 17 17:27:25 2009 +0000 netxen: fix tx ring accounting This forces every update of tx ring producer to check for availability of space for next full TSO command. Earlier firmware control commands didn't care to pause tx queue. Stop the tx queue if there's not enough space to transmit one full LSO command left on the tx ring after current transmit. This avoids returning NETDEV_TX_BUSY after checking distance between producer and consumer on every cpu. Restart the tx queue only if we have cleaned up enough tx descriptors. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d173346040af497af22818dfc48cff369e67cf50 Author: Dhananjay Phadke Date: Wed Jun 17 17:27:24 2009 +0000 netxen: fix detection of cut-thru firmware mode Fix the detection of cut-thru mode of the hardware (direct dma to host) to mode configured in SRE (ingress block) rather than onboard memory control. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 73a370795371e41f72aeca61656d47adeadf28e5 Author: Eric Dumazet Date: Wed Jun 17 21:17:59 2009 +0000 forcedeth: fix dma api mismatches forcedeth doesnt use properly dma api in its tx completion path and in nv_loopback_test() pci_map_single() should be paired with pci_unmap_single() pci_map_page() should be paired with pci_unmap_page() forcedeth xmit path uses pci_map_single() & pci_map_page(), but tx completion path only uses pci_unmap_single() nv_loopback_test() uses pci_map_single() & pci_unmap_page() Add a dma_single field in struct nv_skb_map, and define a helper function nv_unmap_txskb Signed-off-by: Eric Dumazet CC: Ayaz Abdulla Signed-off-by: David S. Miller commit a73c7d84a1975b44c0ebd03c2dec288af1426349 Author: Peter Zijlstra Date: Thu Jun 18 09:44:20 2009 +0200 perf_counter tools: Add and use isprint() Introduce isprint() to print out raw event dumps to ASCII, etc. (This is an extension to upstream Git's ctype.c.) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: [ removed openssl.h inclusion from util.h - it leaked ctype.h ] Signed-off-by: Ingo Molnar commit 47bece87b14b866872b52ff04d469832e4936756 Author: Thomas Mingarelli Date: Thu Jun 4 19:50:45 2009 +0000 [WATCHDOG] hpwdt: Add NMI sourcing Add NMI sourcing functionality (Can only be active if nmi_watchdog is inactive). Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 55e8ddecec6a9dbe35a99d03cc4189fd7c56e600 Author: Wim Van Sebroeck Date: Mon Jun 8 17:41:51 2009 +0000 [WATCHDOG] iTCO_wdt: Fix ICH7+ reboot issue. Bugzilla: 9868 & 10195. There seems to be a bug into the SMM code that handles TCO Timeout SMI. Andriy Gapon found that the code on his DG33TL system does the following: > The handler is quite simple - it tests value in TCO1_CNT against 0x800, i.e. > checks TCO_TMR_HLT. If the bit is set the handler goes into an infinite loop, > apparently to allow the second timeout and reboot. Otherwise it simply clears > TIMEOUT bit in TCO1_STS and that's it. > So the logic seems to be reversed, because it is hard to see how TIMEOUT can > get set to 1 and SMI generated when TCO_TMR_HLT is set (other than a > transitional effect). The only trick we have is to bypass the SMM code by turning of the generation of the SMI#. The trick can only be enabled by setting the vendorsupport module parameter to 911. This trick doesn't work well on laptop's. Note: this is a dirty hack. Please handle with care. The only real fix is that the bug in the SMM bios code get's fixed. Signed-off-by: Wim Van Sebroeck commit de8cd9a3067e25a860c225f794e6b249b73aa6b1 Author: Denis V. Lunev Date: Fri Jun 5 15:13:08 2009 +0400 [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware According to 9.1.33 on p.343 of ICH8.pdf RCBA can be disabled by hardware if bit 0 of RCBA register is not set. Perform correct check for this to prevent memory corruption under some virtual machines where this feature is disabled. Signed-off-by: Denis V. Lunev CC: Vasily Averin Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit e73a780272a46e897bd94a4870fd6b6a8655d2d4 Author: Wim Van Sebroeck Date: Mon May 11 18:33:00 2009 +0000 [WATCHDOG] Correct WDIOF_MAGICCLOSE flag Make sure that when the WDIOF_MAGICCLOSE flag is set we also support the magic-close feature... Signed-off-by: Wim Van Sebroeck commit b6bf291f1c5bc84272a138b7367741e459005a81 Author: Wim Van Sebroeck Date: Tue Apr 14 20:30:55 2009 +0000 [WATCHDOG] move platform probe and remove function to devinit and devexit A pointer to probe and remove functions 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. Signed-off-by: Wim Van Sebroeck commit a77dba7e444a6618cbb666d1b42b79842b9c0171 Author: Wim Van Sebroeck Date: Tue Apr 14 20:20:07 2009 +0000 [WATCHDOG] Some more general cleanup Clean-up the watchdog drivers so that checkpatch.pl get's happy... Signed-off-by: Wim Van Sebroeck commit 0a7e658226d66a259097db5f4734589604b303fd Author: Wim Van Sebroeck Date: Tue Apr 14 20:20:07 2009 +0000 [WATCHDOG] iTCO_wdt: Cleanup code Clean-up the iTCO_wdt code so that checkpatch.pl get's happy... Signed-off-by: Wim Van Sebroeck commit 81e2a3d5b75cbf0b42428b9d5a7cc7c85be9e7a7 Author: Eric Dumazet Date: Wed Jun 17 19:06:12 2009 -0700 atm: sk_wmem_alloc initial value is one commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. This broke net/atm since this protocol assumed a null initial value. This patch makes necessary changes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 31e6d363abcd0d05766c82f1a9c905a4c974a199 Author: Eric Dumazet Date: Wed Jun 17 19:05:41 2009 -0700 net: correct off-by-one write allocations reports commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. We need to take into account this offset when reporting sk_wmem_alloc to user, in PROC_FS files or various ioctls (SIOCOUTQ/TIOCOUTQ) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d3b238a03efd6d644ff93c8b10a1d38a596f2e34 Author: Séguier Régis Date: Tue Jun 16 11:25:49 2009 +0000 via-velocity : fix no link detection on boot on boot, link is always up. Signed-off-by: Seguier Regis Signed-off-by: David S. Miller commit 6905b1f1a03a48dcf115a2927f7b87dba8d5e566 Author: Rafael J. Wysocki Date: Sun Jun 14 09:46:46 2009 +0000 Net / e100: Fix suspend of devices that cannot be power managed If the adapter is not power-manageable using either ACPI, or the native PCI PM interface, __e100_power_off() returns error code, which causes every attempt to suspend to fail, although it should return 0 in such a case. Fix this problem by ignoring the return value of pci_set_power_state() in __e100_power_off(). Signed-off-by: Rafael J. Wysocki Acked-by: Andreas Mohr Signed-off-by: David S. Miller commit ab0a8e6c663047363e7436621b66c2ae575d2525 Author: chaithrika@ti.com Date: Wed Jun 17 01:28:54 2009 +0000 TI DaVinci EMAC : Fix rmmod error clk_disable was called twice in the remove function. Correct this so that the driver module unloads without error. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 31278e71471399beaff9280737e52b47db4dc345 Author: Jiri Pirko Date: Wed Jun 17 01:12:19 2009 +0000 net: group address list and its count This patch is inspired by patch recently posted by Johannes Berg. Basically what my patch does is to group list and a count of addresses into newly introduced structure netdev_hw_addr_list. This brings us two benefits: 1) struct net_device becames a bit nicer. 2) in the future there will be a possibility to operate with lists independently on netdevices (with exporting right functions). I wanted to introduce this patch before I'll post a multicast lists conversion. Signed-off-by: Jiri Pirko drivers/net/bnx2.c | 4 +- drivers/net/e1000/e1000_main.c | 4 +- drivers/net/ixgbe/ixgbe_main.c | 6 +- drivers/net/mv643xx_eth.c | 2 +- drivers/net/niu.c | 4 +- drivers/net/virtio_net.c | 10 ++-- drivers/s390/net/qeth_l2_main.c | 2 +- include/linux/netdevice.h | 17 +++-- net/core/dev.c | 130 ++++++++++++++++++-------------------- 9 files changed, 89 insertions(+), 90 deletions(-) Signed-off-by: David S. Miller commit 7b85576d15bf2574b0a451108f59f9ad4170dd3f Author: Jarek Poplawski Date: Thu Jun 18 00:28:51 2009 -0700 ipv4: Fix fib_trie rebalancing, part 2 My previous patch, which explicitly delays freeing of tnodes by adding them to the list to flush them after the update is finished, isn't strict enough. It treats exceptionally tnodes without parent, assuming they are newly created, so "invisible" for the read side yet. But the top tnode doesn't have parent as well, so we have to exclude all exceptions (at least until a better way is found). Additionally we need to move rcu assignment of this node before flushing, so the return type of the trie_rebalance() function is changed. Reported-by: Yan Zheng Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 99d921c2ff28c6396c5fa9a5360b3005bc6abba7 Author: Paul Mundt Date: Thu Jun 18 16:09:38 2009 +0900 sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs. The MEDIA_SUPPORT option disabled soc-camera support, so re-enable it for the impacted defconfigs. Signed-off-by: Paul Mundt commit 7522060c95395f479ee4a6af3bbf9e097e92e48f Author: Ingo Molnar Date: Thu Jun 18 08:00:17 2009 +0200 perf report: Add validation of call-chain entries Add boundary checks for call-chain events. In case of corrupted entries we could crash otherwise. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit b25bcf2f133b1e6216c3d40be394756107d3880f Author: Ingo Molnar Date: Thu Jun 18 07:01:03 2009 +0200 perf report: Tidy up the "--parent " and "--sort parent" call-chain features Instead of the ambigious 'call' naming use the much more specific 'parent' naming: - rename --call to --parent - rename --sort call to --sort parent - rename [unmatched] to [other] - to signal that this is not an error but the inverse set Also add pagefaults to the default parent-symbol pattern too, as it's a 'syscall overhead category' in a sense. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit e92fae064ae42b2a4a77646f7655bca4c87bb1eb Author: Yinghai Lu Date: Wed Jun 17 16:21:33 2009 -0700 x86: use zalloc_cpumask_var for mce_dev_initialized We need a cleared cpu_mask to record if mce is initialized, especially when MAXSMP is used. used zalloc_... instead Signed-off-by: Yinghai Lu Reviewed-by: Hidetoshi Seto Cc: stable@kernel.org Signed-off-by: H. Peter Anvin commit 74b602c7147212a7495879ec23fe6c2d3b470e06 Author: Yinghai Lu Date: Wed Jun 17 14:43:32 2009 -0700 x86: fix duplicated sysfs attribute The sysfs attribute cmci_disabled was accidentall turned into a duplicate of ignore_ce, breaking all other attributes. Signed-off-by: Yinghai Lu Acked-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4505ffda54b352a08eb08ebad62ac48725c41966 Author: Christoph Hellwig Date: Thu Jun 18 13:38:26 2009 +0900 sh: remove stray markers. arch/sh has a couple of stray markers without any users introduced in commit 3d58695edbfac785161bf282dc11fd42a483d6c9. Remove them in preparation of removing the markers in favour of the TRACE_EVENT macro (and also because we don't keep dead code around). Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mundt commit bc3f5d3dbd576da94a575b1477b8e38551bf11da Author: Alexander van Heukelum Date: Thu Jun 18 00:35:59 2009 +0200 x86: de-assembler-ize asm/desc.h asm/desc.h is included in three assembly files, but the only macro it defines, GET_DESC_BASE, is never used. This patch removes the includes, removes the macro GET_DESC_BASE and the ASSEMBLY guard from asm/desc.h. Signed-off-by: Alexander van Heukelum Signed-off-by: H. Peter Anvin commit dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded Author: Alexander van Heukelum Date: Thu Jun 18 00:35:58 2009 +0200 i386: fix/simplify espfix stack switching, move it into assembly The espfix code triggers if we have a protected mode userspace application with a 16-bit stack. On returning to userspace, with iret, the CPU doesn't restore the high word of the stack pointer. This is an "official" bug, and the work-around used in the kernel is to temporarily switch to a 32-bit stack segment/pointer pair where the high word of the pointer is equal to the high word of the userspace stackpointer. The current implementation uses THREAD_SIZE to determine the cut-off, but there is no good reason not to use the more natural 64kb... However, implementing this by simply substituting THREAD_SIZE with 65536 in patch_espfix_desc crashed the test application. patch_espfix_desc tries to do what is described above, but gets it subtly wrong if the userspace stack pointer is just below a multiple of THREAD_SIZE: an overflow occurs to bit 13... With a bit of luck, when the kernelspace stackpointer is just below a 64kb-boundary, the overflow then ripples trough to bit 16 and userspace will see its stack pointer changed by 65536. This patch moves all espfix code into entry_32.S. Selecting a 16-bit cut-off simplifies the code. The game with changing the limit dynamically is removed too. It complicates matters and I see no value in it. Changing only the top 16-bit word of ESP is one instruction and it also implies that only two bytes of the ESPFIX GDT entry need to be changed and this can be implemented in just a handful simple to understand instructions. As a side effect, the operation to compute the original ESP from the ESPFIX ESP and the GDT entry simplifies a bit too, and the remaining three instructions have been expanded inline in entry_32.S. impact: can now reliably run userspace with ESP=xxxxfffc on 16-bit stack segment Signed-off-by: Alexander van Heukelum Acked-by: Stas Sergeev Signed-off-by: H. Peter Anvin commit 2e04bc76560decd9270be2a805927316f617ef56 Author: Alexander van Heukelum Date: Thu Jun 18 00:35:57 2009 +0200 i386: fix return to 16-bit stack from NMI handler Returning to a task with a 16-bit stack requires special care: the iret instruction does not restore the high word of esp in that case. The espfix code fixes this, but currently is not invoked on NMIs. This means that a running task gets the upper word of esp clobbered due intervening NMIs. To reproduce, compile and run the following program with the nmi watchdog enabled (nmi_watchdog=2 on the command line). Using gdb you can see that the high bits of esp contain garbage, while the low bits are still correct. This patch puts the espfix code back into the NMI code path. The patch is slightly complicated due to the irqtrace infrastructure not being NMI-safe. The NMI return path cannot call TRACE_IRQS_IRET. Otherwise, the tail of the normal iret-code is correct for the nmi code path too. To be able to share this code-path, the TRACE_IRQS_IRET was move up a bit. The espfix code exists after the TRACE_IRQS_IRET, but this code explicitly disables interrupts. This short interrupts-off section is now not traced anymore. The return-to-kernel path now always includes the preliminary test to decide if the espfix code should be called. This is never the case, but doing it this way keeps the patch as simple as possible and the few extra instructions should not affect timing in any significant way. #define _GNU_SOURCE #include #include #include #include #include #include int modify_ldt(int func, void *ptr, unsigned long bytecount) { return syscall(SYS_modify_ldt, func, ptr, bytecount); } /* this is assumed to be usable */ #define SEGBASEADDR 0x10000 #define SEGLIMIT 0x20000 /* 16-bit segment */ struct user_desc desc = { .entry_number = 0, .base_addr = SEGBASEADDR, .limit = SEGLIMIT, .seg_32bit = 0, .contents = 0, /* ??? */ .read_exec_only = 0, .limit_in_pages = 0, .seg_not_present = 0, .useable = 1 }; int main(void) { setvbuf(stdout, NULL, _IONBF, 0); /* map a 64 kb segment */ char *pointer = mmap((void *)SEGBASEADDR, SEGLIMIT+1, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (pointer == NULL) { printf("could not map space\n"); return 0; } /* write ldt, new mode */ int err = modify_ldt(0x11, &desc, sizeof(desc)); if (err) { printf("error modifying ldt: %i\n", err); return 0; } for (int i=0; i<1000; i++) { asm volatile ( "pusha\n\t" "mov %ss, %eax\n\t" /* preserve ss:esp */ "mov %esp, %ebp\n\t" "push $7\n\t" /* index 0, ldt, user mode */ "push $65536-4096\n\t" /* esp */ "lss (%esp), %esp\n\t" /* switch to new stack */ "push %eax\n\t" /* save old ss:esp on new stack */ "push %ebp\n\t" "add $17*65536, %esp\n\t" /* set high bits */ "mov %esp, %edx\n\t" "mov $10000000, %ecx\n\t" /* wait... */ "1: loop 1b\n\t" /* ... a bit */ "cmp %esp, %edx\n\t" "je 1f\n\t" "ud2\n\t" /* esp changed inexplicably! */ "1:\n\t" "sub $17*65536, %esp\n\t" /* restore high bits */ "lss (%esp), %esp\n\t" /* restore old ss:esp */ "popa\n\t"); printf("\rx%ix", i); } return 0; } Signed-off-by: Alexander van Heukelum Acked-by: Stas Sergeev Signed-off-by: H. Peter Anvin commit b7d3740ace895b85e802c618b2edfed1bba67d9e Author: Paul Mundt Date: Thu Jun 18 13:28:09 2009 +0900 sh: defconfig updates. Signed-off-by: Paul Mundt commit b964758050f856e44f5fe645d03bea8a1b0b66bd Author: Jarek Poplawski Date: Tue Jun 16 08:33:55 2009 +0000 pkt_sched: Update drops stats in act_police Action police statistics could be misleading because drops are not shown when expected. With feedback from: Jamal Hadi Salim Reported-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit e4f1482e686212e6d1dd6df93888bb26344981c6 Author: Stephen Hemminger Date: Wed Jun 17 07:30:40 2009 +0000 sky2: version 1.23 Version bump. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 37e5a2439b43bb90655e17f00c9db5759909a712 Author: Stephen Hemminger Date: Wed Jun 17 07:30:39 2009 +0000 sky2: add GRO support Add support for generic receive offload. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bd1c6869f14f88aa82587ff51303e72dc7eec30e Author: Stephen Hemminger Date: Wed Jun 17 07:30:38 2009 +0000 sky2: skb recycling This patch implements skb recycling. It reclaims transmitted skb's for use in the receive ring. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e9c1be80a7403fb817ec6229ec20a39e377cc4ce Author: Stephen Hemminger Date: Wed Jun 17 07:30:37 2009 +0000 sky2: reduce default transmit ring Reduce the size of the driver transmit ring to reduce latency and allow qdisc to do better rate control. Also make it obvious what the minimum transmit ring allowed is and why. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bf15fe996e050332c018cf63dd51288b081cc556 Author: Stephen Hemminger Date: Wed Jun 17 07:30:36 2009 +0000 sky2: receive counter update Since it is likely that there are multiple packets received per interrupt, only update the receive counters once after all packets are processed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6c83504ff24f4a6bf28ad865e7c0619b17349e08 Author: Stephen Hemminger Date: Wed Jun 17 07:30:35 2009 +0000 sky2: fix shutdown synchronization The logic in sky2_down was incorrect. Receiver could report status after rx_stop was called. The steps need to be: * stop new frames from being transmitted * shut off transmit/receive logic * synchronize with NAPI to process status info about transmitter and receiver Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1fd82f3cafa8e7854db08eccbdb8a9218225e1ef Author: Stephen Hemminger Date: Wed Jun 17 07:30:34 2009 +0000 sky2: PCI irq issues Add some read's to avoid any PCI posting issues when controlling irq's. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b Author: Stephen Hemminger Date: Wed Jun 17 07:30:33 2009 +0000 sky2: more receive shutdown Reset more parts of the receive path when device is take offline. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d104acaf0540aee527d22eafd14b0a3d30be7f81 Author: Stephen Hemminger Date: Wed Jun 17 07:30:32 2009 +0000 sky2: turn off pause during shutdown This unblocks the chip if it is stuck in pause cycle during shutdown. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4bb3f522077f6b10531451f50c376d6137ebd364 Author: françois romieu Date: Wed Jun 17 11:41:45 2009 +0000 r8169: do not bring device down when suspending Stopping all activity through ChipCmd and blindly acking the irqs is neither nice nor completely needed: the transition to low-power mode does enough work and it apparently keeps the device in a sane state. Patch suggested by a fix for http://bugzilla.kernel.org/show_bug.cgi?id=9512 The rtl_shutdown path is kept unchanged so far. Signed-off-by: Francois Romieu Tested-by: Anders Eriksson Cc: Edward Hsu Signed-off-by: David S. Miller commit c2f3f3a2fe4e35db352cfe1176e384e36bfd91b1 Author: françois romieu Date: Wed Jun 17 11:43:11 2009 +0000 sis190: use an adequate phy list entry as a fallback When sis190 driver is trying to get default phy, if it doesn't find home or lan phy, it falls back to the first phy in the phy list but list_entry() points to a bogus entry. list_first_entry() should be used instead. Signed-off-by: Arnaud Patard Acked-off-by: Francois Romieu Signed-off-by: David S. Miller commit fb1001f3de1a8576b25d929502f1fe7865ff32dc Author: Haiying Wang Date: Wed Jun 17 13:16:10 2009 +0000 net/ucc_geth: Add SGMII support for UCC GETH driver -- derived from reverted commit 047584ce94108012288554a5f84585d792cc7f8f -- reworked by Grant Likely to play nice with commit: "net: Rework ucc_geth driver to use of_mdio infrastructure" (0b9da337dca972e7a4144e298ec3adb8f244d4a4) Signed-off-by: Haiying Wang Signed-off-by: David S. Miller Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit f3a32500ba8f3ec9ee0c12836fcfd315f1256db4 Author: Grant Likely Date: Wed Jun 17 13:16:04 2009 +0000 Revert "net/ucc_geth: Add SGMII support for UEC GETH driver" This reverts commit 047584ce94108012288554a5f84585d792cc7f8f. This patch meshes badly with "net: Rework ucc_geth driver to use of_mdio infrastructure" (0b9da337dca972e7a4144e298ec3adb8f244d4a4). Since most of the patch needs to be reworked, it is clearer to revert the patch and then apply the corrected version Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 603a8bbe62e54108055fca46ecdd611c10c6cd0a Author: Stephen Hemminger Date: Wed Jun 17 12:17:34 2009 +0000 skbuff: don't corrupt mac_header on skb expansion The skb mac_header field is sometimes NULL (or ~0u) as a sentinel value. The places where skb is expanded add an offset which would change this flag into an invalid pointer (or offset). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19633e129c65e5bb62b1af545c5479afcdb01fc4 Author: Stephen Hemminger Date: Wed Jun 17 05:23:27 2009 +0000 skbuff: skb_mac_header_was_set is always true on >32 bit Looking at the crash in log_martians(), one suspect is that the check for mac header being set is not correct. The value of mac_header defaults to 0 on allocation, therefore skb_mac_header_was_set will always be true on platforms using NET_SKBUFF_USES_OFFSET. Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b71a107c66ad952c9d35ec046a803efc89a80556 Merge: 4b337c5 e7c5a4f Author: Benjamin Herrenschmidt Date: Thu Jun 18 11:22:08 2009 +1000 Merge commit 'gcl/merge' into next Manual merge of: drivers/net/fec_mpc52xx.c commit 4b337c5f245b6587ba844ac7bb13c313a2912f7b Merge: 492b057 3fe0344 Author: Benjamin Herrenschmidt Date: Thu Jun 18 11:16:55 2009 +1000 Merge commit 'origin/master' into next commit 536fc240e7147858255bdb08e7a999a3351a9fb4 Author: Hisashi Hifumi Date: Wed Jun 17 20:08:51 2009 -0400 jbd2: clean up jbd2_journal_try_to_free_buffers() This patch reverts 3f31fddf, which is no longer needed because if a race between freeing buffer and committing transaction functionality occurs and dio gets error, currently dio falls back to buffered IO due to the commit 6ccfa806. Signed-off-by: Hisashi Hifumi Cc: Mingming Cao Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 48606a9f2fc034f0b308d088c1f7ab6d407c462c Author: NeilBrown Date: Thu Jun 18 09:14:12 2009 +1000 md/raid5: correctly update sync_completed when we reach max_resync At the end of reshape_request we update cyrr_resync_completed if we are about to pause due to reaching resync_max. However we update it to the wrong value. We need to add the "reshape_sectors" that have just been reshaped. Signed-off-by: NeilBrown commit 7a3ab908948b6296ee7e81d42f7c176361c51975 Author: Dan Williams Date: Tue Jun 16 16:00:33 2009 -0700 md/raid5: add missing call to schedule() after prepare_to_wait() In the unlikely event that reshape progresses past the current request while it is waiting for a stripe we need to schedule() before retrying for 2 reasons: 1/ Prevent list corruption from duplicated list_add() calls without intervening list_del(). 2/ Give the reshape code a chance to make some progress to resolve the conflict. Cc: Signed-off-by: Dan Williams Signed-off-by: NeilBrown commit 495d357301e1de01fabe30ce9a555301fb4675c3 Author: NeilBrown Date: Thu Jun 18 08:49:42 2009 +1000 md/linear: use call_rcu to free obsolete 'conf' structures. Current, when we update the 'conf' structure, when adding a drive to a linear array, we keep the old version around until the array is finally stopped, as it is not safe to free it immediately. Now that we have rcu protection on all accesses to 'conf', we can use call_rcu to free it more promptly. Signed-off-by: NeilBrown commit af11c397fd8835c70ec0bb777104e4ab98b2d660 Author: SandeepKsinha Date: Thu Jun 18 08:49:35 2009 +1000 md linear: Protecting mddev with rcu locks to avoid races Due to the lack of memory ordering guarantees, we may have races around mddev->conf. In particular, the correct contents of the structure we get from dereferencing ->private might not be visible to this CPU yet, and they might not be correct w.r.t mddev->raid_disks. This patch addresses the problem using rcu protection to avoid such race conditions. Signed-off-by: SandeepKsinha Signed-off-by: NeilBrown commit 0894cc3066aaa3e75a99383c0d25feebf9b688ac Author: Andre Noll Date: Thu Jun 18 08:49:23 2009 +1000 md: Move check for bitmap presence to personality code. If the superblock of a component device indicates the presence of a bitmap but the corresponding raid personality does not support bitmaps (raid0, linear, multipath, faulty), then something is seriously wrong and we'd better refuse to run such an array. Currently, this check is performed while the superblocks are examined, i.e. before entering personality code. Therefore the generic md layer must know which raid levels support bitmaps and which do not. This patch avoids this layer violation without adding identical code to various personalities. This is accomplished by introducing a new public function to md.c, md_check_no_bitmap(), which replaces the hard-coded checks in the superblock loading functions. A call to md_check_no_bitmap() is added to the ->run method of each personality which does not support bitmaps and assembly is aborted if at least one component device contains a bitmap. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 8190e754e0723de7cecb80bdd9eb93911dfa04a1 Author: NeilBrown Date: Thu Jun 18 08:48:58 2009 +1000 md: remove chunksize rounding from common code. It is easiest to round sizes to multiples of chunk size in the personality code for those personalities which care. Those personalities now do the rounding, so we can remove that function from common code. Also remove the upper bound on the size of a chunk, and the lower bound on the size of a device (1 chunk), neither of which really buy us anything. Signed-off-by: NeilBrown commit 13f2682b7216ebebd72b3d5868fe7fccec91a92d Author: NeilBrown Date: Thu Jun 18 08:48:55 2009 +1000 md: raid0/linear: ensure device sizes are rounded to chunk size. This is currently ensured by common code, but it is more reliable to ensure it where it is needed in personality code. All the other personalities that care already round the size to the chunk_size. raid0 and linear are the only hold-outs. Signed-off-by: NeilBrown commit 1b57f132231593923cb4ab99943ddd777e8745bc Author: NeilBrown Date: Thu Jun 18 08:48:19 2009 +1000 md: move assignment of ->utime so that it never gets skipped. Currently the assignment to utime gets skipped for 'external' metadata. So move it to the top of the function so that it always gets effected. This is of largely cosmetic interest. Nothing actually depends on ->utime being right for external arrays. "mdadm --monitor" does use it for 0.90 and 1.x arrays, but with mdadm-3.0, this is not important for external metadata. Signed-off-by: NeilBrown commit 8c6ac868b107ed50a46204f6d14e2ad9443ff146 Author: Andre Noll Date: Thu Jun 18 08:48:06 2009 +1000 md: Push down reconstruction log message to personality code. Currently, the md layer checks in analyze_sbs() if the raid level supports reconstruction (mddev->level >= 1) and if reconstruction is in progress (mddev->recovery_cp != MaxSector). Move that printk into the personality code of those raid levels that care (levels 1, 4, 5, 6, 10). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 50ac168a6e0a061bf5346d53aa9e7beb94c97527 Author: NeilBrown Date: Thu Jun 18 08:47:55 2009 +1000 md: merge reconfig and check_reshape methods. The difference between these two methods is artificial. Both check that a pending reshape is valid, and perform any aspect of it that can be done immediately. 'reconfig' handles chunk size and layout. 'check_reshape' handles raid_disks. So make them just one method. Signed-off-by: NeilBrown commit 597a711b69cfff95c4b8f6069037e7ad3fc71f56 Author: NeilBrown Date: Thu Jun 18 08:47:42 2009 +1000 md: remove unnecessary arguments from ->reconfig method. Passing the new layout and chunksize as args is not necessary as the mddev has fields for new_check and new_layout. This is preparation for combining the check_reshape and reconfig methods Signed-off-by: NeilBrown commit 01ee22b496c41384eaa6dcae983c86d8bc32fbb8 Author: NeilBrown Date: Thu Jun 18 08:47:20 2009 +1000 md: raid5: check stripe cache is large enough in start_reshape In reshape cases that do not change the number of devices, start_reshape is called without first calling check_reshape. Currently, the check that the stripe_cache is large enough is only done in check_reshape. It should be in start_reshape too. Signed-off-by: NeilBrown commit d6e412eaa52db82010f12ea7d2c9b9468e933c44 Author: NeilBrown Date: Thu Jun 18 08:47:00 2009 +1000 md: raid0: chunk_sectors cleanups. following the conversion to chunk_sectors, there is room for cleaning up a little. Signed-off-by: NeilBrown commit cdc2ae6d6a30df8fd92c5e300d0e3005e13eb6b0 Author: Andre Noll Date: Thu Jun 18 08:46:47 2009 +1000 md: fix some comments. 1/ Raid5 has learned to take over also raid4 and raid6 arrays. 2/ new_chunk in mdp_superblock_1 is in sectors, not bytes. Signed-off-by: NeilBrown commit 0ba459d26260d4d13346c76642f461b2bf607eef Author: Andre Noll Date: Thu Jun 18 08:46:10 2009 +1000 md/raid5: Use is_power_of_2() in raid5_reconfig()/raid6_reconfig(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 09c9e5fa1b93ad5b81c9dcf8ce3a5b9ae2ac31e4 Author: Andre Noll Date: Thu Jun 18 08:45:55 2009 +1000 md: convert conf->chunk_size and conf->prev_chunk to sectors. This kills some more shifts. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 664e7c413f1e90eceb0b2596dd73a0832faec058 Author: Andre Noll Date: Thu Jun 18 08:45:27 2009 +1000 md: Convert mddev->new_chunk to sectors. A straight-forward conversion which gets rid of some multiplications/divisions/shifts. The patch also introduces a couple of new ones, most of which are due to conf->chunk_size still being represented in bytes. This will be cleaned up in subsequent patches. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 9d8f0363623b3da12c43007cf77f5e1a4e8a5964 Author: Andre Noll Date: Thu Jun 18 08:45:01 2009 +1000 md: Make mddev->chunk_size sector-based. This patch renames the chunk_size field to chunk_sectors with the implied change of semantics. Since is_power_of_2(chunk_size) = is_power_of_2(chunk_sectors << 9) = is_power_of_2(chunk_sectors) these bits don't need an adjustment for the shift. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d78b47b9a527bf46cb6081555847facd6efd5f81 Author: Chris Wilson Date: Wed Jun 17 21:52:49 2009 +0100 drm/i915: detach/attach get/put pages symmetry After performing an operation over the page list for a buffer retrieved by i915_gem_object_get_pages() the pages need to be returned with i915_gem_object_put_pages(). This was not being observed for the phys objects which were thus leaking references to their backing pages. Signed-off-by: Chris Wilson CC: Dave Airlie Signed-off-by: Eric Anholt commit 76cff81ad1cfa3bd8b52b5e4510702ce2ed28335 Author: Ben Gamari Date: Wed Jun 10 18:26:20 2009 -0400 drm/i915: A few debugfs formatting fixes Signed-Off-By: Ben Gamari Signed-off-by: Eric Anholt commit 049b77cb2ad8bd36308a4a424ca4f2eb4d65d2af Author: Ben Gamari Date: Thu Jun 11 00:44:26 2009 -0400 drm/i915: Warn when inteldrmfb fails to restore its framebuffer config While sifting through the inteldrmfb code trying to solve #22040 I found that the fb restore path doesn't check the return value of drm_crtc_helper_set_config(), which seems to have all sorts of potential failure modes. We should warn someone if one of these is triggered. Signed-Off-By: Ben Gamari Acked-by: Jesse Barnes [anholt: hand-applied, failures are mine] Signed-off-by: Eric Anholt commit 1d89b30cc9be41af87881682ec82e2c107849dbe Author: Matthew Wilcox Date: Wed Jun 17 16:33:36 2009 -0400 ia64: Fix resource assignment for root busses ia64 was assigning resources to root busses after allocations had been made for child busses. Calling pcibios_setup_root_windows() from pcibios_fixup_bus() solves this problem by assigning the resources to the root bus before child busses are scanned. Signed-off-by: Matthew Wilcox Tested-by: Andrew Patterson Signed-off-by: Linus Torvalds commit a76117dfd687ec4be0a9a05214f3009cc5f73a42 Author: Matthew Wilcox Date: Wed Jun 17 16:33:35 2009 -0400 x86: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit a6c140969b4685f9b9f6773c0760f55ca66d1825 Author: Matthew Wilcox Date: Wed Jun 17 16:33:34 2009 -0400 Delete pcibios_select_root This function was only used by pci_claim_resource(), and the last commit deleted that use. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit cebd78a8c5624b5cf04c39c3335a5fc8670a7b69 Author: Matthew Wilcox Date: Wed Jun 17 16:33:33 2009 -0400 Fix pci_claim_resource Instead of starting from the iomem or ioport roots, start from the parent bus' resources. This fixes a bug where child resources would appear above their parents resources if they had the same size. Signed-off-by: Matthew Wilcox Tested-by: Andrew Patterson Signed-off-by: Linus Torvalds commit 4b221f0313f0f7f1f7aa0a1fd16ad400840def26 Author: Steven Rostedt Date: Wed Jun 17 17:01:09 2009 -0400 ring-buffer: have benchmark test print to trace buffer Currently the output of the ring buffer benchmark/test prints to the console. This test runs for ten seconds every ten seconds and ouputs the result after every iteration. This needlessly fills up the logs. This patch makes the ring buffer benchmark/test print to the ftrace buffer using trace_printk. To view the test results, you must examine the debug/tracing/trace file. Signed-off-by: Steven Rostedt commit 7cc47662197b3050a974a6c6aed52291bb38ded0 Merge: 55a6fbf 27f70c3 Author: Linus Torvalds Date: Wed Jun 17 11:53:48 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] Convert ia64 to use int-ll64.h [IA64] Fix build error in paravirt_patchlist.c [IA64] ia64 does not need umount2() syscall [IA64] hook up new rt_tgsigqueueinfo syscall [IA64] msi_ia64.c dmar_msi_type should be static [IA64] remove obsolete hw_interrupt_type [IA64] remove obsolete irq_desc_t typedef [IA64] remove obsolete no_irq_type [IA64] unexport fpswa.h commit 55a6fbf8fc57d7b60d5028663f534475c4965215 Merge: 3fe0344 2021de8 Author: Linus Torvalds Date: Wed Jun 17 11:41:49 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: early init for MFD running regulators mfd: fix tmio related warnings mfd: asic3: enable SD/SDIO cell mfd: asic3: enable DS1WM cell mfd: asic3: remove SD/SDIO controller register definitions mfd: asic3: use resource_size macro instead of local variable mfd: add ASIC3 IRQ numbers mfd: asic3: add clock handling for MFD cells mfd: asic3: add asic3_set_register common operation mfd: Fix Kconfig help text for WM8350 mfd: add PCAP driver mfd: add U300 AB3100 core support drivers/mfd: remove obsolete irq_desc_t typedef mfd/pcf50633-gpio.c: add MODULE_LICENSE mfd: Mark WM8350 mask revision as readable to match silicon mfd: Mark clocks_init as non-init in twl4030-core.c mfd: Correct readability of WM8350 register 227 commit 3f4c3955ea320bde870ac2ce587466295aba5710 Author: Cyrill Gorcunov Date: Wed Jun 17 22:13:22 2009 +0400 x86, ioapic: Don't call disconnect_bsp_APIC if no APIC present Vegard Nossum reported: [ 503.576724] ACPI: Preparing to enter system sleep state S5 [ 503.710857] Disabling non-boot CPUs ... [ 503.716853] Power down. [ 503.717770] ------------[ cut here ]------------ [ 503.717770] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_du) [ 503.717770] Hardware name: OptiPlex GX100 [ 503.717770] Modules linked in: [ 503.717770] Pid: 2136, comm: halt Not tainted 2.6.30 #443 [ 503.717770] Call Trace: [ 503.717770] [] ? printk+0x18/0x1a [ 503.717770] [] ? native_apic_write_dummy+0x38/0x50 [ 503.717770] [] warn_slowpath_common+0x6c/0xc0 [ 503.717770] [] ? native_apic_write_dummy+0x38/0x50 [ 503.717770] [] warn_slowpath_null+0x15/0x20 [ 503.717770] [] native_apic_write_dummy+0x38/0x50 [ 503.717770] [] disconnect_bsp_APIC+0x63/0x100 [ 503.717770] [] disable_IO_APIC+0xb8/0xc0 [ 503.717770] [] ? acpi_power_off+0x0/0x29 [ 503.717770] [] native_machine_shutdown+0x65/0x80 [ 503.717770] [] native_machine_power_off+0x26/0x30 [ 503.717770] [] machine_power_off+0x9/0x10 [ 503.717770] [] kernel_power_off+0x36/0x40 [ 503.717770] [] sys_reboot+0xfd/0x1f0 [ 503.717770] [] ? perf_swcounter_event+0xb0/0x130 [ 503.717770] [] ? perf_counter_task_sched_out+0x5d/0x120 [ 503.717770] [] ? finish_task_switch+0x56/0xd0 [ 503.717770] [] ? schedule+0x49e/0xb40 [ 503.717770] [] ? sys_kill+0x70/0x160 [ 503.717770] [] ? selinux_file_ioctl+0x3b/0x50 [ 503.717770] [] ? sys_ioctl+0x63/0x70 [ 503.717770] [] sysenter_do_call+0x12/0x22 [ 503.717770] ---[ end trace 8157b5d0ed378f15 ]--- | | That's including this commit: | | commit 103428e57be323c3c5545db8ad12667099bc6005 |Author: Cyrill Gorcunov |Date: Sun Jun 7 16:48:40 2009 +0400 | | x86, apic: Fix dummy apic read operation together with broken MP handling | If we have apic disabled we don't even switch to APIC mode and do not calling for connect_bsp_APIC. Though on SMP compiled kernel the native_machine_shutdown does try to write the apic register anyway. Fix it with explicit check if we really should touch apic registers. Reported-by: Vegard Nossum Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090617181322.GG10822@lenovo> Signed-off-by: Ingo Molnar commit 8d707e8eb4de4b930573155ab4df4b3270ee25dd Author: Steven Rostedt Date: Tue Jun 16 21:22:48 2009 -0400 ring-buffer: do not grab locks in nmi If ftrace_dump_on_oops is set, and an NMI detects a lockup, then it will need to read from the ring buffer. But the read side of the ring buffer still takes locks. This patch adds a check on the read side that if it is in an NMI, then it will disable the ring buffer and not take any locks. Reads can still happen on a disabled ring buffer. Signed-off-by: Steven Rostedt commit d47882078f05c2cb46b85f1e12a58ed9315b9d63 Author: Steven Rostedt Date: Wed Jun 17 00:39:43 2009 -0400 ring-buffer: add locks around rb_per_cpu_empty The checking of whether the buffer is empty or not needs to be serialized among the readers. Add the reader spin lock around it. Signed-off-by: Steven Rostedt commit 5f78abeebbf0a80975d719e11374535ca15396cb Author: Steven Rostedt Date: Wed Jun 17 14:11:10 2009 -0400 ring-buffer: check for less than two in size allocation The ring buffer must have at least two pages allocated for the reader page swap to work. The page count check will miss the case of a zero size passed in. Even though a zero size ring buffer would probably fail an allocation, making the min size check for less than two instead of equal to one makes the code a bit more robust. Signed-off-by: Steven Rostedt commit 0dcd4d6c3e5b17ccf88d41cb354bb4d57cb18cbf Author: Steven Rostedt Date: Wed Jun 17 14:03:44 2009 -0400 ring-buffer: remove useless compile check for buffer_page size The original version of the ring buffer had a hack to map the page struct that held the pages of the buffer to also be the structure that the ring buffer would keep the pages in a link list. This overlap of the page struct was very dangerous and that hack was removed a while ago. But there was a check to make sure the buffer_page never became bigger than the page struct, and would fail the compile if it did. The check was only meaningful when we had the hack. Now that we have separate allocated descriptors for the buffer pages, we can remove this check. Signed-off-by: Steven Rostedt commit 3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8 Merge: c30938d 2030117 Author: Linus Torvalds Date: Wed Jun 17 10:42:21 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Fix some typos in comments kmemleak: Rename kmemleak_panic to kmemleak_stop kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations commit 2021de874e9f09774616772cfdefdab0e6193b09 Author: Samuel Ortiz Date: Mon Jun 15 18:04:54 2009 +0200 mfd: early init for MFD running regulators For MFDs running regulator cores, we really want them to be brought up early during boot. Signed-off-by: Samuel Ortiz Acked-by: Mark Brown Acked-by: Mike Rapoport commit 4d3792e054f706f73837769a0e5607b3b7ad25a2 Author: Samuel Ortiz Date: Mon Jun 15 15:43:31 2009 +0200 mfd: fix tmio related warnings We can not have .driver_data as const since platform_set_drvdata() doesnt take a const. The hclk mmc_data field can be const though. Signed-off-by: Samuel Ortiz commit 09f05ce8512c9873bda7f76273708753fdc5c698 Author: Philipp Zabel Date: Mon Jun 15 12:10:25 2009 +0200 mfd: asic3: enable SD/SDIO cell This enables the ASIC3's SD/SDIO MFD cell, supported by the tmio_mmc driver. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 9461f65a85e17926ee88878049e6b5de366a483d Author: Philipp Zabel Date: Mon Jun 15 12:10:24 2009 +0200 mfd: asic3: enable DS1WM cell This enables the ASIC3's DS1WM MFD cell, supported by the ds1wm driver. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 1b89040c3aa4500c97859bad714e010441e9c477 Author: Philipp Zabel Date: Fri Jun 5 18:31:05 2009 +0200 mfd: asic3: remove SD/SDIO controller register definitions Only the base addresses remain, as they are needed to set up the IOMEM resources. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit be584bd5a451ebe31ac9957098bb698cefbd40ca Author: Philipp Zabel Date: Fri Jun 5 18:31:04 2009 +0200 mfd: asic3: use resource_size macro instead of local variable This should make the code a little bit easier to read. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 01906d6d780e84c51537f6b56da472959e846314 Author: Philipp Zabel Date: Fri Jun 5 18:31:03 2009 +0200 mfd: add ASIC3 IRQ numbers IRQ number definitions for PWM, LED, SPI and OWM (ds1wm). Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit e956a2a87c60bf22eeea824ad208afc099850511 Author: Philipp Zabel Date: Fri Jun 5 18:31:02 2009 +0200 mfd: asic3: add clock handling for MFD cells Since ASIC3 has to work on both PXA and S3C and since their struct clk implementations differ, we can't register out clocks with the clkdev mechanism (yet?). For now we have to keep clock handling internal to this driver and enable/disable the clocks via the mfd_cell->enable/disable functions. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 6483c1b5e1a6e3489640a1376e951395982e9615 Author: Philipp Zabel Date: Fri Jun 5 18:31:01 2009 +0200 mfd: asic3: add asic3_set_register common operation Used to configure single bits of the SDHWCTRL_SDCONF and EXTCF_RESET/SELECT registers needed for DS1WM, MMC/SDIO and PCMCIA functionality. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 9e5aca58c2d2202937939dad8f9ce5d789ae4de8 Author: Mark Brown Date: Fri May 29 11:34:18 2009 +0100 mfd: Fix Kconfig help text for WM8350 More with the grammar. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 13a09f93d2bf3a20c748e1d6a30160a00fc58169 Author: Daniel Ribeiro Date: Thu May 28 15:43:37 2009 -0300 mfd: add PCAP driver The PCAP Asic as present on EZX phones is a multi function device with voltage regulators, ADC, touch screen controller, RTC, USB transceiver, leds controller, and audio codec. It has two SPI ports, typically one is connected to the application processor and another to the baseband, this driver provides read/write functions to its registers, irq demultiplexer and ADC queueing/abstraction. This chip is used on a lot of Motorola phones, it was manufactured by TI as a custom product with the name PTWL93017, later this design evolved into the ATLAS PMIC from Freescale (MC13783). Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit 14fa56917d73d823538151b0429d98211fa439c1 Author: Linus Walleij Date: Thu May 21 23:17:06 2009 +0200 mfd: add U300 AB3100 core support This adds a core driver for the AB3100 mixed-signal circuit found in the ST-Ericsson U300 series platforms. This driver is a singleton proxy for all accesses to the AB3100 sub-drivers which will be merged on top of this one, RTC, regulators, battery and system power control, vibrator, LEDs, and an ALSA codec. Signed-off-by: Linus Walleij Reviewed-by: Mike Rapoport Reviewed-by: Ben Dooks Signed-off-by: Samuel Ortiz commit 516eca2726dce2ead8750366d8f66dd345ce55e3 Author: Thomas Gleixner Date: Tue May 12 13:45:15 2009 -0700 drivers/mfd: remove obsolete irq_desc_t typedef The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users and remove the typedef. Signed-off-by: Thomas Gleixner Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 1346a1c716e38418595d90f75f6ed7e3e7b478f5 Author: Adrian Bunk Date: Tue May 12 13:45:14 2009 -0700 mfd/pcf50633-gpio.c: add MODULE_LICENSE Add the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Cc: Balaji Rao Cc: Andy Green Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 422a6a7909526f75c8353b40b9f471b7c0a0eb21 Author: Mark Brown Date: Wed Apr 22 21:46:51 2009 +0100 mfd: Mark WM8350 mask revision as readable to match silicon No impact unless someone has written additional kernel code. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 04ffa1316ba47e5cea9dc2f01efbb67f9de36bc9 Author: Rakib Mullick Date: Sun Apr 19 08:56:49 2009 +0600 mfd: Mark clocks_init as non-init in twl4030-core.c Impact: Fix section mismatch. clocks_init() has been called from twl4030_probe() which is a non-init function. Since probing can be done anytime so clocks_init will be called anytime too. So we mark clock_init() as non-init. LD drivers/mfd/built-in.o WARNING: drivers/mfd/built-in.o(.text+0x8dd9): Section mismatch in reference from the function twl4030_probe() to the function .init.text:clocks_init() The function twl4030_probe() references the function __init clocks_init(). This is often because twl4030_probe lacks a __init annotation or the annotation of clocks_init is wrong. Signed-off-by: Rakib Mullick Signed-off-by: Samuel Ortiz commit 489bd34e76260fa73882bd97e5516a8f55651b3a Author: Mark Brown Date: Mon Apr 13 14:05:02 2009 +0100 mfd: Correct readability of WM8350 register 227 This includes the USB current limit status override which is used in the power management driver. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 2030117d2761c4c955e1a0683fa96ab62e4b197b Author: Catalin Marinas Date: Wed Jun 17 18:29:04 2009 +0100 kmemleak: Fix some typos in comments Signed-off-by: Catalin Marinas commit 000814f44e56122ea22e1f1422e16df36a1bb396 Author: Catalin Marinas Date: Wed Jun 17 18:29:03 2009 +0100 kmemleak: Rename kmemleak_panic to kmemleak_stop This is to avoid the confusion created by the "panic" word. Signed-off-by: Catalin Marinas Acked-by: Pekka Enberg commit 216c04b0d848fa3db04fc240d9cdc1d2cc1e9574 Author: Catalin Marinas Date: Wed Jun 17 18:29:02 2009 +0100 kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations Kmemleak allocates memory for pointer tracking and it tries to avoid using GFP_ATOMIC if the caller doesn't require it. However other gfp flags may be passed by the caller which aren't required by kmemleak. This patch filters the gfp flags so that only GFP_KERNEL | GFP_ATOMIC are used. Signed-off-by: Catalin Marinas Acked-by: Pekka Enberg commit 5aa75a0fd4bc6402899e06fdb853cab024d65055 Author: Peter Zijlstra Date: Mon Jun 15 20:11:41 2009 +0200 perf_counter tools: Replace isprint() with issane() The Git utils came with a ctype replacement that doesn't provide isprint(). Add a replacement. Solves a build bug on certain distros. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60f916dee612130c9977a8edd4abee98334202ba Author: Peter Zijlstra Date: Mon Jun 15 19:00:20 2009 +0200 perf_counter: x86: Set the period in the intel overflow handler Commit 9e350de37ac960 ("perf_counter: Accurate period data") missed a spot, which caused all Intel-PMU samples to have a period of 0. This broke auto-freq sampling. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 6e7d6fdcbeefa9434653b5e5da12909636ea1d52 Author: Peter Zijlstra Date: Wed Jun 17 15:51:44 2009 +0200 perf report: Add --sort --call <$regex> Implement sorting by callchain symbols, --sort . It will create a new column which will show a match to --call $regex or "[unmatched]". Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8653f88ff93ba6bd6df4bac48908d41ad09dba7e Author: Huang Weiyi Date: Sat Jun 13 20:21:26 2009 +0800 x86: Remove duplicated #include's Signed-off-by: Huang Weiyi LKML-Reference: <1244895686-2348-1-git-send-email-weiyi.huang@gmail.com> Signed-off-by: Ingo Molnar commit 8fa62ad9d24e24707164ac7a97cbe59fe78a8591 Author: Jaswinder Singh Rajput Date: Wed Jun 17 14:11:10 2009 +0530 x86: msr.h linux/types.h is only required for __KERNEL__ is only required for __KERNEL__ as whole file is covered with it Also fixed some spacing issues for usr/include/asm-x86/msr.h Signed-off-by: Jaswinder Singh Rajput Cc: "H. Peter Anvin" LKML-Reference: <1245228070.2662.1.camel@ht.satnam> Signed-off-by: Ingo Molnar commit c30938d59e7468259855da91a885b19e8044b5f4 Merge: aa2638a 8e7c259 Author: Linus Torvalds Date: Wed Jun 17 09:51:50 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c [CPUFREQ] powernow-k8: get drv data for correct CPU [CPUFREQ] powernow-k8: read P-state from HW [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[] [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier() [CPUFREQ] minor correction to cpu-freq documentation [CPUFREQ] powernow-k8.c: mess cleanup [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0 [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case commit aa2638a210ab0d7c6702cd54315365785fce326c Merge: b069e8e ea44319 Author: Linus Torvalds Date: Wed Jun 17 09:50:44 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: [SCSI] aic79xx: make driver respect nvram for IU and QAS settings [SCSI] don't attach ULD to Dell Universal Xport [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3 [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences [SCSI] qla2xxx: Resolve a performance issue in interrupt [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set. [SCSI] nsp_cs: time_out reaches -1 [SCSI] qla2xxx: fix printk format warnings [SCSI] ncr53c8xx: div reaches -1 [SCSI] compat: don't perform unneeded copy in sg_io code [SCSI] zfcp: Update FC pass-through support [SCSI] zfcp: Add FC pass-through support [SCSI] FC Pass Thru support commit b069e8ed4d5054b1fcd31a98bb2053bde645202f Merge: b7c142d d9dd088 Author: Linus Torvalds Date: Wed Jun 17 09:48:30 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: (21 commits) UBI: add reboot notifier UBI: handle more error codes UBI: fix multiple spelling typos UBI: fix kmem_cache_free on error patch UBI: print amount of reserved PEBs UBI: improve messages in the WL worker UBI: make gluebi a separate module UBI: remove built-in gluebi UBI: add notification API UBI: do not switch to R/O mode on read errors UBI: fix and clean-up error paths in WL worker UBI: introduce new constants UBI: fix race condition UBI: minor serialization fix UBI: do not panic if volume check fails UBI: add dump_stack in checking code UBI: fix races in I/O debugging checks UBI: small debugging code optimization UBI: improve debugging messages UBI: re-name volumes_mutex to device_mutex ... commit b7c142dbf1e7422d0be7f7faa3f1163ad9da9788 Merge: 0bd8df9 f2c5dbd Author: Linus Torvalds Date: Wed Jun 17 09:46:33 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: start using hrtimers hrtimer: export ktime_add_safe UBIFS: do not forget to register BDI device UBIFS: allow sync option in rootflags UBIFS: remove dead code UBIFS: use anonymous device UBIFS: return proper error code if the compr is not present UBIFS: return error if link and unlink race UBIFS: reset no_space flag after inode deletion commit 0bd8df908de2aefe312d05bd25cd3abc21a6d1da Author: Andrew Morton Date: Tue Jun 16 22:38:29 2009 -0700 Documentation/vm/Makefile: don't try to build slqbinfo For it is only in linux-next at this stage. Cc: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b47883d93e941cb2b2df9ab46b2bdb66116c992 Author: Dave Airlie Date: Wed Jun 17 17:21:13 2009 +1000 drm/radeon/kms: remove the _DRM_DRIVER from the KMS paths. This causes an issue since we fixed the drm mappings to do the right thing, so its just a copy and pasto. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 4ce4b1b73b4dd37e4a70390976ac0bcf7038d6f9 Merge: 9cb0fbf 5caf5c7 Author: Linus Torvalds Date: Wed Jun 17 09:41:25 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: SLUB: Fix early boot GFP_DMA allocations SLUB: Don't print out OOM warning for __GFP_NOFAIL SLUB: fix build when !SLUB_DEBUG SLUB: Out-of-memory diagnostics slab: document kzfree() zeroing behavior slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE slob: use PG_slab for identifying SLOB pages commit 3104bf03a923c72043a9c5009d9cd56724304916 Author: Christian Engelmayer Date: Tue Jun 16 10:35:12 2009 +0200 sched: Fix out of scope variable access in sched_slice() Access to local variable lw is aliased by usage of pointer load. Access to pointer load in calc_delta_mine() happens when lw is already out of scope. [ Reported by static code analysis. ] Signed-off-by: Christian Engelmayer LKML-Reference: <20090616103512.0c846e51@frequentis.com> Signed-off-by: Ingo Molnar commit 27f70c3117194f98beb009dc48bb2aa267f505bf Merge: d186b86 e088a4a Author: Tony Luck Date: Wed Jun 17 09:35:24 2009 -0700 Pull for-2.6.31 into release commit e088a4ad7fa53c3dc3c29f930025f41ccf01953e Author: Matthew Wilcox Date: Fri May 22 13:49:49 2009 -0700 [IA64] Convert ia64 to use int-ll64.h It is generally agreed that it would be beneficial for u64 to be an unsigned long long on all architectures. ia64 (in common with several other 64-bit architectures) currently uses unsigned long. Migrating piecemeal is too painful; this giant patch fixes all compilation warnings and errors that come as a result of switching to use int-ll64.h. Note that userspace will still see __u64 defined as unsigned long. This is important as it affects C++ name mangling. [Updated by Tony Luck to change efi.h:efi_freemem_callback_t to use u64 for start/end rather than unsigned long] Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit 348ec61e6268c3cd7ee75cfa50e408184a941506 Author: Hitoshi Mitake Date: Wed Jun 17 22:20:55 2009 +0900 sched: Hide runqueues from direct refer at source code level There are some points which refer the per-cpu value "runqueues" directly. sched.c provides nice abstraction, such as cpu_rq() and this_rq(), so we should use these macros when looking runqueues. Signed-off-by: Hitoshi Mitake LKML-Reference: <20090617.222055.374768827975756908.mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 813400060fe2824163cabd9afed4e476e7ce282e Merge: 1bf7b31 fe955e5 Author: Ingo Molnar Date: Wed Jun 17 18:21:41 2009 +0200 Merge branch 'x86/urgent' into x86/mce3 Conflicts: arch/x86/kernel/cpu/mcheck/mce_intel.c Merge reason: merge with an urgent-branch MCE fix. Signed-off-by: Ingo Molnar commit fe955e5c793aab398794be4c5ede172d48446c4a Author: Prarit Bhargava Date: Wed Jun 10 12:41:02 2009 -0700 x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround Expand Intel NMI perfctr1 workaround to include a Core2 processor stepping (cpuid family-6, model-f, stepping-4). Resolves a situation where the NMI would not enable on these processors. Signed-off-by: Prarit Bhargava Acked-by: Suresh Siddha Cc: prarit@redhat.com Cc: suresh.b.siddha@intel.com Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 9cb0fbf7f8cbbd16218a4fb5983ac55fbc031929 Merge: feb72ce 363c55c Author: Linus Torvalds Date: Wed Jun 17 09:13:52 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: (47 commits) MIPS: Add hibernation support MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h MIPS: Allow CPU specific overriding of CP0 hwrena impl bits. MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems. Hugetlbfs: Enable hugetlbfs for more systems in Kconfig. MIPS: TLB support for hugetlbfs. MIPS: Add hugetlbfs page defines. MIPS: Add support files for hugetlbfs. MIPS: Remove unused parameters from iPTE_LW. Staging: Add octeon-ethernet driver files. MIPS: Export erratum function needed by octeon-ethernet driver. MIPS: Cavium-Octeon: Add more chip specific feature tests. MIPS: Cavium-Octeon: Add more board type constants. MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver. MIPS: Add named alloc functions to OCTEON boot monitor memory allocator. MIPS: Alchemy: devboards: Convert to gpio calls. MIPS: Alchemy: xxs1500: use linux gpio api. MIPS: Alchemy: MTX-1: Use linux gpio api. MIPS: Alchemy: Rewrite GPIO support. MIPS: Alchemy: Remove unused au1000_gpio.h header ... commit d186b86ffcad713a1dd3d03e9d4ce2d59f61a1ed Author: Jes Sorensen Date: Wed Jun 17 09:04:40 2009 -0700 [IA64] Fix build error in paravirt_patchlist.c Andrew cleaned up some #include tangles in: commit 0d9c25dde878a636ee9a9b53923569171bf9a55b headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h which resulted in this build error for ia64: CC arch/ia64/kernel/paravirt_patchlist.o arch/ia64/kernel/paravirt_patchlist.c:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__initdata' arch/ia64/kernel/paravirt_patchlist.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'paravirt_get_gate_patchlist' arch/ia64/kernel/paravirt_patchlist.c:76: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'paravirt_get_gate_section' make[1]: *** [arch/ia64/kernel/paravirt_patchlist.o] Error 1 The problem was that paravirt_patchlist.c was relying on some of the nested includes (specifically that linux/bug.h included linux/module.h Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit feb72ce827b939d5228664c92c2dfed7753cae46 Merge: 65795ef 5ac3455 Author: Linus Torvalds Date: Wed Jun 17 08:46:57 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: get rid of BKL in fs/sysv get rid of BKL in fs/minix get rid of BKL in fs/efs befs ->pust_super() doesn't need BKL Cleanup of adfs headers 9P doesn't need BKL in ->umount_begin() fuse doesn't need BKL in ->umount_begin() No instance of ->bmap() needs BKL remove unlock_kernel() left accidentally ext4: avoid unnecessary spinlock in critical POSIX ACL path ext3: avoid unnecessary spinlock in critical POSIX ACL path commit 1bf7b31efa0c322d93cb3f772cd9bc743e8bb42d Author: H. Peter Anvin Date: Wed Jun 17 08:31:15 2009 -0700 x86, mce: mce_intel.c needs mce_intel.c uses apic_write() and lapic_get_maxlvt(), and so it needs . Signed-off-by: H. Peter Anvin Cc: Andi Kleen Cc: Hidetoshi Seto commit 8f7007aabee22d6c186070e9532b0965f6036bb7 Author: Jaswinder Singh Rajput Date: Wed Jun 10 12:41:01 2009 -0700 x86: apic/io_apic.c: dmar_msi_type should be static Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 50a8d4d29735ec99139e58ea3cb11bed3331cf87 Author: Figo.zhang Date: Wed Jun 17 22:25:20 2009 +0800 x86, io_apic.c: Work around compiler warning This compiler warning: arch/x86/kernel/apic/io_apic.c: In function ‘ioapic_write_entry’: arch/x86/kernel/apic/io_apic.c:466: warning: ‘eu’ is used uninitialized in this function arch/x86/kernel/apic/io_apic.c:465: note: ‘eu’ was declared here Is bogus as 'eu' is always initialized. But annotate it away by initializing the variable, to make it easier for people to notice real warnings. A compiler that sees through this logic will optimize away the initialization. Signed-off-by: Figo.zhang LKML-Reference: <1245248720.3312.27.camel@myhost> Signed-off-by: Ingo Molnar commit 5ce4243dcefbbc43791ffc36e1be55067ceec916 Author: Cyrill Gorcunov Date: Mon Jun 15 22:26:33 2009 +0400 x86: mce: Don't touch THERMAL_APIC_VECTOR if no active APIC present If APIC was disabled (for some reason) and as result it's not even mapped we should not try to enable thermal interrupts at all. Reported-by: Simon Holm Thøgersen Tested-by: Simon Holm Thøgersen Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090615182633.GA7606@lenovo> Signed-off-by: Ingo Molnar commit fd5e1b5dbaa8b4aacc0e251d74182eda37062194 Author: Li Zefan Date: Mon Jun 15 13:34:19 2009 +0800 sched: Remove unneeded __ref tag Those two functions no longer call alloc_bootmmem_cpumask_var(), so no need to tag them with __init_refok. Signed-off-by: Li Zefan Acked-by: Pekka Enberg LKML-Reference: <4A35DD5B.9050106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 84599f8a59e77699f18f06948cea171a349a3f0f Author: Peter Zijlstra Date: Tue Jun 16 12:34:17 2009 -0700 sched, x86: Fix cpufreq + sched_clock() TSC scaling For freqency dependent TSCs we only scale the cycles, we do not account for the discrepancy in absolute value. Our current formula is: time = cycles * mult (where mult is a function of the cpu-speed on variable tsc machines) Suppose our current cycle count is 10, and we have a multiplier of 5, then our time value would end up being 50. Now cpufreq comes along and changes the multiplier to say 3 or 7, which would result in our time being resp. 30 or 70. That means that we can observe random jumps in the time value due to frequency changes in both fwd and bwd direction. So what this patch does is change the formula to: time = cycles * frequency + offset And we calculate offset so that time_before == time_after, thereby ridding us of these jumps in time. [ Impact: fix/reduce sched_clock() jumps across frequency changing events ] Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar Chucked-on-by: Thomas Gleixner Signed-off-by: Andrew Morton commit c564039fd83ea16a86a96d52632794b24849e507 Author: Eric Dumazet Date: Tue Jun 16 10:12:03 2009 +0000 net: sk_wmem_alloc has initial value of one, not zero commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. Some protocols check sk_wmem_alloc value to determine if a timer must delay socket deallocation. We must take care of the sk_wmem_alloc value being one instead of zero when no write allocations are pending. Reported by Ingo Molnar, and full diagnostic from David Miller. This patch introduces three helpers to get read/write allocations and a followup patch will use these helpers to report correct write allocations to user. Reported-by: Ingo Molnar Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1d4ac5d5ef9dd965ae211ebe8acbf83dc4d9571b Author: Randy Dunlap Date: Tue Jun 16 16:56:33 2009 +0000 phy_device: fix parameter name in kernel-doc Fix kernel-doc parameter name in phy_device.c. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit d77eeb702cba0fa6efaf5689fce8939aa617f410 Author: Patrick McHardy Date: Mon Jun 15 23:33:24 2009 +0000 net: fix network drivers ndo_start_xmit() return values Fix up remaining drivers returning a magic or an errno value from their ndo_start_xmit() functions that were missed in the first pass: - isdn_net: missed conversion - bpqether: missed conversion: skb is freed, so return NETDEV_TX_OK - hp100: intention appears to be to resubmit skb once resources are available, but due to no queue handling it is dropped for now. - lapbether: skb is freed, so return NETDEV_TX_OK Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5dbc901172fb952409940cd7ca55d8e6e5a7cc2c Author: Sivakumar Subramani Date: Tue Jun 16 18:48:55 2009 +0000 vxge: Enable SRIOV support in the driver. - Enabled SRIOV support in the driver. - Call __vxge_hw_verify_pci_e_info() for the PF only. This function verifies the negotiated link width and current link speed in the Link Status Register (offset 12h) which are reserved fields for VFs as per the SRIOV specification, section 3.5.8. - Implemented David Miller's comment to remove the #ifdef CONFIG_PCI_IOV as these intefaces have NOP versions declared when the defintion is not set. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit a42fc8f6943127787ad2a416436cf211d5531229 Author: Randy Dunlap Date: Tue Jun 16 16:56:38 2009 +0000 skbuff.h: fix skb_dst kernel-doc Fix kernel-doc warnings (missing + extra entries) in skbuff.h. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit a3d06cc6aa3e765dc2bf98626f87272dcf641dca Merge: 0990b1c 65795ef Author: Ingo Molnar Date: Wed Jun 17 13:06:17 2009 +0200 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/include/asm/kmap_types.h include/linux/mm.h include/asm-generic/kmap_types.h Merge reason: We crossed changes with kmap_types.h cleanups in mainline. Signed-off-by: Ingo Molnar commit 363c55cae53742f3f685a1814912c6d4fda245b4 Author: Wu Zhangjin Date: Thu Jun 4 20:27:10 2009 +0800 MIPS: Add hibernation support [Ralf: SMP support requires CPU hotplugging which MIPS currently doesn't support. As implemented in this patch cache and tlb flushing will also be invoked with interrupts disabled so smp_call_function() will blow up in charming ways. So limit to !SMP.] Reviewed-by: Pavel Machek Reviewed-by: Yan Hua Reviewed-by: Arnaud Patard Reviewed-by: Atsushi Nemoto Signed-off-by: Wu Zhangjin Signed-off-by: Hu Hongbing Signed-off-by: Ralf Baechle commit 4bb1a1089e321d685967032497f4363081eab3a9 Author: David Daney Date: Wed May 13 15:59:56 2009 -0700 MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h We had an ugly #ifdef for Cavium Octeon hwrena bits in traps.c, remove it to mach-cavium-octeon/cpu-feature-overrides.h Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit fbeda19f82aa07082d2e1607a9f5114141dae2ac Author: David Daney Date: Wed May 13 15:59:55 2009 -0700 MIPS: Allow CPU specific overriding of CP0 hwrena impl bits. Some CPUs have implementation dependent rdhwr registers. Allow them to be enabled on a per CPU basis. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 9cffd154cf6817b130762501b91e753524ba2cd4 Author: David Daney Date: Wed May 27 17:47:46 2009 -0700 MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems. Add new kconfig variables SYS_SUPPORTS_HUGETLBFS and CPU_SUPPORTS_HUGEPAGES. They are enabled for systems that are known to support huge pages. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 852969b2d273e77dabbc22e1c1058cbafb7ad7d2 Author: David Daney Date: Wed May 27 17:47:45 2009 -0700 Hugetlbfs: Enable hugetlbfs for more systems in Kconfig. As part of adding hugetlbfs support for MIPS, I am adding a new kconfig variable 'SYS_SUPPORTS_HUGETLBFS'. Since some mips cpu varients don't yet support it, we can enable selection of HUGETLBFS on a system by system basis from the arch/mips/Kconfig. Signed-off-by: David Daney CC: William Irwin Signed-off-by: Ralf Baechle commit fd062c847a8cea2821347d7e18165dfa658f7dce Author: David Daney Date: Wed May 27 17:47:44 2009 -0700 MIPS: TLB support for hugetlbfs. The TLB handlers need to check for huge pages and give them special handling. Huge pages consist of two contiguous sub-pages of physical memory. * Loading entrylo0 and entrylo1 need to be handled specially. * The page mask must be set for huge pages and then restored after writing the TLB entries. * The PTE for huge pages resides in the PMD, we halt traversal of the tables there. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit dd7943920b492d9d8a79080fe05e25ecd7e10bc3 Author: David Daney Date: Wed May 27 17:47:43 2009 -0700 MIPS: Add hugetlbfs page defines. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 50a41ff292fafe1e937102be23464b54fed8b78c Author: David Daney Date: Wed May 27 17:47:42 2009 -0700 MIPS: Add support files for hugetlbfs. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit bd1437e49d80fa3369ffbea9e73cde7f6d69e550 Author: David Daney Date: Fri May 8 15:10:50 2009 -0700 MIPS: Remove unused parameters from iPTE_LW. The l parameter to iPTE_LW() is unused. Remove it and from some of its callers as well. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 80ff0fd3ab6451407a20c19b80c1643c4a6d6434 Author: David Daney Date: Tue May 5 17:35:21 2009 -0700 Staging: Add octeon-ethernet driver files. The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui ports present on the Cavium OCTEON family of SOCs. These SOCs are multi-core mips64 processors with existing support over in arch/mips. The driver files can be categorized into three basic groups: 1) Register definitions, these are named cvmx-*-defs.h 2) Main driver code, these have names that don't start cvmx-. 3) Interface specific functions and other utility code, names starting with cvmx- Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 38295fb2a09264671c82d490ce77c17d492378e0 Author: David Daney Date: Tue May 5 17:35:20 2009 -0700 MIPS: Export erratum function needed by octeon-ethernet driver. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f1f1f5902be0cec3b5026610f360cd471765c157 Author: David Daney Date: Tue May 5 17:35:19 2009 -0700 MIPS: Cavium-Octeon: Add more chip specific feature tests. The octeon-ethernet driver needs to check for additional chip specific features, we add them to the octeon_has_feature() framework. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2b1b62e841867326fa260a581d97941c32abc35b Author: David Daney Date: Tue May 5 17:35:18 2009 -0700 MIPS: Cavium-Octeon: Add more board type constants. The bootloader now uses additional board type constants. The octeon-ethernet driver needs some of the new values. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 3e903bd9b192fe9739bb960191402d3b97ef4f6c Author: David Daney Date: Tue May 5 17:35:17 2009 -0700 MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 6fa044ab8ab609bf95423b2841e20a2f4bb3a86d Author: David Daney Date: Tue May 5 17:35:16 2009 -0700 MIPS: Add named alloc functions to OCTEON boot monitor memory allocator. The various Octeon ethernet drivers use these new functions. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ce65cc8fe22a572ea9ec88e203388558b6b863af Author: Manuel Lauss Date: Sat Jun 6 14:09:58 2009 +0200 MIPS: Alchemy: devboards: Convert to gpio calls. Replace a few open-coded GPIO register accesses with gpio calls. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit b6c9f10517e99d806bebd04555801c787b9a3a23 Author: Manuel Lauss Date: Sat Jun 6 14:09:57 2009 +0200 MIPS: Alchemy: xxs1500: use linux gpio api. Replace a few GPIO register accesses in the board init code with calls to the gpio api. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit bb706b28bbd647c2fd7f22d6bf03a18b9552be05 Author: Manuel Lauss Date: Sat Jun 6 14:09:56 2009 +0200 MIPS: Alchemy: MTX-1: Use linux gpio api. Replace a few GPIO register accesses in the board init code with calls to the gpio api. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 51e02b02e650183ff1277bcbad6a01d6ea0e9edb Author: Manuel Lauss Date: Sat Jun 6 14:09:55 2009 +0200 MIPS: Alchemy: Rewrite GPIO support. The current in-kernel Alchemy GPIO support is far too inflexible for all my use cases. To address this, the following changes are made: * create generic functions which deal with manipulating the on-chip GPIO1/2 blocks. Such functions are universally useful. * Macros for GPIO2 shared interrupt management and block control. * support for both built-in CONFIG_GPIOLIB and fast, inlined GPIO macros. If CONFIG_GPIOLIB is not enabled, provide linux gpio framework compatibility by directly inlining the GPIO1/2 functions. GPIO access is limited to on-chip ones and they can be accessed as documented in the datasheets (GPIO0-31 and 200-215). If CONFIG_GPIOLIB is selected, two (2) gpio_chip-s, one for GPIO1 and one for GPIO2, are registered. GPIOs can still be accessed by using the numberspace established in the databooks. However this is not yet flexible enough for my uses: My Alchemy systems have a documented "external" gpio interface (fixed, different numberspace) and can support a variety of baseboards, some of which are equipped with I2C gpio expanders. I want to be able to provide the default 16 GPIOs of the CPU board numbered as 0..15 and also support gpio expanders, if present, starting as gpio16. To achieve this, a new Kconfig symbol for Alchemy is introduced, CONFIG_ALCHEMY_GPIO_INDIRECT, which boards can enable to signal that they don't want the Alchemy numberspace exposed to the outside world, but instead want to provide their own. Boards are now respon- sible for providing the linux gpio interface glue code (either in a custom gpio.h header (in board include directory) or with gpio_chips). To make the board-specific inlined gpio functions work, the MIPS Makefile must be changed so that the mach-au1x00/gpio.h header is included _after_ the board headers, by moving the inclusion of the mach-au1x00/ to the end of the header list. See arch/mips/include/asm/mach-au1x00/gpio.h for more info. Signed-off-by: Manuel Lauss Acked-by: Florian Fainelli Signed-off-by: Ralf Baechle commit eeb09e6545bf68222798ccf3f355560a9e406435 Author: Manuel Lauss Date: Sat Jun 6 14:09:54 2009 +0200 MIPS: Alchemy: Remove unused au1000_gpio.h header Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit f203b7cacb96e4bb44b6995c03152cbedfb1857f Author: Matthieu Castet Date: Sun May 24 19:48:51 2009 +0200 MIPS: BCM47xx: Fix gpio_direction_output gpio_direction_output should also set an output value according to the API. Signed-off-by: Matthieu CASTET Acked-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit cc906f8e237770cf22d132dfa27ea586d67f7bf2 Author: Ralf Baechle Date: Wed Jun 17 11:06:28 2009 +0100 MIPS: ioctl.h: Cleanup. o Rewrite to use . Cuts down the file from 40 to 16 lines. o Delete _IOC_VOID, _IOC_OUT, _IOC_IN and _IOC_INOUT. They were added for 2.1.14 but I was not able to find any user - not even historical ones. Signed-off-by: Ralf Baechle commit 923e3819005e60449ed6c9c8a86fd8e5cd9e6d77 Author: Atsushi Nemoto Date: Tue Jun 2 23:54:22 2009 +0900 MIPS: TXx9: Add TX4939 RNG support Add platform support for RNG of TX4939 SoC. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 049a947c611a19523eaaf193f698b897a62d0593 Author: Atsushi Nemoto Date: Tue Jun 2 23:54:21 2009 +0900 MIPS: hwrng: Add TX4939 RNG driver This patch adds support for the integrated RNG of the TX4939 SoC. Signed-off-by: Atsushi Nemoto Acked-by: Matt Mackall Signed-off-by: Ralf Baechle commit c3b28ae260d99a5364a31210a36a3246bd9647f7 Author: Atsushi Nemoto Date: Mon May 25 22:04:02 2009 +0900 MIPS: TXx9: Add SRAMC support Add a sysdev to access SRAM in TXx9 SoCs via sysfs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 05f94eebd55ef69a354d3ea70179e40ea4c34de6 Author: Imre Kaloz Date: Tue Jun 2 14:22:06 2009 +0200 MIPS: Sibyte: Remove standalone kernel support CFE is the only supported and used bootloader on the SiByte boards, the standalone kernel support has been never used outside Broadcom. Remove it and make the kernel use CFE by default. Signed-off-by: Imre Kaloz Signed-off-by: Ralf Baechle commit 435f81f4a24206f82ce10d430fa6f312cee80669 Author: Imre Kaloz Date: Tue Jun 2 14:22:00 2009 +0200 MIPS: Sibyte: Remove simulator option This patch removes the SiByte simulation Kconfig option, which only modified a printk. Signed-off-by: Imre Kaloz Signed-off-by: Ralf Baechle commit d36773e53f4919627d43b1010df096c5d518a1f5 Author: Florian Fainelli Date: Thu May 21 19:49:47 2009 +0200 MIPS: RB532: Check irq number when handling GPIO interrupts This patch makes sure that we are not going to clear or change the interrupt status of a GPIO interrupt superior to 13 as this is the maximum number of GPIO interrupt source (p.232 of the RC32434 reference manual). Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 1c99dac8bf0dd5bd1a7600e81d1e5691f7338250 Author: Florian Fainelli Date: Thu May 21 19:49:39 2009 +0200 MIPS: RB532: Cleanup cpu-features-overrides Remove commented out definitions. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit faed5288af0f05aa61ac1e8d47306d855a2868f0 Author: David Daney Date: Tue May 12 12:41:55 2009 -0700 MIPS: Remove dead case label. CPU_CAVIUM_OCTEON is mips_r2 which is handled before the switch. This label in the switch statement is dead code, so we remove it. Signed-off-by: David Daney Reviewed by: David VomLehn Signed-off-by: Ralf Baechle commit 9e290a19f21f4d6c305090d3c61fbfad65908188 Author: David Daney Date: Tue May 12 12:41:54 2009 -0700 MIPS: Remove execution hazard barriers for Octeon. The Octeon has no execution hazards, so we can remove them and save an instruction per TLB handler invocation. Signed-off-by: David Daney Reviewed by: David VomLehn Signed-off-by: Ralf Baechle commit 41f0e4d041aa30507a34998c29d0b7ac0bede277 Author: David Daney Date: Tue May 12 12:41:53 2009 -0700 MIPS: Allow R2 CPUs to turn off generation of 'ehb' instructions. Some CPUs do not need ehb instructions after writing CP0 registers. By allowing ehb generation to be overridden in cpu-feature-overrides.h, we can save a few instructions in the TLB handler hot paths. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 95affdda9bfba0ac17025d48c622e1f30964e316 Author: David Daney Date: Wed May 20 11:40:59 2009 -0700 MIPS: Fold the TLB refill at the vmalloc path if possible. Try to fold the 64-bit TLB refill handler opportunistically at the beginning of the vmalloc path so as to avoid splitting execution flow in half and wasting cycles for a branch required at that point then. Resort to doing the split if either of the newly created parts would not fit into its designated slot. Original-patch-by: Maciej W. Rozycki Signed-off-by: Maciej W. Rozycki Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit e6f72d3abafd50984decc2833c706e717f5ba04e Author: David Daney Date: Wed May 20 11:40:58 2009 -0700 MIPS: Replace some magic numbers with symbolic values in tlbex.c The logic used to split the r4000 refill handler is liberally sprinkled with magic numbers. We attempt to explain what they are and normalize them against a new symbolic value (MIPS64_REFILL_INSNS). CC: David VomLehn Reviewed-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 742cd5867b2ef7ce865d7ab67574c4e3aa1fb155 Author: Atsushi Nemoto Date: Tue May 19 22:12:22 2009 +0900 MIPS: TXx9: Add ACLC support Add platform support for ACLC of TXx9 SoCs. Signed-off-by: Atsushi Nemoto Acked-by: Mark Brown Signed-off-by: Ralf Baechle commit e8635b484f644c7873e6091f15330c49396f2cbc Author: David Daney Date: Thu Apr 23 17:44:38 2009 -0700 MIPS: Add Cavium OCTEON PCI support. This patch adds support for PCI and PCIe to the base Cavium OCTEON processor support. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 8860fb8210b06720d5fe3c23b2803a211c26feb1 Author: David Daney Date: Thu Apr 23 17:44:37 2009 -0700 MIPS: Add register definitions for PCI. Here we add the register definitions for the processor blocks used by the following PCI support patch. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f48c8c958a2d39f13dace880d15a6e711aafe577 Author: Atsushi Nemoto Date: Thu Apr 23 00:40:31 2009 +0900 MIPS: TXx9: Add DMAC support Add platform support for DMAC of TXx9 SoCs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ea76f0b3759283ec3cc06c86e266bf0fa6a981d2 Author: Atsushi Nemoto Date: Thu Apr 23 00:40:30 2009 +0900 DMA: TXx9 Soc DMA Controller driver This patch adds support for the integrated DMAC of the TXx9 family. Signed-off-by: Atsushi Nemoto Acked-by: Dan Williams Signed-off-by: Ralf Baechle commit a43da03ca4719276b9601730627d20b2a71fb6ba Author: Atsushi Nemoto Date: Fri Apr 24 00:10:36 2009 +0900 MIPS: TXx9: micro optimization for clocksource and clock_event Use container structure for clocksource, clock_event_device and hold a pointer to txx9_tmr_reg in it. This saves a few instructions in clocksource and clock_event handlers. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 605b7ef7b79cee8e36ae5c48700e1a1eec74d38a Author: Kevin Cernekee Date: Thu Apr 23 17:36:53 2009 -0700 MIPS: Support 64-byte D-cache line size Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit 3807ef3f61e094c9417d1a12f18d6b3c8e27d96f Author: Kevin Cernekee Date: Thu Apr 23 17:25:12 2009 -0700 MIPS: Pass struct device to plat_dma_addr_to_phys() Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit d3f634b96a86521f51bbaf04a81e34e7adb0eeb4 Author: Kevin Cernekee Date: Thu Apr 23 17:03:43 2009 -0700 MIPS: Add size and direction arguments to plat_unmap_dma_mem() Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit 7762f206a3f3a19a38ed91a3d87f019d8b4eafc1 Author: Ralf Baechle Date: Wed Jun 17 11:06:24 2009 +0100 MIPS: SB1250: Sort out merge mistake. A wrong resolution of a merge conflict made the recently deleted wrong error check in sb1250_set_affinity. Send the zombie back to the empire of the undead. Signed-off-by: Ralf Baechle commit 3cb3a66cf7559d9c5d47ddf58481530b8943052f Author: Atsushi Nemoto Date: Tue Jun 9 11:12:48 2009 +0900 MIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit dbc1d911b4392982d5ec69eaed6b617758a148d9 Author: Ralf Baechle Date: Wed Jun 17 11:06:24 2009 +0100 MIPS: SMTC: Fix formatting difference to linux-mips.org code Signed-off-by: Ralf Baechle commit 39027ff07b572d5015f29a5bbbc36394f4e6f32e Author: Ralf Baechle Date: Fri Jun 12 17:28:00 2009 +0100 MIPS: Fix typo resulting in far too long ndelay times. Signed-off-by: Ralf Baechle commit 5713e602106545ff601c158d0864ce8e79de6d0a Author: Paul Mundt Date: Wed Jun 17 18:20:48 2009 +0900 sh: pci: Initial PCI-Express support for SH7786 Urquell board. This adds initial support for the PCI-Express module in the SH7786, particularly as it relates to the urquell platform. Presently it is only supported in root complex mode, with endpoint mode still requiring more debugging. 29/32-bit mode and lane configurations are selectable via board mode pins, and are otherwise fixed. Only 4x and 1x PCI channels are presently handled, the PCI bridge still requires additional debugging and stabilization in hardware. Signed-off-by: Paul Mundt commit 05e9e61a2e742d33ed24392d989fff912a68d04f Author: David S. Miller Date: Wed Jun 17 01:36:23 2009 -0700 sonic: Fix build after ndo_start_xmit() changes. Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 3d3638da49211cf15f8aec3030990ac6fba4c693 Merge: be890a1 66765fe 724cfb9 2cb582c 9c93e59 Author: Paul Mundt Date: Wed Jun 17 16:37:26 2009 +0900 Merge branches 'sh/pci-express-integration', 'sh/rsk-updates', 'sh/platform-updates' and 'sh/perf_counter' commit 9c93e596979021b159736a1273987c3e52d809e0 Author: Paul Mundt Date: Wed Jun 17 16:34:45 2009 +0900 sh: Generic HAVE_PERF_COUNTER support. This enables support for the generic software-based perf counters. Hardware counter support could be added in the future, but the lack of a performance counter IRQ makes this rather dubious. Signed-off-by: Paul Mundt commit e7c5a4f292e0d1f4ba9a3a94b2c8e8b71e35b25a Author: Wolfram Sang Date: Wed Jun 17 06:30:31 2009 -0600 powerpc/5121: make clock debug output more readable This patch refactors clock.c by replacing printk calls with pr_info/pr_cont, and uses '=' in output to connect key/value pairs Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 2cb582ca0d6bd0274b15c9ee9549fc2251b7b599 Author: Guennadi Liakhovetski Date: Tue May 12 15:13:40 2009 +0000 SH: convert migor to soc-camera as platform-device Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 194a17305cb0b5e0686261b645d3fd537d2fc58d Author: Guennadi Liakhovetski Date: Tue May 12 15:13:36 2009 +0000 SH: convert ap325rxa to soc-camera as platform-device Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 0a861e9eb76c68b23be1aa4758269c5b412089a9 Author: Guennadi Liakhovetski Date: Tue May 12 15:13:32 2009 +0000 soc-camera: unify i2c camera device platform data Unify i2c camera device platform data to point to struct soc_camera_link for a smooth transition to soc-camera as a platform driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit f73c8f53ccc13ae13c6dbfa002083448a5ad0c81 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:14 2009 +0000 sh: add platform data for r8a66597-hcd in setup-sh7723 and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 6b64929c1e696090f32c31782e44d3b51754126f Author: Yoshihiro Shimoda Date: Tue May 26 09:33:11 2009 +0000 sh: add platform data for r8a66597-hcd in setup-sh7366 and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit fcaf99d20d86995cfa1a4f01b1273f9f7d74717e Author: Yoshihiro Shimoda Date: Tue May 26 09:33:08 2009 +0000 sh: x3proto: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 6239b20d1ba60810c122390e79f968ccb69908a6 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:05 2009 +0000 sh: highlander: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 5a62a22514f97c04b434163195820cbe31ded888 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:02 2009 +0000 sh: sh7785lcr: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 203abd67b75f7714ce98ab0cdbd6cfd7ad79dec4 Author: Andi Kleen Date: Mon Jun 15 14:52:01 2009 +0200 x86: mce: Handle banks == 0 case in K7 quirk Vegard Nossum reported: > I get an MCE-related crash like this in latest linus tree: > > [ 0.115341] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) > [ 0.116396] CPU: L2 Cache: 512K (64 bytes/line) > [ 0.120570] mce: CPU supports 0 MCE banks > [ 0.124870] BUG: unable to handle kernel NULL pointer dereference at 00000000 00000010 > [ 0.128001] IP: [] mcheck_init+0x278/0x320 > [ 0.128001] PGD 0 > [ 0.128001] Thread overran stack, or stack corrupted > [ 0.128001] Oops: 0002 [#1] PREEMPT SMP > [ 0.128001] last sysfs file: > [ 0.128001] CPU 0 > [ 0.128001] Modules linked in: > [ 0.128001] Pid: 0, comm: swapper Not tainted 2.6.30 #426 > [ 0.128001] RIP: 0010:[] [] mcheck_init+0x278/0x320 > [ 0.128001] RSP: 0018:ffffffff81595e38 EFLAGS: 00000246 > [ 0.128001] RAX: 0000000000000010 RBX: ffffffff8158f900 RCX: 0000000000000000 > [ 0.128001] RDX: 0000000000000000 RSI: 00000000000000ff RDI: 0000000000000010 > [ 0.128001] RBP: ffffffff81595e68 R08: 0000000000000001 R09: 0000000000000000 > [ 0.128001] R10: 0000000000000010 R11: 0000000000000000 R12: 0000000000000000 > [ 0.128001] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000 > [ 0.128001] FS: 0000000000000000(0000) GS:ffff880002288000(0000) knlGS:00000 > 00000000000 > [ 0.128001] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b > [ 0.128001] CR2: 0000000000000010 CR3: 0000000001001000 CR4: 00000000000006b0 > [ 0.128001] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > [ 0.128001] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000 > [ 0.128001] Process swapper (pid: 0, threadinfo ffffffff81594000, task ffffff > ff8152a4a0) > [ 0.128001] Stack: > [ 0.128001] 0000000081595e68 5aa50ed3b4ddbe6e ffffffff8158f900 ffffffff8158f > 914 > [ 0.128001] ffffffff8158f948 0000000000000000 ffffffff81595eb8 ffffffff813b8 > 69c > [ 0.128001] 5aa50ed3b4ddbe6e 00000001078bfbfd 0000062300000800 5aa50ed3b4ddb > e6e > [ 0.128001] Call Trace: > [ 0.128001] [] identify_cpu+0x331/0x392 > [ 0.128001] [] identify_boot_cpu+0x23/0x6e > [ 0.128001] [] check_bugs+0x1c/0x60 > [ 0.128001] [] start_kernel+0x403/0x46e > [ 0.128001] [] x86_64_start_reservations+0xac/0xd5 > [ 0.128001] [] x86_64_start_kernel+0x115/0x14b > [ 0.128001] [] ? early_idt_handler+0x0/0x71 This happens on QEMU which reports MCA capability, but no banks. Without this patch there is a buffer overrun and boot ops because the code would try to initialize the 0 element of a zero length kmalloc() buffer. Reported-by: Vegard Nossum Tested-by: Pekka Enberg Signed-off-by: Andi Kleen LKML-Reference: <20090615125200.GD31969@one.firstfloor.org> Signed-off-by: Ingo Molnar commit cc4949e1fdade5d063e9f8783cf0e2cc92041ce5 Merge: 28b4868 300df7d Author: Ingo Molnar Date: Wed Jun 17 08:59:01 2009 +0200 Merge branch 'linus' into x86/urgent Merge reason: pull in latest to fix a bug in it. Signed-off-by: Ingo Molnar commit be890a1a95fb439594e796f1968f86ee9f36e718 Author: Magnus Damm Date: Wed Jun 17 05:04:04 2009 +0000 sh: turn off irqs when disabling CMT/TMU timers Modify the CMT and TMU drivers to disable interrupts when disabling the timer. Only using start/stop bits is not enough. This fixes a bootup hang on Migo-R when the CMT is replaced by TMU for clockevents but the CMT keeps on delivering irqs even though the timer start bit is off. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4c7eb4ebc9001ce343969f58fa538e164e82000b Author: Magnus Damm Date: Wed Jun 17 04:55:42 2009 +0000 sh: use kzalloc() for cpg clocks Convert the shared clock cpg code from bootmem to slab. Without this patch the current bootmem code triggers WARN_ON() because the slab is available. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ec39885b237c35109644f5d8232228026a72715 Author: Magnus Damm Date: Wed Jun 17 04:48:20 2009 +0000 sh: unbreak WARN_ON() Fix WARN_ON() by modifying the bug trap handling code to always return in the in-kernel instruction pointer case. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 87c441e54dfcf9f45593ecaf68e7e18ea53d5e13 Author: Wolfgang Denk Date: Wed Jun 17 00:30:22 2009 -0600 powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function So far, MPC512x used mpc512x_find_ips_freq() to get the bus frequency, while MPC52xx used mpc52xx_find_ipb_freq(). Despite the different clock names (IPS vs. IPB) the code was identical. Use common code for both processor families. Signed-off-by: Wolfgang Denk Signed-off-by: Grant Likely commit c155ee10c212254e9cdfe7b3eab4e8c13990c231 Author: Wolfram Sang Date: Wed Jun 17 00:30:17 2009 -0600 powerpc/5200: Update pcm030.dts to add i2c eeprom and delete cruft Add a node for the i2c eeprom and delete the superflous gpio-example. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit ab7f3341df07747079b46c38d4e445f38f9a3192 Author: Anton Vorontsov Date: Wed Jun 17 00:30:10 2009 -0600 powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback mpc52xx_psc_spi driver is the last user of the legacy activate_cs and deactivate_cs callbacks, so convert the driver to the cs_control hook and remove the legacy callbacks from fsl_spi_platform_data struct. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely commit aa296a891d1f3704d40127e998c31dfda531fca7 Author: Grant Likely Date: Wed Jun 17 00:30:02 2009 -0600 fbdev/xilinxfb: Fix improper casting and tighen up probe path The xilinxfb driver is improperly casting a physical address to a u32, and the probe routine isn't as straight forward as it could be. (discovered by gcc spitting out warnings on most recent change to xilinxfb driver). This patch fixes the cast and simplifies the probe path. Signed-off-by: Grant Likely Tested-by: John Linn commit 5caf5c7dc2d303b770e426f7e2238df882f1773b Merge: e03ab9d 964cf35 Author: Pekka Enberg Date: Wed Jun 17 08:30:54 2009 +0300 Merge branch 'slub/earlyboot' into for-linus Conflicts: mm/slub.c commit e03ab9d415c47e1ff485b646f95604d3e3a91708 Merge: 65795ef a234bdc 6746136 7303f24 95f8598 Author: Pekka Enberg Date: Wed Jun 17 08:30:15 2009 +0300 Merge branches 'slab/documentation', 'slab/fixes', 'slob/cleanups' and 'slub/fixes' into for-linus commit 5ac3455a843d2ca77333c954eea83aa4514c8199 Author: Al Viro Date: Tue Jun 16 23:59:37 2009 -0400 get rid of BKL in fs/sysv Signed-off-by: Al Viro commit cc46759a8c0ac4c6f13aa4b0f470305c05f600e1 Author: Al Viro Date: Tue Jun 16 23:47:45 2009 -0400 get rid of BKL in fs/minix Signed-off-by: Al Viro commit e7ec952f6aa6ac1649ac49eb5e4de5b92c829d1e Author: Al Viro Date: Tue Jun 16 23:35:46 2009 -0400 get rid of BKL in fs/efs Only readdir() really needed it, and that's easily fixable by switch to generic_file_llseek() Signed-off-by: Al Viro commit 536c94901eb8f2eb6fccf81ae6be814899a9f6e8 Author: Al Viro Date: Tue Jun 16 23:24:50 2009 -0400 befs ->pust_super() doesn't need BKL Signed-off-by: Al Viro commit 608ba50bd0225d95469154feba8f00a6457848c1 Author: Al Viro Date: Tue Jun 16 14:52:13 2009 -0400 Cleanup of adfs headers Signed-off-by: Al Viro commit ee450f796f6c4f3a563c914cb93ccfa91a1f7580 Author: Al Viro Date: Tue Jun 16 14:17:21 2009 -0400 9P doesn't need BKL in ->umount_begin() Signed-off-by: Al Viro commit 66c6af2e8ba55d4d6691c136b42f2423ab9598ec Author: Al Viro Date: Tue Jun 16 14:15:00 2009 -0400 fuse doesn't need BKL in ->umount_begin() Signed-off-by: Al Viro commit fe36adf47eb1f7f4972559efa30ce3d2d3f977f2 Author: Al Viro Date: Tue Jun 16 13:35:01 2009 -0400 No instance of ->bmap() needs BKL Signed-off-by: Al Viro commit b0895513f499b8f786d292ce48589ca210ca1d6e Author: J. R. Okajima Date: Wed Jun 17 01:16:50 2009 +0900 remove unlock_kernel() left accidentally commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7 Push BKL down into ->remount_fs() and commit 4aa98cf768b6f2ea4b204620d949a665959214f6 Push BKL down into do_remount_sb() were uncorrectly merged. The former removes one pair of lock/unlock_kernel(), but the latter adds several unlock_kernel(). Finally a few unlock_kernel() calls left. Signed-off-by: J. R. Okajima Signed-off-by: Al Viro commit 210ad6aedb332e73167ece5af9bd47f0da8c2aca Author: Theodore Ts'o Date: Mon Jun 8 15:22:25 2009 -0400 ext4: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext4 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. (This commit was ported from a patch originally authored by Linus for ext3.) Signed-off-by: "Theodore Ts'o" Signed-off-by: Al Viro commit 9c64daff9d5afb102dfe64a26829e26725538e58 Author: Linus Torvalds Date: Mon Jun 8 15:22:24 2009 -0400 ext3: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext3 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. This is noticeable even on Nehalem, which does locking quite well (much better than P4). From lmbench: Processor, Processes - times in microseconds - smaller is better -------------------------------------------------------------------- Host OS Mhz null null open slct fork exec sh call I/O stat clos TCP proc proc proc --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- - before: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140 nehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141 - after: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148 where you can see what appears to be a roughly 3% improvement in stat and open/close latencies from just the removal of the locking overhead. Of course, this only matters for files you don't own (the owner never needs to do the ACL checks), but that's the common case for libraries, header files, and executables. As well as for the base components of any absolute pathname, even if you are the owner of the final file. [ At some point we probably want to move this ACL caching logic entirely into the VFS layer (and only call down to the filesystem when uncached), but in the meantime this improves ext3 a bit. A similar fix to btrfs makes a much bigger difference (15x improvement in lmbench) due to broken caching. ] Signed-off-by: Linus Torvalds Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Al Viro Signed-off-by: Al Viro commit 65795efbd380a832ae508b04dba8f8e53f0b84d9 Merge: 8d15b0e 4eaad8a Author: Linus Torvalds Date: Tue Jun 16 21:26:42 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-stu300: Make driver depend on MACH_U300 i2c-s3c2410: use resource_size() i2c: Use resource_size macro i2c: ST DDC I2C U300 bus driver v3 i2c-bfin-twi: pull in io.h for ioremap() commit 8d15b0ec32f20a57881dc073b2e8d11dea0ccceb Merge: 005411c cc8da52 Author: Linus Torvalds Date: Tue Jun 16 21:20:39 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: drm/radeon: switch to using late_initcall radeon legacy chips: tv dac bg/dac adj updates drm/radeon: introduce kernel modesetting for radeon hardware drm: Add the TTM GPU memory manager subsystem. drm: Memory fragmentation from lost alignment blocks drm/radeon: fix mobility flags on new PCI IDs. commit 005411c3e9147bc3b78215390e847d688dbbc163 Author: David Howells Date: Tue Jun 16 21:36:49 2009 +0100 AFS: Correctly translate auth error aborts and don't failover in such cases Authentication error abort codes should be translated to appropriate Linux error codes, rather than all being translated to EREMOTEIO - which indicates that the server had internal problems. Additionally, a server shouldn't be marked unavailable and the next server tried if an authentication error occurs. This will quickly make all the servers unavailable to the client. Instead the error should be returned straight to the user. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 519d25679e8ae7433c758b9e74b19144f61b90f8 Author: David Howells Date: Tue Jun 16 21:36:44 2009 +0100 RxRPC: Don't attempt to reuse aborted connections Connections that have seen a connection-level abort should not be reused as the far end will just abort them again; instead a new connection should be made. Connection-level aborts occur due to such things as authentication failures. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0dd5198672dd2bbeb933862e1fc82162e0b636be Merge: c868d55 11c635a Author: Linus Torvalds Date: Tue Jun 16 21:15:42 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: (425 commits) V4L/DVB (11870): gspca - main: VIDIOC_ENUM_FRAMESIZES ioctl added. V4L/DVB (12004): poll method lose race condition V4L/DVB (11894): flexcop-pci: dmesg visible names broken V4L/DVB (11892): Siano: smsendian - declare function as extern V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol V4L/DVB (11890): Siano: smscore - remove redundant code V4L/DVB (11889): Siano: smsdvb - add DVB v3 events V4L/DVB (11888): Siano: smsusb - remove redundant ifdef V4L/DVB (11887): Siano: smscards - add board (target) events V4L/DVB (11886): Siano: smscore - fix some new GPIO definitions names V4L/DVB (11885): Siano: Add new GPIO management interface V4L/DVB (11884): Siano: smssdio - revert to stand alone module V4L/DVB (11883): Siano: cards - add two additional (USB) devices V4L/DVB (11824): Siano: smsusb - change exit func debug msg V4L/DVB (11823): Siano: smsusb - fix typo in module description V4L/DVB (11822): Siano: smscore - bug fix at get_device_mode V4L/DVB (11821): Siano: smscore - fix isdb-t firmware name V4L/DVB (11820): Siano: smscore - fix byte ordering bug V4L/DVB (11819): Siano: smscore - fix get_common_buffer bug V4L/DVB (11818): Siano: smscards - assign gpio to HPG targets ... commit c868d550115b9ccc0027c67265b9520790f05601 Author: Benjamin Herrenschmidt Date: Wed Jun 17 13:48:39 2009 +1000 mm: Move pgtable_cache_init() earlier Some architectures need to initialize SLAB caches to be able to allocate page tables. They do that from pgtable_cache_init() so the later should be called earlier now, best is before vmalloc_init(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 517d08699b250021303f9a7cf0d758b6dc0748ed Merge: 8eeee4e a34601c Author: Linus Torvalds Date: Tue Jun 16 19:50:13 2009 -0700 Merge branch 'akpm' * akpm: (182 commits) fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset fbdev: *bfin*: fix __dev{init,exit} markings fbdev: *bfin*: drop unnecessary calls to memset fbdev: bfin-t350mcqb-fb: drop unused local variables fbdev: blackfin has __raw I/O accessors, so use them in fb.h fbdev: s1d13xxxfb: add accelerated bitblt functions tcx: use standard fields for framebuffer physical address and length fbdev: add support for handoff from firmware to hw framebuffers intelfb: fix a bug when changing video timing fbdev: use framebuffer_release() for freeing fb_info structures radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb? s3c-fb: CPUFREQ frequency scaling support s3c-fb: fix resource releasing on error during probing carminefb: fix possible access beyond end of carmine_modedb[] acornfb: remove fb_mmap function mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF mb862xxfb: restrict compliation of platform driver to PPC Samsung SoC Framebuffer driver: add Alpha Channel support atmel-lcdc: fix pixclock upper bound detection offb: use framebuffer_alloc() to allocate fb_info struct ... Manually fix up conflicts due to kmemcheck in mm/slab.c commit a34601c5d84134055782ee031d58d82f5440e918 Author: Mike Frysinger Date: Tue Jun 16 15:34:43 2009 -0700 fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f09d74a6165c210d5d58d10c2bd58a8c13b0ca8 Author: Mike Frysinger Date: Tue Jun 16 15:34:42 2009 -0700 fbdev: *bfin*: fix __dev{init,exit} markings The remove member of the platform_driver bfin_t350mcqb_driver should use __devexit_p() to refer to the remove function, and that function should get __devexit markings. Likewise, the probe function should be marked with __devinit and not __init. Also, module_init() functions should be marked with __init rather than __devinit. Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3608c66c2e6522952b4be219317b194ab27f4e78 Author: Vivek Kutal Date: Tue Jun 16 15:34:42 2009 -0700 fbdev: *bfin*: drop unnecessary calls to memset The dma_alloc_* functions sets the memory to 0 before returning so there is no need to call memset after the allocation. Also no point in clearing the memory when disabling the buffer. Signed-off-by: Vivek Kutal Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9990bfd0e5d4aae9c33693aef8b0a36577c63677 Author: Mike Frysinger Date: Tue Jun 16 15:34:41 2009 -0700 fbdev: bfin-t350mcqb-fb: drop unused local variables The local fbinfo/info vars in the suspend functions don't actually get used which cause ugly gcc warnings, so drop them. Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00115e6690ed5aa90530e1e41c467cd895dd18fc Author: Mike Frysinger Date: Tue Jun 16 15:34:40 2009 -0700 fbdev: blackfin has __raw I/O accessors, so use them in fb.h Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ed167af96ed098187ea41353fe02d1af20d38a1 Author: Kristoffer Ericson Date: Tue Jun 16 15:34:40 2009 -0700 fbdev: s1d13xxxfb: add accelerated bitblt functions Add accelerated bitblt functions to s1d13xxx based video chipsets, more specificly functions copyarea and fillrect. It has only been tested and activated for 13506 chipsets but is expected to work for the majority of s1d13xxx based chips. This patch also cleans up the driver with respect of whitespaces and other formatting issues. We update the current status comments. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Kristoffer Ericson Cc: Russell King Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe3a1aa239a74bcbf25211aab33b6ecc80acf0f9 Author: Krzysztof Helt Date: Tue Jun 16 15:34:39 2009 -0700 tcx: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4410f3910947dcea8672280b3adecd53cec4e85e Author: Dave Airlie Date: Tue Jun 16 15:34:38 2009 -0700 fbdev: add support for handoff from firmware to hw framebuffers With KMS we have ran into an issue where we really want the KMS fb driver to be the one running the console, so panics etc can be shown by switching out of X etc. However with vesafb/efifb built-in, we end up with those on fb0 and the KMS fb driver on fb1, driving the same piece of hw, so this adds an fb info flag to denote a firmware fbdev, and adds a new aperture base/size range which can be compared when the hw drivers are installed to see if there is a conflict with a firmware driver, and if there is the firmware driver is unregistered and the hw driver takes over. It uses new aperture_base/size members instead of comparing on the fix smem_start/length, as smem_start/length might for example only cover the first 1MB of the PCI aperture, and we could allocate the kms fb from 8MB into the aperture, thus they would never overlap. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Dave Airlie Acked-by: Peter Jones Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b586640141ab5f4ab3b194419bc2c0f039e91dbc Author: Paul Menzel Date: Tue Jun 16 15:34:37 2009 -0700 intelfb: fix a bug when changing video timing When changing video timing dynamically via fbset the screen sporadically is rendered black. With the attached fix which disables VCO prior to timing register change the problem disappears. I had a look at the Xserver register setup code. Here the VCO is disabled in the same way [1]. This patch is taken from vga-sync-field version 0.0.11 [2][3]. [1] http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/tree/src/i830_= driver.c [2] http://lowbyte.de/vga-sync-fields/vga-sync-fields-0.0.11.tgz [3] http://easy-vdr.de/git?p=frc.git/.git;a=commit;h=dcc3b863e5a663652587619c357bd20075af6896 2587619c357bd20075af6896 Signed-off-by: Thomas Hilber Signed-off-by: Paul Menzel Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 491bcc9bf5d9a57f2d9cb3ce8ba0f6d48752c113 Author: Krzysztof Helt Date: Tue Jun 16 15:34:36 2009 -0700 fbdev: use framebuffer_release() for freeing fb_info structures Use the framebuffer_release() for freeing fb_info structures allocated with framebuffer_alloc(). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f73323de5a07e2a7bf3e9bca36dcc8057e5446d4 Author: Roel Kluin Date: Tue Jun 16 15:34:35 2009 -0700 radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb? P2G2CLK_ALWAYS_ONb is tested twice, 2nd should be P2G2CLK_DAC_ALWAYS_ONb. [akpm@linux-foundation.org: remove duplicated bitwise-OR of PIXCLKS_CNTL__R300_P2G2CLK_ALWAYS_ONb too] Signed-off-by: Roel Kluin Acked-by: Benjamin Herrenschmidt Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dac6ecdc056b83ac66e5b5c923fb73268f4332d Author: Ben Dooks Date: Tue Jun 16 15:34:34 2009 -0700 s3c-fb: CPUFREQ frequency scaling support Add support for CPU frequency scaling in the S3C24XX video driver. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc518d9f88d7cf82bd974737ce977193785335d Author: Krzysztof Helt Date: Tue Jun 16 15:34:33 2009 -0700 s3c-fb: fix resource releasing on error during probing All resources are released in s3c_fb_win_release so remove other places of resources releasing. Add releasing of an allocated fb_info structure as well. Signed-off-by: Krzysztof Helt Cc: Kyungmin Park Cc: Marek Szyprowski Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 493f139ecf9ee72f73ccbabd016325a145e884ee Author: Roel Kluin Date: Tue Jun 16 15:34:32 2009 -0700 carminefb: fix possible access beyond end of carmine_modedb[] This check is off-by-one. Signed-off-by: Roel Kluin Cc: Sebastian Siewior Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34308fd4a22b4c24f54951e47d14e6ae5de6e150 Author: Krzysztof Helt Date: Tue Jun 16 15:34:32 2009 -0700 acornfb: remove fb_mmap function The driver's fb_mmap function is essentially the same as a generic fb_mmap function. Delete driver's function and use the generic one. A difference is that generic function marks frame buffer memory as VM_IO | VM_RESERVED. The driver's function marks it as VM_IO only. Signed-off-by: Krzysztof Helt Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24f01dcb53a950999f42f55123f7bc4ccda4ca57 Author: Arnd Bergmann Date: Tue Jun 16 15:34:31 2009 -0700 mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF With this change, the driver builds fine on Microblaze, which helps allyesconfig compile tests. I did not test sparc, but the change should have the same effect there. Signed-off-by: Arnd Bergmann Acked-by: Anatolij Gustschin Tested-by: Anatolij Gustschin Cc: "David S. Miller" Cc: Michal Simek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 336e747eebef7117b9acabb606bd817f1f1c5106 Author: Julian Calaby Date: Tue Jun 16 15:34:29 2009 -0700 mb862xxfb: restrict compliation of platform driver to PPC The OpenFirmware part of this driver is uncompilable on SPARC due to it's dependance on several PPC specific functions. Restricting this to PPC to prevent these build errors: CC drivers/video/mb862xx/mb862xxfb.o drivers/video/mb862xx/mb862xxfb.c: In function 'of_platform_mb862xx_probe': drivers/video/mb862xx/mb862xxfb.c:559: error: implicit declaration of function 'of_address_to_resource' drivers/video/mb862xx/mb862xxfb.c:575: error: 'NO_IRQ' undeclared (first use in this function) drivers/video/mb862xx/mb862xxfb.c:575: error: (Each undeclared identifier is reported only once drivers/video/mb862xx/mb862xxfb.c:575: error: for each function it appears in.) This was found using randconfig builds. Signed-off-by: Julian Calaby Signed-off-by: Anatolij Gustschin Cc: Arnd Bergmann Cc: Anatolij Gustschin Cc: "David S. Miller" Cc: Michal Simek Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39000d654c2a22ca51fe92a39003d5fade59e9e4 Author: InKi Dae Date: Tue Jun 16 15:34:27 2009 -0700 Samsung SoC Framebuffer driver: add Alpha Channel support Add support for the ARGB1888 and ARGB4888 hardware to the Samsung SoC Framebuffer driver (s3c-fb.c). ARGB1888 and ARGB4888 is decided by var->transp.length and this variable is set by s3c_fb_check_var(). In s3c_fb_check_var(), if var->vits_per_pixel is 25 or 28, then var->transp.length would be 1 or 3. Therefore alpha mode(ARGB1888 or ARGB4888) could be decided through that variable. For using alpha mode, you need to set the following: This code should be added to your machine code as platform data. static struct s3c_fb_pd_win xxx_fb_win0 = { /* this is to ensure we use win0 */ .win_mode = { .pixclock = (8+8+8+240)*(38+4+38+400), .left_margin = 8, .right_margin = 8, .upper_margin = 38, .lower_margin = 38, .hsync_len = 8, .vsync_len = 4, .xres = 240, .yres = 400, }, .max_bpp = 32, .default_bpp = 24, }; static struct s3c_fb_pd_win xxx_fb_win1 = { .win_mode = { .pixclock = (8+8+8+240)*(38+4+38+400), .left_margin = 8, .right_margin = 8, .upper_margin = 38, .lower_margin = 38, .hsync_len = 8, .vsync_len = 4, .xres = 240, .yres = 400, }, .max_bpp = 32, .default_bpp = 28, }; static struct s3c_fb_platdata xxx_lcd_pdata __initdata = { .win[0] = &ncp_fb_win0, .win[1] = &ncp_fb_win1, .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, .setup_gpio = xxx_fb_gpio_setup, }; s3c_fb_set_platdata(&xxx_lcd_pdata); The above code sets pixelformat for window0 layer to RGB888 and window1 layer to ARGB4888. Signed-off-by: InKi Dae Cc: Ben Dooks Cc: Kyungmin Park Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97b9a5a28b5fd02ceb3fcccee05e39dd62e4f474 Author: Ben Nizette Date: Tue Jun 16 15:34:24 2009 -0700 atmel-lcdc: fix pixclock upper bound detection AFAICT the code which checks that the requested pixclock value is within bounds is incorrect. It ensures that the lcdc core clock is at least (bytes per pixel) times higher than the pixel clock rather than just greater than or equal to. There are tighter restrictions on the pixclock value as a function of bus width for STN panels but even then it isn't a simple relationship as currently checked for. IMO either something like the below patch should be applied or else more detailed checking logic should be implemented which takes in to account the panel type as well. Signed-off-by: Ben Nizette Acked-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Daniel Glockner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4113819eb360555a91a8291f37bbbe9d26c5b275 Author: Krzysztof Helt Date: Tue Jun 16 15:34:23 2009 -0700 offb: use framebuffer_alloc() to allocate fb_info struct Use the framebuffer_alloc() function to allocate the fb_info structure so the structure is correctly initialized after allocation. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Acked-by: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 100b4a6eefb2ec335a2ae82356dad1b506ded8ed Author: Krzysztof Helt Date: Tue Jun 16 15:34:23 2009 -0700 igafb: use framebuffer_alloc() to allocate fb_info struct Use the framebuffer_alloc() function to allocate the fb_info structure so the structure is correctly initialized after allocation. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec42d2659e81f068c5392fd5cb2f5b4bd35e880 Author: Krzysztof Helt Date: Tue Jun 16 15:34:22 2009 -0700 chipsfb: remove redundant assignment The removed assignment is done inside the framebuffer_alloc() earlier. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d9d2fdfae4cf7fda90178a9daf0f8f750043ae8 Author: Paul Menzel Date: Tue Jun 16 15:34:21 2009 -0700 Documentation/fb/vesafb.txt: fix typo Signed-off-by: Paul Menzel Cc: Gerd Knorr Cc: Nico Schmoigl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b7f2e3b587f01d2cc901b48716eed4bd90fbe4 Author: Paul Menzel Date: Tue Jun 16 15:34:20 2009 -0700 fbdev: add video modes for resolutions and timings of PAL RGB This patch was taken from vga-sync-field version 0.0.3 [1][2]. [1] http://lowbyte.de/vga-sync-fields/vga-sync-fields-0.0.3.tgz [2] http://git.hellersdorfer-jugendchor.de/?p=3Dvga2scart.git;a=3Dcommit;h= =3Dc5c8ed6c51fc9879dbf38d8b91d5db6f4300ea03 Signed-off-by: Thomas Hilber Signed-off-by: Paul Menzel Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae52bb2384f721562f15f719de1acb8e934733cb Author: Geert Uytterhoeven Date: Tue Jun 16 15:34:19 2009 -0700 fbdev: move logo externs to header file Now we have __initconst, we can finally move the external declarations for the various Linux logo structures to . James' ack dates back to the previous submission (way to long ago), when the logos were still __initdata, which caused failures on some platforms with some toolchain versions. Signed-off-by: Geert Uytterhoeven Acked-by: James Simmons Cc: Krzysztof Helt Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a53c9d5b7115173fba9f82ff8120b624ef206f48 Author: Sam Ravnborg Date: Tue Jun 16 15:34:18 2009 -0700 fbdev: generated logo sources depend on scripts/pnmtologo The generated logo sources are not automatically regenerated if scripts/pnmtologo.c has changed. Add the missing dependency to fix this. Signed-off-by: Sam Ravnborg Tested-by: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f3128e714ded7cf1e8c786c204a4f253b5d8ff4 Author: Daniel Mack Date: Tue Jun 16 15:34:17 2009 -0700 lis3: add click function The LIS302DL accelerometer chip has a 'click' feature which can be used to detect sudden motion on any of the three axis. Configuration data is passed via spi platform_data and no action is taken if that's not specified, so it won't harm any existing platform. To make the configuration effective, the IRQ lines need to be set up appropriately. This patch also adds a way to do that from board support code. The DD_* definitions were factored out to an own enum because they are specific to LIS3LV02D devices. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Acked-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0093716e6dd18dad554bef81cc788a4c50d32a09 Author: Eric Piel Date: Tue Jun 16 15:34:16 2009 -0700 lis3: add three new laptop models Separate the 6710 and 6715, and set the right axis information for the 6715. Reported-by: Isaac702 Add the 6930. Reported-by: Christian Weidle Add the 2710. Reported-by: Pavel Herrmann Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc6ea97bac6b8228c7a69740df35eed2be3407be Author: Eric Piel Date: Tue Jun 16 15:34:15 2009 -0700 lis3: use input_polled_device Now that there is no need to hookup on the open/close of the joystick, it's possible to use the simplified interface input_polled_device, instead of creating our own kthread. [randy.dunlap@oracle.com: fix Kconfig] [randy.dunlap@oracle.com: fix Kconfig some more] Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a002ee896dfd08ce9fba44e9ae513c9094699a27 Author: Eric Piel Date: Tue Jun 16 15:34:14 2009 -0700 lis3: remove automatic shutdown of the device After measurement on my laptop, it seems that turning off the device does not bring any energy saving (within 0.1W precision). So let's keep the device always on. It simplifies the code, and it avoids the problem of reading a wrong value sometimes just after turning the device on. Moreover, since commit ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df had been too zealous, the device was actually never turned off anyway. This patch also restores the damages done by this commit concerning the initialisation/poweroff. Also do more clean up with the usage of the lis3_dev global variable. Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c28842421cb6a29fd952043381bc5391bdf6be50 Author: Eric Piel Date: Tue Jun 16 15:34:13 2009 -0700 lis3: fix misc device unregistering and printk Can only unregister the misc device if it was registered before. Also remove debugging messages, which in addition were not properly formated. Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b324126e0c6c3a5080ca3ec0981e8766ed6f1ee Author: Wolfram Strepp Date: Tue Jun 16 15:34:13 2009 -0700 rb_tree: remove redundant if()-condition in rb_erase() Furthermore, notice that the initial checks: if (!node->rb_left) child = node->rb_right; else if (!node->rb_right) child = node->rb_left; else { ... } guarantee that old->rb_right is set in the final else branch, therefore we can omit checking that again. Signed-off-by: Wolfram Strepp Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c60117811171d867d4f27f17ea07d7419d45dae Author: Wolfram Strepp Date: Tue Jun 16 15:34:12 2009 -0700 rb_tree: make clear distinction between two different cases in rb_erase() There are two cases when a node, having 2 childs, is erased: 'normal case': the successor is not the right-hand-child of the node to be erased 'special case': the successor is the right-hand child of the node to be erased Here some ascii-art, with following symbols (referring to the code): O: node to be deleted N: the successor of O P: parent of N C: child of N L: some other node normal case: O N / \ / \ / \ / \ L \ L \ / \ P ----> / \ P / \ / \ / / N C \ / \ \ C / \ special case: O|P N / \ / \ / \ / \ L \ L \ / \ N ----> / C \ / \ \ C / \ Notice that for the special case we don't have to reconnect C to N. Signed-off-by: Wolfram Strepp Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16c047add3ceaf0ab882e3e094d1ec904d02312d Author: Wolfram Strepp Date: Tue Jun 16 15:34:11 2009 -0700 rb_tree: reorganize code in rb_erase() for additional changes First, move some code around in order to make the next change more obvious. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Peter Zijlstra Signed-off-by: Wolfram Strepp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 130b76cf5295d74a2174d0843bb563bbf0a19dbb Author: Joe Perches Date: Tue Jun 16 15:34:10 2009 -0700 MAINTAINERS: add file patterns to TTY LAYER Signed-off-by: Joe Perches Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 852f9bbbdec485d3015adc81b7b0c874c55705cc Author: Joe Perches Date: Tue Jun 16 15:34:09 2009 -0700 MAINTAINERS: add Paul McKenney to RCU and RCUTORTURE Signed-off-by: Joe Perches Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a99921a5570381fc1da04a1bd9f7afe8692e49e Author: Joe Perches Date: Tue Jun 16 15:34:09 2009 -0700 MAINTAINERS: add file pattern to CISCO FCOE HBA DRIVER Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f70f873b8ffa0bca4aeccd20a3e4641b7645018a Author: Joe Perches Date: Tue Jun 16 15:34:08 2009 -0700 MAINTAINERS: mention scripts/get_maintainer.pl in the preface Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5472cddbe2c41fd434592ecf3c5b81a551d5bea Author: Joe Perches Date: Tue Jun 16 15:34:07 2009 -0700 MAINTAINERS: remove L: linux-kernel@vger.kernel.org from all but "THE REST" lkml is added to all CC lists via pattern matching on "THE REST" Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93711660086d0ad2da071b6aba675e96277e995f Author: Joe Perches Date: Tue Jun 16 15:34:07 2009 -0700 MAINTAINERS: mark ALSA lists as moderated Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f563d2503604b1d33d2474d99a32a6fb4cc7904 Author: Joe Perches Date: Tue Jun 16 15:34:06 2009 -0700 MAINTAINERS: update M32R file patterns after rename Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34d03cc16adc475118f7cfbb2288fca5af1e252f Author: Joe Perches Date: Tue Jun 16 15:34:06 2009 -0700 MAINTAINERS: add file patterns to "THE REST" These file patterns match all sources. By default, scripts/get_maintainers.pl excludes Linus Torvalds from the CC: list. Option --git-chief-penguins will include him. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 866a36b73ecfaffbb4ba74f7fb3a18d71a982983 Author: Joe Perches Date: Tue Jun 16 15:34:05 2009 -0700 MAINTAINERS: swap mismarked ECRYPT FS M: and P: entries Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f29fd2748ac8a8a47c949b26e5a9749b1b804fb Author: Joe Perches Date: Tue Jun 16 15:34:04 2009 -0700 scripts/get_maintainer.pl: change "die" to "warn" when command line file is not a patch fixes git send-email with a cover letter Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df4cc036828f6027689016a91adadee405eab104 Author: Joe Perches Date: Tue Jun 16 15:34:04 2009 -0700 scripts/get_maintainer.pl: allow 8 bit characters in email addresses Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a79c492bcb1022e9a2d0bcb5ed6c624ef6641a0 Author: Joe Perches Date: Tue Jun 16 15:34:03 2009 -0700 scripts/get_maintainer.pl: don't print maintainers when not requested Fixed bug introduced after using rfc822 address checking. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f2441e97684cfc787873f884c715e109ffcfbcd Author: Joe Perches Date: Tue Jun 16 15:34:02 2009 -0700 scripts/get_maintainer.pl: support both "P:/M:" and integrated "M:" lines Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d789504ab03c27b194170262cb4ffda38905c5c0 Author: Joe Perches Date: Tue Jun 16 15:34:02 2009 -0700 scripts/get_maintainer.pl: better email name quoting Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b5e1cf64a7a376417457c7f2b3885decea276e4 Author: Joe Perches Date: Tue Jun 16 15:34:01 2009 -0700 scripts/get_maintainer.pl: support M: lines with names and multiple entries per M: line Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de2fc4922b7db1f5099585f821f854a86b5828eb Author: Joe Perches Date: Tue Jun 16 15:34:01 2009 -0700 scripts/get_maintainer.pl: warn on missing git or git repository support older versions of grep (use -E not -P) no need to return data in routine recent_git_signoffs Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f5078db2c61bf42ed20527731c0a23bed86c11 Author: Joe Perches Date: Tue Jun 16 15:34:00 2009 -0700 scripts/get_maintainer.pl: improve --git-chief-penquins (Linus Torvalds) filtering Moved linux-kernel@vger.kernel.org to MAINTAINERS lkml will be added to all CC lists via F: pattern match Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf7c685aa4639c95a752b52fa06741a7e3bb34e Author: Joe Perches Date: Tue Jun 16 15:33:59 2009 -0700 scripts/get_maintainer.pl: better fix for subscriber-only mailing lists Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 290603c1205242691b8a0963f496d0aa80e9ca02 Author: Joe Perches Date: Tue Jun 16 15:33:58 2009 -0700 scripts/get_maintainer.pl: output first field only in mailing lists and after maintainers. Fix mailing lists that are described, but not "(subscriber-only)" Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e8a2dea0ca91fe2cb7de7ea212124cfe8c82c35 Author: Zygo Blaxell Date: Tue Jun 16 15:33:57 2009 -0700 lib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy There is a call to write_lock() in gen_pool_destroy which is not balanced by any corresponding write_unlock(). This causes problems with preemption because the preemption-disable counter is incremented in the write_lock() call, but never decremented by any call to write_unlock(). This bug is gen_pool_destroy, and one of them is non-x86 arch-specific code. Signed-off-by: Zygo Blaxell Cc: Jiri Kosina Cc: Steve Wise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69050eee8e08a6234f29fe71a56f8c7c7d4d7186 Author: Tomas Szepe Date: Tue Jun 16 15:33:56 2009 -0700 CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK. This makes it possible to run complete systems out of a CONFIG_BLOCK=n initramfs on current kernels again (this last worked on 2.6.27.*). Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e331cf7ebe20665253770589cd9eb06048bf25 Author: Florian Fainelli Date: Tue Jun 16 15:33:53 2009 -0700 drivers: add support for the TI VLYNQ bus Add support for the TI VLYNQ high-speed, serial and packetized bus. This bus allows external devices to be connected to the System-on-Chip and appear in the main system memory just like any memory mapped peripheral. It is widely used in TI's networking and multimedia SoC, including the AR7 SoC. Signed-off-by: Eugene Konev Signed-off-by: Florian Fainelli Cc: Ralf Baechle Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f324edc85e5c1137e49e3b36a58cf436ab5b1fb3 Author: Daniel Mack Date: Tue Jun 16 15:33:52 2009 -0700 console: make blank timeout value a boot option The console blank timer is currently hardcoded to 10*60 seconds which might be annoying on systems with no input devices attached to wake up the console again. Especially during development, disabling the screen saver can be handy - for example when debugging the root fs mount mechanism or other scenarios where no userspace program could be started to do that at runtime from userspace. This patch defines a core_param for the variable in charge which allows users to entirely disable the blank feature at boot time by setting it 0. The value can still be overwritten at runtime using the standard ioctl call - this just allows to conditionally change the default. Signed-off-by: Daniel Mack Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4764e280dc7dde1534161e148d38dbd792a2b8ab Author: Figo.zhang Date: Tue Jun 16 15:33:51 2009 -0700 Documentation/atomic_ops.txt: fix sample code list_add() lost a parameter in sample code. Signed-off-by: Figo.zhang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d05163d15e4a400db63df906c55260a6dae987 Author: Maciej W. Rozycki Date: Tue Jun 16 15:33:50 2009 -0700 eisa.ids: add Network Peripherals FDDI boards Add EISA IDs for Network Peripherals FDDI boards. Descriptions taken from the respective EISA configuration files. It's unlikely we'll ever support these cards, the problem being the lack of documentation. Assuming the policy for the EISA ID database is the same as for PCI I'm sending these entries for the sake of completeness. Signed-off-by: Maciej W. Rozycki Cc: Marc Zyngier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc6f26774136b7f5307abcd3887f08360c9b7554 Author: Masatake YAMATO Date: Tue Jun 16 15:33:49 2009 -0700 syscalls.h: remove duplicated declarations for sys_pipe2 sys_pipe2 is declared twice in include/linux/syscalls.h. Signed-off-by: Masatake YAMATO Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89 Author: Randy Dunlap Date: Tue Jun 16 15:33:47 2009 -0700 kmap_types: make most arches use generic header file Convert most arches to use asm-generic/kmap_types.h. Move the KM_FENCE_ macro additions into asm-generic/kmap_types.h, controlled by __WITH_KM_FENCE from each arch's kmap_types.h file. Would be nice to be able to add custom KM_types per arch, but I don't yet see a nice, clean way to do that. Built on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and 68k(tonyb). Note: avr32 should be able to remove KM_PTE2 (since it's not used) and then just use the generic kmap_types.h file. Get avr32 maintainer approval. Signed-off-by: Randy Dunlap Cc: Acked-by: Mike Frysinger Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Bryan Wu Cc: Mikael Starvik Cc: Hirokazu Takata Cc: "Luck Tony" Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: David Howells Cc: Kyle McMartin Cc: Martin Schwidefsky Cc: Paul Mundt Cc: "David S. Miller" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Arnd Bergmann Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8d9a86590fb334d28c5905a4c419ece7d08e37d Author: Jaswinder Singh Rajput Date: Tue Jun 16 15:33:46 2009 -0700 Documentation/accounting/getdelays.c intialize the variable before using it Fix compilation warning: Documentation/accounting/getdelays.c: In function `main': Documentation/accounting/getdelays.c:249: warning: `cmd_type' may be used uninitialized in this function This is in fact a false positive. Signed-off-by: Jaswinder Singh Rajput Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67ae69b661f3c2fe1a9c8259bc948c68b082166 Author: Li Zefan Date: Tue Jun 16 15:33:45 2009 -0700 hexdump: remove the trailing space For example: hex_dump_to_buffer("AB", 2, 16, 1, buf, 100, 0); pr_info("[%s]\n", buf); I'd expect the output to be "[41 42]", but actually it's "[41 42 ]" This patch also makes the required buf to be minimum. To print the hex format of "AB", a buf with size 6 should be sufficient, but hex_dump_to_buffer() required at least 8. Signed-off-by: Li Zefan Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c569539312cfd3c820b38036679a9d72c55331 Author: Minchan Kim Date: Tue Jun 16 15:33:44 2009 -0700 use printk_once() in several places There are some places to be able to use printk_once instead of hard coding. Signed-off-by: Minchan Kim Cc: Dominik Brodowski Cc: David S. Miller Cc: Ingo Molnar Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009789f040b71699278e70a6664701c10065e430 Author: Chris Peterson Date: Tue Jun 16 15:33:43 2009 -0700 slow-work: use round_jiffies() for thread pool's cull and OOM timers Round the slow work queue's cull and OOM timeouts to whole second boundary with round_jiffies(). The slow work queue uses a pair of timers to cull idle threads and, after OOM, to delay new thread creation. This patch also extracts the mod_timer() logic for the cull timer into a separate helper function. By rounding non-time-critical timers such as these to whole seconds, they will be batched up to fire at the same time rather than being spread out. This allows the CPU wake up less, which saves power. Signed-off-by: Chris Peterson Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b72b71c6cb6ecc564d4d5f9c512a7df269837846 Author: Huang Shijie Date: Tue Jun 16 15:33:42 2009 -0700 lib: do code optimization for radix_tree_lookup() and radix_tree_lookup_slot() radix_tree_lookup() and radix_tree_lookup_slot() have much the same code except for the return value. Introduce radix_tree_lookup_element() to do the real work. /* * is_slot == 1 : search for the slot. * is_slot == 0 : search for the node. */ static void * radix_tree_lookup_element(struct radix_tree_root *root, unsigned long index, int is_slot); Signed-off-by: Huang Shijie Cc: Nick Piggin Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30639b6af85a92491b22dd14c17b14ca11da60e6 Author: Alexey Dobriyan Date: Tue Jun 16 15:33:40 2009 -0700 groups: move code to kernel/groups.c Move supplementary groups implementation to kernel/groups.c . kernel/sys.c already accumulated quite a few random stuff. Do strictly copy/paste + add required headers to compile. Compile-tested on many configs and archs. Signed-off-by: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b0b1db0133e4218a9b45c09e53793c039edebe1 Author: Thomas Gleixner Date: Tue Jun 16 15:33:39 2009 -0700 remove put_cpu_no_resched() put_cpu_no_resched() is an optimization of put_cpu() which unfortunately can cause high latencies. The nfs iostats code uses put_cpu_no_resched() in a code sequence where a reschedule request caused by an interrupt between the get_cpu() and the put_cpu_no_resched() can delay the reschedule for at least HZ. The other users of put_cpu_no_resched() optimize correctly in interrupt code, but there is no real harm in using the put_cpu() function which is an alias for preempt_enable(). The extra check of the preemmpt count is not as critical as the potential source of missing a reschedule. Debugged in the preempt-rt tree and verified in mainline. Impact: remove a high latency source [akpm@linux-foundation.org: build fix] Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Tony Luck Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62 Author: Philipp Reisner Date: Tue Jun 16 15:33:38 2009 -0700 drbd: add major number to major.h Since we have had a LANANA major number for years, and it is documented in devices.txt, I think that this first patch can go upstream. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d9c25dde878a636ee9a9b53923569171bf9a55b Author: Andrew Morton Date: Tue Jun 16 15:33:37 2009 -0700 headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h They're in linux/bug.h at present, which causes include order tangles. In particular, linux/bug.h cannot be used by linux/atomic.h because, according to Nikanth: linux/bug.h pulls in linux/module.h => linux/spinlock.h => asm/spinlock.h (which uses atomic_inc) => asm/atomic.h. bug.h is a pretty low-level thing and module.h is a higher-level thing, IMO. Cc: Nikanth Karthikesan Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4938d7e0233a455f04507bac81d0886c71529537 Author: Eric Dumazet Date: Tue Jun 16 15:33:36 2009 -0700 poll: avoid extra wakeups in select/poll After introduction of keyed wakeups Davide Libenzi did on epoll, we are able to avoid spurious wakeups in poll()/select() code too. For example, typical use of poll()/select() is to wait for incoming network frames on many sockets. But TX completion for UDP/TCP frames call sock_wfree() which in turn schedules thread. When scheduled, thread does a full scan of all polled fds and can sleep again, because nothing is really available. If number of fds is large, this cause significant load. This patch makes select()/poll() aware of keyed wakeups and useless wakeups are avoided. This reduces number of context switches by about 50% on some setups, and work performed by sofirq handlers. Signed-off-by: Eric Dumazet Acked-by: David S. Miller Acked-by: Andi Kleen Acked-by: Ingo Molnar Acked-by: Davide Libenzi Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d5341ae53d32681241b27a40397475caef1c83 Author: Robert P. J. Day Date: Tue Jun 16 15:33:35 2009 -0700 ntfs: use is_power_of_2() function for clarity. Signed-off-by: Robert P. J. Day Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b33112d1cc25e658c334125d127a6ae15d5a0ad6 Author: Robert P. J. Day Date: Tue Jun 16 15:33:34 2009 -0700 kernel/kfifo.c: replace conditional test with is_power_of_2() Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417dcdf99ec9f8d8d6917189130bdc17cb67c678 Author: Jan Blunck Date: Tue Jun 16 15:33:33 2009 -0700 atomic: only take lock when the counter drops to zero on UP as well _atomic_dec_and_lock() should not unconditionally take the lock before calling atomic_dec_and_test() in the UP case. For consistency reasons it should behave exactly like in the SMP case. Besides that this works around the problem that with CONFIG_DEBUG_SPINLOCK this spins in __spin_lock_debug() if the lock is already taken even if the counter doesn't drop to 0. Signed-off-by: Jan Blunck Acked-by: Paul E. McKenney Acked-by: Nick Piggin Cc: Valerie Aurora Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7d932af06e8eee2163627d19898e18da5635449 Author: Dan Smith Date: Tue Jun 16 15:33:33 2009 -0700 utsname.h: make new_utsname fields use the proper length constant The members of the new_utsname structure are defined with magic numbers that *should* correspond to the constant __NEW_UTS_LEN+1. Everywhere else, code assumes this and uses the constant, so this patch makes the structure match. Originally suggested by Serge here: https://lists.linux-foundation.org/pipermail/containers/2009-March/016258.html Signed-off-by: Dan Smith Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b08cd961cc3869e14d841a3ed1641f47b11348f3 Author: Roel Kluin Date: Tue Jun 16 15:33:32 2009 -0700 uml: bad macro expansion, parameter is member `ELF_CORE_COPY_REGS(x, y)' will make expansions like: `(y)[0] = (x)->x.gp[0]' but correct is `(y)[0] = (x)->regs.gp[0]' Signed-off-by: Roel Kluin Cc: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 276c974ac7965e7335f0f4ab945729d8f30f11b5 Author: Amerigo Wang Date: Tue Jun 16 15:33:30 2009 -0700 uml: fix a section warning When compiling uml on x86_64: MODPOST vmlinux.o WARNING: vmlinux.o (.__syscall_stub.2): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. Because modpost checks for missing SHF_ALLOC section flag. So just add it. Signed-off-by: WANG Cong Cc: Jeff Dike Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fa851c3e9746e3cf23694f0571a9e080107ba7c Author: Thomas Gleixner Date: Tue Jun 16 15:33:29 2009 -0700 um: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e1cb780452809da09ee47860736a9c8d86d67c6 Author: Alan Cox Date: Tue Jun 16 15:33:28 2009 -0700 uml: UML net driver does not allow for vlans See ancient discussion at http://marc.info/?l=user-mode-linux-devel&m=101990155831279&w=2 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=7854 Signed-off-by: Alan Cox Reported-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Cc: Roland Kletzing Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 189e91f5f5c09043ef78cad956a71ac339203a5d Author: Thomas Gleixner Date: Tue Jun 16 15:33:26 2009 -0700 m32r: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb26b3e63e9685ce250377bf905c78425a8e8b2b Author: Roel Kluin Date: Tue Jun 16 15:33:25 2009 -0700 alpha: bad macro expansion, parameter is member `for_each_mem_cluster(x, y, z)' will expand to `for ((x) = (y)->x ...' but correct is `for ((x) = (y)->cluster ...' Signed-off-by: Roel Kluin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44377f622ee4f23ea0afc9b83dba5d3ec2d560cd Author: Thomas Gleixner Date: Tue Jun 16 15:33:25 2009 -0700 alpha: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee993b135ec75a93bd5c45e636bb210d2975159b Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:33:24 2009 -0700 mm: fix lumpy reclaim lru handling at isolate_lru_pages At lumpy reclaim, a page failed to be taken by __isolate_lru_page() can be pushed back to "src" list by list_move(). But the page may not be from "src" list. This pushes the page back to wrong LRU. And list_move() itself is unnecessary because the page is not on top of LRU. Then, leave it as it is if __isolate_lru_page() fails. Reviewed-by: Minchan Kim Reviewed-by: KOSAKI Motohiro Acked-by: Mel Gorman Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24cf72518c79cdcda486ed26074ff8151291cf65 Author: Mel Gorman Date: Tue Jun 16 15:33:23 2009 -0700 vmscan: count the number of times zone_reclaim() scans and fails On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. There is a heuristic that determines if the scan is worthwhile but it is possible that the heuristic will fail and the CPU gets tied up scanning uselessly. Detecting the situation requires some guesswork and experimentation so this patch adds a counter "zreclaim_failed" to /proc/vmstat. If during high CPU utilisation this counter is increasing rapidly, then the resolution to the problem may be to set /proc/sys/vm/zone_reclaim_mode to 0. [akpm@linux-foundation.org: name things consistently] Signed-off-by: Mel Gorman Reviewed-by: Rik van Riel Cc: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Wu Fengguang Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa5e084e43eb14c14942027e1e2e894aeed96097 Author: Mel Gorman Date: Tue Jun 16 15:33:22 2009 -0700 vmscan: do not unconditionally treat zones that fail zone_reclaim() as full On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. The problem is that zone_reclaim() failing at all means the zone gets marked full. This can cause situations where a zone is usable, but is being skipped because it has been considered full. Take a situation where a large tmpfs mount is occuping a large percentage of memory overall. The pages do not get cleaned or reclaimed by zone_reclaim(), but the zone gets marked full and the zonelist cache considers them not worth trying in the future. This patch makes zone_reclaim() return more fine-grained information about what occured when zone_reclaim() failued. The zone only gets marked full if it really is unreclaimable. If it's a case that the scan did not occur or if enough pages were not reclaimed with the limited reclaim_mode, then the zone is simply skipped. There is a side-effect to this patch. Currently, if zone_reclaim() successfully reclaimed SWAP_CLUSTER_MAX, an allocation attempt would go ahead. With this patch applied, zone watermarks are rechecked after zone_reclaim() does some work. This bug was introduced by commit 9276b1bc96a132f4068fdee00983c532f43d3a26 ("memory page_alloc zonelist caching speedup") way back in 2.6.19 when the zonelist_cache was introduced. It was not intended that zone_reclaim() aggressively consider the zone to be full when it failed as full direct reclaim can still be an option. Due to the age of the bug, it should be considered a -stable candidate. Signed-off-by: Mel Gorman Reviewed-by: Wu Fengguang Reviewed-by: Rik van Riel Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90afa5de6f3fa89a733861e843377302479fcf7e Author: Mel Gorman Date: Tue Jun 16 15:33:20 2009 -0700 vmscan: properly account for the number of page cache pages zone_reclaim() can reclaim A bug was brought to my attention against a distro kernel but it affects mainline and I believe problems like this have been reported in various guises on the mailing lists although I don't have specific examples at the moment. The reported problem was that malloc() stalled for a long time (minutes in some cases) if a large tmpfs mount was occupying a large percentage of memory overall. The pages did not get cleaned or reclaimed by zone_reclaim() because the zone_reclaim_mode was unsuitable, but the lists are uselessly scanned frequencly making the CPU spin at near 100%. This patchset intends to address that bug and bring the behaviour of zone_reclaim() more in line with expectations which were noticed during investigation. It is based on top of mmotm and takes advantage of Kosaki's work with respect to zone_reclaim(). Patch 1 fixes the heuristics that zone_reclaim() uses to determine if the scan should go ahead. The broken heuristic is what was causing the malloc() stall as it uselessly scanned the LRU constantly. Currently, zone_reclaim is assuming zone_reclaim_mode is 1 and historically it could not deal with tmpfs pages at all. This fixes up the heuristic so that an unnecessary scan is more likely to be correctly avoided. Patch 2 notes that zone_reclaim() returning a failure automatically means the zone is marked full. This is not always true. It could have failed because the GFP mask or zone_reclaim_mode were unsuitable. Patch 3 introduces a counter zreclaim_failed that will increment each time the zone_reclaim scan-avoidance heuristics fail. If that counter is rapidly increasing, then zone_reclaim_mode should be set to 0 as a temporarily resolution and a bug reported because the scan-avoidance heuristic is still broken. This patch: On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. There is a heuristic that determines if the scan is worthwhile but the problem is that the heuristic is not being properly applied and is basically assuming zone_reclaim_mode is 1 if it is enabled. The lack of proper detection can manfiest as high CPU usage as the LRU list is scanned uselessly. Historically, once enabled it was depending on NR_FILE_PAGES which may include swapcache pages that the reclaim_mode cannot deal with. Patch vmscan-change-the-number-of-the-unmapped-files-in-zone-reclaim.patch by Kosaki Motohiro noted that zone_page_state(zone, NR_FILE_PAGES) included pages that were not file-backed such as swapcache and made a calculation based on the inactive, active and mapped files. This is far superior when zone_reclaim==1 but if RECLAIM_SWAP is set, then NR_FILE_PAGES is a reasonable starting figure. This patch alters how zone_reclaim() works out how many pages it might be able to reclaim given the current reclaim_mode. If RECLAIM_SWAP is set in the reclaim_mode it will either consider NR_FILE_PAGES as potential candidates or else use NR_{IN}ACTIVE}_PAGES-NR_FILE_MAPPED to discount swapcache and other non-file-backed pages. If RECLAIM_WRITE is not set, then NR_FILE_DIRTY number of pages are not candidates. If RECLAIM_SWAP is not set, then NR_FILE_MAPPED are not. [kosaki.motohiro@jp.fujitsu.com: Estimate unmapped pages minus tmpfs pages] [fengguang.wu@intel.com: Fix underflow problem in Kosaki's estimate] Signed-off-by: Mel Gorman Reviewed-by: Rik van Riel Acked-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Wu Fengguang Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84a892456046921a40646114deed65e2df93a1bc Author: Wu Fengguang Date: Tue Jun 16 15:33:17 2009 -0700 writeback: skip new or to-be-freed inodes 1) I_FREEING tests should be coupled with I_CLEAR The two I_FREEING tests are racy because clear_inode() can set i_state to I_CLEAR between the clear of I_SYNC and the test of I_FREEING. 2) skip I_WILL_FREE inodes in generic_sync_sb_inodes() to avoid possible races with generic_forget_inode() generic_forget_inode() sets I_WILL_FREE call writeback on its own, so generic_sync_sb_inodes() shall not try to step in and create possible races: generic_forget_inode inode->i_state |= I_WILL_FREE; spin_unlock(&inode_lock); generic_sync_sb_inodes() spin_lock(&inode_lock); __iget(inode); __writeback_single_inode // see non zero i_count may WARN here ==> WARN_ON(inode->i_state & I_WILL_FREE); spin_unlock(&inode_lock); may call generic_forget_inode again ==> iput(inode); The above race and warning didn't turn up because writeback_inodes() holds the s_umount lock, so generic_forget_inode() finds MS_ACTIVE and returns early. But we are not sure the UBIFS calls and future callers will guarantee that. So skip I_WILL_FREE inodes for the sake of safety. Cc: Eric Sandeen Acked-by: Jeff Layton Cc: Masayoshi MIZUMA Signed-off-by: Wu Fengguang Cc: Artem Bityutskiy Cc: Christoph Hellwig Acked-by: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81236810226f71bd9ff77321c8e8276dae7efc61 Author: David Rientjes Date: Tue Jun 16 15:33:16 2009 -0700 oom: only oom kill exiting tasks with attached memory When a task is chosen for oom kill and is found to be PF_EXITING, __oom_kill_task() is called to elevate the task's timeslice and give it access to memory reserves so that it may quickly exit. This privilege is unnecessary, however, if the task has already detached its mm. Although its possible for the mm to become detached later since task_lock() is not held, __oom_kill_task() will simply be a no-op in such circumstances. Subsequently, it is no longer necessary to warn about killing mm-less tasks since it is a no-op. Signed-off-by: David Rientjes Acked-by: Rik van Riel Cc: Balbir Singh Cc: Minchan Kim Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9198e96c06744517e3b18fce8be6db61e96a3227 Author: Daisuke Nishimura Date: Tue Jun 16 15:33:15 2009 -0700 vmscan: handle may_swap more strictly Commit 2e2e425989080cc534fc0fca154cae515f971cf5 ("vmscan,memcg: reintroduce sc->may_swap) add may_swap flag and handle it at get_scan_ratio(). But the result of get_scan_ratio() is ignored when priority == 0, so anon lru is scanned even if may_swap == 0 or nr_swap_pages == 0. IMHO, this is not an expected behavior. As for memcg especially, because of this behavior many and many pages are swapped-out just in vain when oom is invoked by mem+swap limit. This patch is for handling may_swap flag more strictly. Signed-off-by: Daisuke Nishimura Reviewed-by: KOSAKI Motohiro Cc: Minchan Kim Cc: Johannes Weiner Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Rik van Riel Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb4140f0389bdada022d5e8efd88504ad30df14 Author: Wu Fengguang Date: Tue Jun 16 15:33:13 2009 -0700 vmscan: merge duplicate code in shrink_active_list() The "move pages to active list" and "move pages to inactive list" code blocks are mostly identical and can be served by a function. Thanks to Andrew Morton for pointing this out. Note that buffer_heads_over_limit check will also be carried out for re-activated pages, which is slightly different from pre-2.6.28 kernels. Also, Rik's "vmscan: evict use-once pages first" patch could totally stop scans of active file list when memory pressure is low. So the net effect could be, the number of buffer heads is now more likely to grow large. However that's fine according to Johannes' comments: I don't think that this could be harmful. We just preserve the buffer mappings of what we consider the working set and with low memory pressure, as you say, this set is not big. As to stripping of reactivated pages: the only pages we re-activate for now are those VM_EXEC mapped ones. Since we don't expect IO from or to these pages, removing the buffer mappings in case they grow too large should be okay, I guess. Cc: Pekka Enberg Acked-by: Peter Zijlstra Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Reviewed-by: Johannes Weiner Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cab4754d24a0f2e05920170c845bd84472814c6 Author: Wu Fengguang Date: Tue Jun 16 15:33:12 2009 -0700 vmscan: make mapped executable pages the first class citizen Protect referenced PROT_EXEC mapped pages from being deactivated. PROT_EXEC(or its internal presentation VM_EXEC) pages normally belong to some currently running executables and their linked libraries, they shall really be cached aggressively to provide good user experiences. Thanks to Johannes Weiner for the advice to reuse the VMA walk in page_referenced() to get the PROT_EXEC bit. [more details] ( The consequences of this patch will have to be discussed together with Rik van Riel's recent patch "vmscan: evict use-once pages first". ) ( Some of the good points and insights are taken into this changelog. Thanks to all the involved people for the great LKML discussions. ) the problem =========== For a typical desktop, the most precious working set is composed of *actively accessed* (1) memory mapped executables (2) and their anonymous pages (3) and other files (4) and the dcache/icache/.. slabs while the least important data are (5) infrequently used or use-once files For a typical desktop, one major problem is busty and large amount of (5) use-once files flushing out the working set. Inside the working set, (4) dcache/icache have already been too sticky ;-) So we only have to care (2) anonymous and (1)(3) file pages. anonymous pages =============== Anonymous pages are effectively immune to the streaming IO attack, because we now have separate file/anon LRU lists. When the use-once files crowd into the file LRU, the list's "quality" is significantly lowered. Therefore the scan balance policy in get_scan_ratio() will choose to scan the (low quality) file LRU much more frequently than the anon LRU. file pages ========== Rik proposed to *not* scan the active file LRU when the inactive list grows larger than active list. This guarantees that when there are use-once streaming IO, and the working set is not too large(so that active_size < inactive_size), the active file LRU will *not* be scanned at all. So the not-too-large working set can be well protected. But there are also situations where the file working set is a bit large so that (active_size >= inactive_size), or the streaming IOs are not purely use-once. In these cases, the active list will be scanned slowly. Because the current shrink_active_list() policy is to deactivate active pages regardless of their referenced bits. The deactivated pages become susceptible to the streaming IO attack: the inactive list could be scanned fast (500MB / 50MBps = 10s) so that the deactivated pages don't have enough time to get re-referenced. Because a user tend to switch between windows in intervals from seconds to minutes. This patch holds mapped executable pages in the active list as long as they are referenced during each full scan of the active list. Because the active list is normally scanned much slower, they get longer grace time (eg. 100s) for further references, which better matches the pace of user operations. Therefore this patch greatly prolongs the in-cache time of executable code, when there are moderate memory pressures. before patch: guaranteed to be cached if reference intervals < I after patch: guaranteed to be cached if reference intervals < I+A (except when randomly reclaimed by the lumpy reclaim) where A = time to fully scan the active file LRU I = time to fully scan the inactive file LRU Note that normally A >> I. side effects ============ This patch is safe in general, it restores the pre-2.6.28 mmap() behavior but in a much smaller and well targeted scope. One may worry about some one to abuse the PROT_EXEC heuristic. But as Andrew Morton stated, there are other tricks to getting that sort of boost. Another concern is the PROT_EXEC mapped pages growing large in rare cases, and therefore hurting reclaim efficiency. But a sane application targeted for large audience will never use PROT_EXEC for data mappings. If some home made application tries to abuse that bit, it shall be aware of the consequences. If it is abused to scale of 2/3 total memory, it gains nothing but overheads. benchmarks ========== 1) memory tight desktop 1.1) brief summary - clock time and major faults are reduced by 50%; - pswpin numbers are reduced to ~1/3. That means X desktop responsiveness is doubled under high memory/swap pressure. 1.2) test scenario - nfsroot gnome desktop with 512M physical memory - run some programs, and switch between the existing windows after starting each new program. 1.3) progress timing (seconds) before after programs 0.02 0.02 N xeyes 0.75 0.76 N firefox 2.02 1.88 N nautilus 3.36 3.17 N nautilus --browser 5.26 4.89 N gthumb 7.12 6.47 N gedit 9.22 8.16 N xpdf /usr/share/doc/shared-mime-info/shared-mime-info-spec.pdf 13.58 12.55 N xterm 15.87 14.57 N mlterm 18.63 17.06 N gnome-terminal 21.16 18.90 N urxvt 26.24 23.48 N gnome-system-monitor 28.72 26.52 N gnome-help 32.15 29.65 N gnome-dictionary 39.66 36.12 N /usr/games/sol 43.16 39.27 N /usr/games/gnometris 48.65 42.56 N /usr/games/gnect 53.31 47.03 N /usr/games/gtali 58.60 52.05 N /usr/games/iagno 65.77 55.42 N /usr/games/gnotravex 70.76 61.47 N /usr/games/mahjongg 76.15 67.11 N /usr/games/gnome-sudoku 86.32 75.15 N /usr/games/glines 92.21 79.70 N /usr/games/glchess 103.79 88.48 N /usr/games/gnomine 113.84 96.51 N /usr/games/gnotski 124.40 102.19 N /usr/games/gnibbles 137.41 114.93 N /usr/games/gnobots2 155.53 125.02 N /usr/games/blackjack 179.85 135.11 N /usr/games/same-gnome 224.49 154.50 N /usr/bin/gnome-window-properties 248.44 162.09 N /usr/bin/gnome-default-applications-properties 282.62 173.29 N /usr/bin/gnome-at-properties 323.72 188.21 N /usr/bin/gnome-typing-monitor 363.99 199.93 N /usr/bin/gnome-at-visual 394.21 206.95 N /usr/bin/gnome-sound-properties 435.14 224.49 N /usr/bin/gnome-at-mobility 463.05 234.11 N /usr/bin/gnome-keybinding-properties 503.75 248.59 N /usr/bin/gnome-about-me 554.00 276.27 N /usr/bin/gnome-display-properties 615.48 304.39 N /usr/bin/gnome-network-preferences 693.03 342.01 N /usr/bin/gnome-mouse-properties 759.90 388.58 N /usr/bin/gnome-appearance-properties 937.90 508.47 N /usr/bin/gnome-control-center 1109.75 587.57 N /usr/bin/gnome-keyboard-properties 1399.05 758.16 N : oocalc 1524.64 830.03 N : oodraw 1684.31 900.03 N : ooimpress 1874.04 993.91 N : oomath 2115.12 1081.89 N : ooweb 2369.02 1161.99 N : oowriter Note that the last ": oo*" commands are actually commented out. 1.4) vmstat numbers (some relevant ones are marked with *) before after nr_free_pages 1293 3898 nr_inactive_anon 59956 53460 nr_active_anon 26815 30026 nr_inactive_file 2657 3218 nr_active_file 2019 2806 nr_unevictable 4 4 nr_mlock 4 4 nr_anon_pages 26706 27859 *nr_mapped 3542 4469 nr_file_pages 72232 67681 nr_dirty 1 0 nr_writeback 123 19 nr_slab_reclaimable 3375 3534 nr_slab_unreclaimable 11405 10665 nr_page_table_pages 8106 7864 nr_unstable 0 0 nr_bounce 0 0 *nr_vmscan_write 394776 230839 nr_writeback_temp 0 0 numa_hit 6843353 3318676 numa_miss 0 0 numa_foreign 0 0 numa_interleave 1719 1719 numa_local 6843353 3318676 numa_other 0 0 *pgpgin 5954683 2057175 *pgpgout 1578276 922744 *pswpin 1486615 512238 *pswpout 394568 230685 pgalloc_dma 277432 56602 pgalloc_dma32 6769477 3310348 pgalloc_normal 0 0 pgalloc_movable 0 0 pgfree 7048396 3371118 pgactivate 2036343 1471492 pgdeactivate 2189691 1612829 pgfault 3702176 3100702 *pgmajfault 452116 201343 pgrefill_dma 12185 7127 pgrefill_dma32 334384 653703 pgrefill_normal 0 0 pgrefill_movable 0 0 pgsteal_dma 74214 22179 pgsteal_dma32 3334164 1638029 pgsteal_normal 0 0 pgsteal_movable 0 0 pgscan_kswapd_dma 1081421 1216199 pgscan_kswapd_dma32 58979118 46002810 pgscan_kswapd_normal 0 0 pgscan_kswapd_movable 0 0 pgscan_direct_dma 2015438 1086109 pgscan_direct_dma32 55787823 36101597 pgscan_direct_normal 0 0 pgscan_direct_movable 0 0 pginodesteal 3461 7281 slabs_scanned 564864 527616 kswapd_steal 2889797 1448082 kswapd_inodesteal 14827 14835 pageoutrun 43459 21562 allocstall 9653 4032 pgrotated 384216 228631 1.5) free numbers at the end of the tests before patch: total used free shared buffers cached Mem: 474 467 7 0 0 236 -/+ buffers/cache: 230 243 Swap: 1023 418 605 after patch: total used free shared buffers cached Mem: 474 457 16 0 0 236 -/+ buffers/cache: 221 253 Swap: 1023 404 619 2) memory flushing in a file server 2.1) brief summary The number of major faults from 50 to 3 during 10% cache hot reads. That means this patch successfully stops major faults when the active file list is slowly scanned when there are partially cache hot streaming IO. 2.2) test scenario Do 100000 pread(size=110 pages, offset=(i*100) pages), where 10% of the pages will be activated: for i in `seq 0 100 10000000`; do echo $i 110; done > pattern-hot-10 iotrace.rb --load pattern-hot-10 --play /b/sparse vmmon nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree and monitor /proc/vmstat during the time. The test box has 2G memory. I carried out tests on fresh booted console as well as X desktop, and fetched the vmstat numbers on (1) begin: shortly after the big read IO starts; (2) end: just before the big read IO stops; (3) restore: the big read IO stops and the zsh working set restored (4) restore X: after IO, switch back and forth between the urxvt and firefox windows to restore their working set. 2.3) console mode results nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree 2.6.29 VM_EXEC protection ON: begin: 2481 2237 8694 630 0 574299 end: 275 231976 233914 633 776271 20933042 restore: 370 232154 234524 691 777183 20958453 2.6.29 VM_EXEC protection ON (second run): begin: 2434 2237 8493 629 0 574195 end: 284 231970 233536 632 771918 20896129 restore: 399 232218 234789 690 774526 20957909 2.6.30-rc4-mm VM_EXEC protection OFF: begin: 2479 2344 9659 210 0 579643 end: 284 232010 234142 260 772776 20917184 restore: 379 232159 234371 301 774888 20967849 The above console numbers show that - The startup pgmajfault of 2.6.30-rc4-mm is merely 1/3 that of 2.6.29. I'd attribute that improvement to the mmap readahead improvements :-) - The pgmajfault increment during the file copy is 633-630=3 vs 260-210=50. That's a huge improvement - which means with the VM_EXEC protection logic, active mmap pages is pretty safe even under partially cache hot streaming IO. - when active:inactive file lru size reaches 1:1, their scan rates is 1:20.8 under 10% cache hot IO. (computed with formula Dpgdeactivate:Dpgfree) That roughly means the active mmap pages get 20.8 more chances to get re-referenced to stay in memory. - The absolute nr_mapped drops considerably to 1/9 during the big IO, and the dropped pages are mostly inactive ones. The patch has almost no impact in this aspect, that means it won't unnecessarily increase memory pressure. (In contrast, your 20% mmap protection ratio will keep them all, and therefore eliminate the extra 41 major faults to restore working set of zsh etc.) The iotrace.rb read throughput is 151.194384MB/s 284.198252s 100001x 450560b --load pattern-hot-10 --play /b/sparse which means the inactive list is rotated at the speed of 250MB/s, so a full scan of which takes about 3.5 seconds, while a full scan of active file list takes about 77 seconds. 2.4) X mode results We can reach roughly the same conclusions for X desktop: nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree 2.6.30-rc4-mm VM_EXEC protection ON: begin: 9740 8920 64075 561 0 678360 end: 768 218254 220029 565 798953 21057006 restore: 857 218543 220987 606 799462 21075710 restore X: 2414 218560 225344 797 799462 21080795 2.6.30-rc4-mm VM_EXEC protection OFF: begin: 9368 5035 26389 554 0 633391 end: 770 218449 221230 661 646472 17832500 restore: 1113 218466 220978 710 649881 17905235 restore X: 2687 218650 225484 947 802700 21083584 - the absolute nr_mapped drops considerably (to 1/13 of the original size) during the streaming IO. - the delta of pgmajfault is 3 vs 107 during IO, or 236 vs 393 during the whole process. Cc: Elladan Cc: Nick Piggin Cc: Andi Kleen Cc: Christoph Lameter Acked-by: Rik van Riel Acked-by: Peter Zijlstra Acked-by: KOSAKI Motohiro Reviewed-by: Johannes Weiner Reviewed-by: Minchan Kim Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fe6b7e35785e3232ffe7f81d3893f1316710a02 Author: Wu Fengguang Date: Tue Jun 16 15:33:05 2009 -0700 vmscan: report vm_flags in page_referenced() Collect vma->vm_flags of the VMAs that actually referenced the page. This is preparing for more informed reclaim heuristics, eg. to protect executable file pages more aggressively. For now only the VM_EXEC bit will be used by the caller. Thanks to Johannes, Peter and Minchan for all the good tips. Acked-by: Peter Zijlstra Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Reviewed-by: Johannes Weiner Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608e8e66a154cbc3d591a59dcebfd9cbc9e3431a Author: Mel Gorman Date: Tue Jun 16 15:33:04 2009 -0700 mm: add a gfp-translate script to help understand page allocation failure reports The page allocation failure messages include a line that looks like page allocation failure. order:1, mode:0x4020 The mode is easy to translate but irritating for the lazy and a bit error prone. This patch adds a very simple helper script gfp-translate for the mode: portion of the page allocation failure messages. An example usage looks like mel@machina:~/linux-2.6 $ scripts/gfp-translate 0x4020 Source: /home/mel/linux-2.6 Parsing: 0x4020 #define __GFP_HIGH (0x20) /* Should access emergency pools? */ #define __GFP_COMP (0x4000) /* Add compound page metadata */ The script is not a work of art but it has come in handy for me a few times so I thought I would share. [akpm@linux-foundation.org: clarify an error message] Signed-off-by: Mel Gorman Acked-by: Rik van Riel Acked-by: Pekka Enberg Cc: Christoph Hellwig Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 168f5ac668f63dfb64439766e3ef9e866b83719d Author: Sergei Trofimovich Date: Tue Jun 16 15:33:02 2009 -0700 mm cleanup: shmem_file_setup: 'char *' -> 'const char *' for name argument As function shmem_file_setup does not modify/allocate/free/pass given filename - mark it as const. Signed-off-by: Sergei Trofimovich Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aca8bf323edd31ad462dc98c107c23a5c6022ca2 Author: Minchan Kim Date: Tue Jun 16 15:33:02 2009 -0700 mm: remove file argument from swap_readpage() The file argument resulted from address_space's readpage long time ago. We don't use it any more. Let's remove unnecessary argement. Signed-off-by: Minchan Kim Acked-by: Hugh Dickins Reviewed-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8192da6a8811ab6c3d29dc590a5f94a377c43739 Author: Minchan Kim Date: Tue Jun 16 15:33:01 2009 -0700 mm: remove annotation of gfp_mask in add_to_swap Hugh removed add_to_swap's gfp_mask argument. (mm: remove gfp_mask from add_to_swap) So we have to remove annotation of gfp_mask of the function. Signed-off-by: Minchan Kim Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74 Author: Yinghai Lu Date: Tue Jun 16 15:33:00 2009 -0700 page-allocator: clear N_HIGH_MEMORY map before we set it again SRAT tables may contains nodes of very small size. The arch code may decide to not activate such a node. However, currently the early boot code sets N_HIGH_MEMORY for such nodes. These nodes therefore seem to be active although these nodes have no present pages. For 64bit N_HIGH_MEMORY == N_NORMAL_MEMORY, so that works for 64 bit too Signed-off-by: Yinghai Lu Tested-by: Jack Steiner Acked-by: Christoph Lameter Cc: Mel Gorman Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 286973552f051404abdb58dd9b2f8f7558efe4e5 Author: Mike Waychison Date: Tue Jun 16 15:32:59 2009 -0700 mm: remove __invalidate_mapping_pages variant Remove __invalidate_mapping_pages atomic variant now that its sole caller can sleep (fixed in eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb ("vfs: fix lock inversion in drop_pagecache_sb()")). This fixes softlockups that can occur while in the drop_caches path. Signed-off-by: Mike Waychison Cc: Jan Kara Cc: Wu Fengguang Cc: Dave Chinner Cc: Nick Piggin Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82553a937f12352c26fe457510ebab3f512cd3fa Author: David Rientjes Date: Tue Jun 16 15:32:58 2009 -0700 oom: invoke oom killer for __GFP_NOFAIL The oom killer must be invoked regardless of the order if the allocation is __GFP_NOFAIL, otherwise it will loop forever when reclaim fails to free some memory. Cc: Nick Piggin Acked-by: Rik van Riel Acked-by: Mel Gorman Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Dave Hansen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d8b9135c30ccbe46e621fefd862969819003fd6 Author: David Rientjes Date: Tue Jun 16 15:32:57 2009 -0700 oom: avoid unnecessary mm locking and scanning for OOM_DISABLE This moves the check for OOM_DISABLE to the badness heuristic so it is only necessary to hold task_lock() once. If the mm is OOM_DISABLE, the score is 0, which is also correctly exported via /proc/pid/oom_score. This requires that tasks with badness scores of 0 are prohibited from being oom killed, which makes sense since they would not allow for future memory freeing anyway. Since the oom_adj value is a characteristic of an mm and not a task, it is no longer necessary to check the oom_adj value for threads sharing the same memory (except when simply issuing SIGKILLs for threads in other thread groups). Cc: Nick Piggin Cc: Rik van Riel Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ff05b2b4eac2e63d345fc731ea151a060247f53 Author: David Rientjes Date: Tue Jun 16 15:32:56 2009 -0700 oom: move oom_adj value from task_struct to mm_struct The per-task oom_adj value is a characteristic of its mm more than the task itself since it's not possible to oom kill any thread that shares the mm. If a task were to be killed while attached to an mm that could not be freed because another thread were set to OOM_DISABLE, it would have needlessly been terminated since there is no potential for future memory freeing. This patch moves oomkilladj (now more appropriately named oom_adj) from struct task_struct to struct mm_struct. This requires task_lock() on a task to check its oom_adj value to protect against exec, but it's already necessary to take the lock when dereferencing the mm to find the total VM size for the badness heuristic. This fixes a livelock if the oom killer chooses a task and another thread sharing the same memory has an oom_adj value of OOM_DISABLE. This occurs because oom_kill_task() repeatedly returns 1 and refuses to kill the chosen task while select_bad_process() will repeatedly choose the same task during the next retry. Taking task_lock() in select_bad_process() to check for OOM_DISABLE and in oom_kill_task() to check for threads sharing the same memory will be removed in the next patch in this series where it will no longer be necessary. Writing to /proc/pid/oom_adj for a kthread will now return -EINVAL since these threads are immune from oom killing already. They simply report an oom_adj value of OOM_DISABLE. Cc: Nick Piggin Cc: Rik van Riel Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9e444103b5e7a5a3519f9913f59767f92e33baf Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:54 2009 -0700 mm: reuse unused swap entry if necessary Presently we can know a swap entry is just used as SwapCache via swap_map, without looking up swap cache. Then, we have a chance to reuse swap-cache-only swap entries in get_swap_pages(). This patch tries to free swap-cache-only swap entries if swap is not enough. Note: We hit following path when swap_cluster code cannot find a free cluster. Then, vm_swap_full() is not only condition to allow the kernel to reclaim unused swap. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Tested-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355cfa73ddff2fb8fa14e93bd94a057cc022512e Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:53 2009 -0700 mm: modify swap_map and add SWAP_HAS_CACHE flag This is a part of the patches for fixing memcg's swap accountinf leak. But, IMHO, not a bad patch even if no memcg. There are 2 kinds of references to swap. - reference from swap entry - reference from swap cache Then, - If there is swap cache && swap's refcnt is 1, there is only swap cache. (*) swapcount(entry) == 1 && find_get_page(swapper_space, entry) != NULL This counting logic have worked well for a long time. But considering that we cannot know there is a _real_ reference or not by swap_map[], current usage of counter is not very good. This patch adds a flag SWAP_HAS_CACHE and recored information that a swap entry has a cache or not. This will remove -1 magic used in swapfile.c and be a help to avoid unnecessary find_get_page(). Signed-off-by: KAMEZAWA Hiroyuki Tested-by: Daisuke Nishimura Cc: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb4b86ba47bb0937b71fb825b3ed88adf7a190f0 Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:52 2009 -0700 mm: add swap cache interface for swap reference In a following patch, the usage of swap cache is recorded into swap_map. This patch is for necessary interface changes to do that. 2 interfaces: - swapcache_prepare() - swapcache_free() are added for allocating/freeing refcnt from swap-cache to existing swap entries. But implementation itself is not changed under this patch. At adding swapcache_free(), memcg's hook code is moved under swapcache_free(). This is better than using scattered hooks. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6837765963f1723e80ca97b1fae660f3a60d77df Author: KOSAKI Motohiro Date: Tue Jun 16 15:32:51 2009 -0700 mm: remove CONFIG_UNEVICTABLE_LRU config option Currently, nobody wants to turn UNEVICTABLE_LRU off. Thus this configurability is unnecessary. Signed-off-by: KOSAKI Motohiro Cc: Johannes Weiner Cc: Andi Kleen Acked-by: Minchan Kim Cc: David Woodhouse Cc: Matt Mackall Cc: Rik van Riel Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce7394a3ef82b8477952fbab838e4a6e8cb47d2 Author: Minchan Kim Date: Tue Jun 16 15:32:50 2009 -0700 page-allocator: reset wmark_min and inactive ratio of zone when hotplug happens Solve two problems. Whenever memory hotplug sucessfully happens, zone->present_pages have to be changed. 1) Now memory hotplug calls setup_per_zone_wmark_min only when online_pages called, not offline_pages. It breaks balance. 2) If zone->present_pages is changed, we also have to change zone->inactive_ratio. That's because inactive_ratio depends on zone->present_pages. Signed-off-by: Minchan Kim Acked-by: Yasunori Goto Cc: Rik van Riel Cc: KOSAKI Motohiro Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96cb4df5ddf5e6d5785b5acd4003e3689b87f896 Author: Minchan Kim Date: Tue Jun 16 15:32:49 2009 -0700 page-allocator: add inactive ratio calculation function of each zone Factor the per-zone arithemetic inside setup_per_zone_inactive_ratio()'s loop into a a separate function, calculate_zone_inactive_ratio(). This function will be used in a later patch [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Minchan Kim Reviewed-by: KOSAKI Motohiro Cc: Rik van Riel Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf Author: Minchan Kim Date: Tue Jun 16 15:32:48 2009 -0700 page-allocator: clean up functions related to pages_min Change the names of two functions. It doesn't affect behavior. Presently, setup_per_zone_pages_min() changes low, high of zone as well as min. So a better name is setup_per_zone_wmarks(). That's because Mel changed zone->pages_[hig/low/min] to zone->watermark array in "page allocator: replace the watermark-related union in struct zone with a watermark[] array". * setup_per_zone_pages_min => setup_per_zone_wmarks Of course, we have to change init_per_zone_pages_min, too. There are not pages_min any more. * init_per_zone_pages_min => init_per_zone_wmark_min [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Minchan Kim Acked-by: Mel Gorman Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70d94ee438b3fd9c15c7691d7a932a135c18101 Author: Christoph Lameter Date: Tue Jun 16 15:32:46 2009 -0700 page-allocator: use integer fields lookup for gfp_zone and check for errors in flags passed to the page allocator This simplifies the code in gfp_zone() and also keeps the ability of the compiler to use constant folding to get rid of gfp_zone processing. The lookup of the zone is done using a bitfield stored in an integer. So the code in gfp_zone is a simple extraction of bits from a constant bitfield. The compiler is generating a load of a constant into a register and then performs a shift and mask operation to get the zone from a gfp_t. No cachelines are touched and no branches have to be predicted by the compiler. We are doing some macro tricks here to convince the compiler to always do the constant folding if possible. Signed-off-by: Christoph Lameter Cc: KAMEZAWA Hiroyuki Reviewed-by: Mel Gorman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31c911329e048b715a1dfeaaf617be9430fd7f4e Author: Matthew Wilcox Date: Tue Jun 16 15:32:45 2009 -0700 mm: check the argument of kunmap on architectures without highmem If you're using a non-highmem architecture, passing an argument with the wrong type to kunmap() doesn't give you a warning because the ifdef doesn't check the type. Using a static inline function solves the problem nicely. Reported-by: David Woodhouse Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69c854817566db82c362797b4a6521d0b00fe1d8 Author: MinChan Kim Date: Tue Jun 16 15:32:44 2009 -0700 vmscan: prevent shrinking of active anon lru list in case of no swap space V3 shrink_zone() can deactivate active anon pages even if we don't have a swap device. Many embedded products don't have a swap device. So the deactivation of anon pages is unnecessary. This patch prevents unnecessary deactivation of anon lru pages. But, it don't prevent aging of anon pages to swap out. Signed-off-by: Minchan Kim Acked-by: KOSAKI Motohiro Cc: Johannes Weiner Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35282a2de4e5e4e173ab61aa9d7015886021a821 Author: Brice Goglin Date: Tue Jun 16 15:32:43 2009 -0700 migration: only migrate_prep() once per move_pages() migrate_prep() is fairly expensive (72us on 16-core barcelona 1.9GHz). Commit 3140a2273009c01c27d316f35ab76a37e105fdd8 improved move_pages() throughput by breaking it into chunks, but it also made migrate_prep() be called once per chunk (every 128pages or so) instead of once per move_pages(). This patch reverts to calling migrate_prep() only once per chunk as we did before 2.6.29. It is also a followup to commit 0aedadf91a70a11c4a3e7c7d99b21e5528af8d5d ("mm: move migrate_prep out from under mmap_sem"). This improves migration throughput on the above machine from 600MB/s to 750MB/s. Signed-off-by: Brice Goglin Acked-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Heiko Carstens Cc: Nick Piggin Cc: Hugh Dickins Cc: Rik van Riel Cc: Lee Schermerhorn Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f33d49a2ed546e01f7b1d0607661810f2421859 Author: Rafael J. Wysocki Date: Tue Jun 16 15:32:41 2009 -0700 mm, PM/Freezer: Disable OOM killer when tasks are frozen Currently, the following scenario appears to be possible in theory: * Tasks are frozen for hibernation or suspend. * Free pages are almost exhausted. * Certain piece of code in the suspend code path attempts to allocate some memory using GFP_KERNEL and allocation order less than or equal to PAGE_ALLOC_COSTLY_ORDER. * __alloc_pages_internal() cannot find a free page so it invokes the OOM killer. * The OOM killer attempts to kill a task, but the task is frozen, so it doesn't die immediately. * __alloc_pages_internal() jumps to 'restart', unsuccessfully tries to find a free page and invokes the OOM killer. * No progress can be made. Although it is now hard to trigger during hibernation due to the memory shrinking carried out by the hibernation code, it is theoretically possible to trigger during suspend after the memory shrinking has been removed from that code path. Moreover, since memory allocations are going to be used for the hibernation memory shrinking, it will be even more likely to happen during hibernation. To prevent it from happening, introduce the oom_killer_disabled switch that will cause __alloc_pages_internal() to fail in the situations in which the OOM killer would have been called and make the freezer set this switch after tasks have been successfully frozen. [akpm@linux-foundation.org: be nicer to the namespace] Signed-off-by: Rafael J. Wysocki Cc: Fengguang Wu Cc: David Rientjes Acked-by: Pavel Machek Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75927af8bcb940dad4fe281713d526cb520869ff Author: Nick Piggin Date: Tue Jun 16 15:32:38 2009 -0700 mm: madvise(): correct return code The posix_madvise() function succeeds (and does nothing) when called with parameters (NULL, 0, -1); according to LSB tests, it should fail with EINVAL because -1 is not a valid flag. When called with a valid address and size, it correctly fails. So perform an initial check for valid flags first. Reported-by: Jiri Dluhos Signed-off-by: Nick Piggin Reviewed-and-Tested-by: WANG Cong Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dab48dab37d2770824420d1e01730a107fade1aa Author: Andrew Morton Date: Tue Jun 16 15:32:37 2009 -0700 page-allocator: warn if __GFP_NOFAIL is used for a large allocation __GFP_NOFAIL is a bad fiction. Allocations _can_ fail, and callers should detect and suitably handle this (and not by lamely moving the infinite loop up to the caller level either). Attempting to use __GFP_NOFAIL for a higher-order allocation is even worse, so add a once-off runtime check for this to slap people around for even thinking about trying it. Cc: David Rientjes Acked-by: Mel Gorman Acked-by: Peter Zijlstra Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 720b17e759a50635c429ccaa2ec3d01edb4f92d6 Author: Magnus Damm Date: Tue Jun 16 15:32:36 2009 -0700 videobuf-dma-contig: zero copy USERPTR support Since videobuf-dma-contig is designed to handle physically contiguous memory, this patch modifies the videobuf-dma-contig code to only accept a user space pointer to physically contiguous memory. For now only VM_PFNMAP vmas are supported, so forget hotplug. On SuperH Mobile we use this with our sh_mobile_ceu_camera driver together with various multimedia accelerator blocks that are exported to user space using UIO. The UIO kernel code exports physically contiguous memory to user space and lets the user space application mmap() this memory and pass a pointer using the USERPTR interface for V4L2 zero copy operation. With this approach we support zero copy capture, hardware scaling and various forms of hardware encoding and decoding. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Magnus Damm Cc: Johannes Weiner Cc: Paul Mundt Acked-by: Mauro Carvalho Chehab Cc: Hans Verkuil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c Author: Johannes Weiner Date: Tue Jun 16 15:32:35 2009 -0700 mm: introduce follow_pfn() Analoguous to follow_phys(), add a helper that looks up the PFN at a user virtual address in an IO mapping or a raw PFN mapping. Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03668a4debf4f50de55c34b6e66dae63e1c73716 Author: Johannes Weiner Date: Tue Jun 16 15:32:34 2009 -0700 mm: use generic follow_pte() in follow_phys() Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8ad0f499fad5cdbcaaa2d97542b2db869b5a770 Author: Johannes Weiner Date: Tue Jun 16 15:32:33 2009 -0700 mm: introduce follow_pte() A generic readonly page table lookup helper to map an address space and an address from it to a pte. Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9bb35df6f813ca46f8e6273add657643c7df73f Author: Cyrill Gorcunov Date: Tue Jun 16 15:32:32 2009 -0700 mm: setup_per_zone_inactive_ratio - fix comment and make it __init The caller of setup_per_zone_inactive_ratio is an __init function. There is no need to keep the callee after it completed as well. Also fix a comment. Acked-by: David Rientjes Signed-off-by: Cyrill Gorcunov Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c87eada68fe5d29a5f67528f81b6e45124f579b Author: Cyrill Gorcunov Date: Tue Jun 16 15:32:32 2009 -0700 mm: setup_per_zone_inactive_ratio - do not call for int_sqrt if not needed int_sqrt() returns 0 if its argument is zero so call it if only needed. Signed-off-by: Cyrill Gorcunov Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af166777cf451f0373b952ce6766dc1c25385686 Author: Wu Fengguang Date: Tue Jun 16 15:32:31 2009 -0700 vmscan: ZVC updates in shrink_active_list() can be done once This effectively lifts the unit of updates to nr_inactive_* and pgdeactivate from PAGEVEC_SIZE=14 to SWAP_CLUSTER_MAX=32, or MAX_ORDER_NR_PAGES=1024 for reclaim_zone(). Cc: Johannes Weiner Acked-by: Rik van Riel Reviewed-by: Minchan Kim Signed-off-by: Wu Fengguang Cc: Peter Zijlstra Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d9ae7cbbd0c5c07573d072ec771e997a9a39e0 Author: Wu Fengguang Date: Tue Jun 16 15:32:30 2009 -0700 vmscan: don't export nr_saved_scan in /proc/zoneinfo The lru->nr_saved_scan's are not meaningful counters for even kernel developers. They typically are smaller than 32 and are always 0 for large lists. So remove them from /proc/zoneinfo. Hopefully this interface change won't break too many scripts. /proc/zoneinfo is too unstructured to be script friendly, and I wonder the affected scripts - if there are any - are still bleeding since the not long ago commit "vmscan: split LRU lists into anon & file sets", which also touched the "scanned" line :) If we are to re-export accumulated vmscan counts in the future, they can go to new lines in /proc/zoneinfo instead of the current form, or to /sys/devices/system/node/node0/meminfo? Signed-off-by: Wu Fengguang Acked-by: Rik van Riel Cc: Nick Piggin Acked-by: Christoph Lameter Cc: Peter Zijlstra Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e08a369ee10b361ac1cdcdf4fabd420fd08beb3 Author: Wu Fengguang Date: Tue Jun 16 15:32:29 2009 -0700 vmscan: cleanup the scan batching code The vmscan batching logic is twisting. Move it into a standalone function nr_scan_try_batch() and document it. No behavior change. Signed-off-by: Wu Fengguang Acked-by: Rik van Riel Cc: Nick Piggin Cc: Christoph Lameter Acked-by: Peter Zijlstra Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56e49d218890f49b0057710a4b6fef31f5ffbfec Author: Rik van Riel Date: Tue Jun 16 15:32:28 2009 -0700 vmscan: evict use-once pages first When the file LRU lists are dominated by streaming IO pages, evict those pages first, before considering evicting other pages. This should be safe from deadlocks or performance problems because only three things can happen to an inactive file page: 1) referenced twice and promoted to the active list 2) evicted by the pageout code 3) under IO, after which it will get evicted or promoted The pages freed in this way can either be reused for streaming IO, or allocated for something else. If the pages are used for streaming IO, this pageout pattern continues. Otherwise, we will fall back to the normal pageout pattern. Signed-off-by: Rik van Riel Reported-by: Elladan Cc: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Lee Schermerhorn Acked-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35efa5e993a7a00a50b87d2b7725c3eafc80b083 Author: Wu Fengguang Date: Tue Jun 16 15:32:27 2009 -0700 pagemap: add page-types tool Add page-types, a handy tool for querying page flags. It will expand some of the overloaded flags: PG_slob_free = PG_private PG_slub_frozen = PG_active PG_slub_debug = PG_error PG_readahead = PG_reclaim and mask out obscure flags except in -raw mode: PG_reserved PG_mlocked PG_mappedtodisk PG_private PG_private_2 PG_owner_priv_1 PG_arch_1 PG_uncached PG_compound* for non hugeTLB pages [akpm@linux-foundation.org: fix warning] Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e895012f7fe9dc63144990da98c41bbc22d68f Author: Wu Fengguang Date: Tue Jun 16 15:32:26 2009 -0700 pagemap: document 9 more exported page flags Also add short descriptions for all of the 20 exported page flags. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9ba78e226057a1c2f19671383c496df187c02b5 Author: Wu Fengguang Date: Tue Jun 16 15:32:25 2009 -0700 pagemap: document clarifications Some bit ranges were inclusive and some not. Fix them to be consistently inclusive. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 177975495914efb372f7edee28ba9a0fdb754149 Author: Wu Fengguang Date: Tue Jun 16 15:32:24 2009 -0700 proc: export more page flags in /proc/kpageflags Export all page flags faithfully in /proc/kpageflags. 11. KPF_MMAP (pseudo flag) memory mapped page 12. KPF_ANON (pseudo flag) memory mapped page (anonymous) 13. KPF_SWAPCACHE page is in swap cache 14. KPF_SWAPBACKED page is swap/RAM backed 15. KPF_COMPOUND_HEAD (*) 16. KPF_COMPOUND_TAIL (*) 17. KPF_HUGE hugeTLB pages 18. KPF_UNEVICTABLE page is in the unevictable LRU list 19. KPF_HWPOISON(TBD) hardware detected corruption 20. KPF_NOPAGE (pseudo flag) no page frame at the address 32-39. more obscure flags for kernel developers (*) For compound pages, exporting _both_ head/tail info enables users to tell where a compound page starts/ends, and its order. The accompanying page-types tool will handle the details like decoupling overloaded flags and hiding obscure flags to normal users. Thanks to KOSAKI and Andi for their valuable recommendations! Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7ce0f1022942301776f93159c981b09382ddea Author: Wu Fengguang Date: Tue Jun 16 15:32:23 2009 -0700 proc: kpagecount/kpageflags code cleanup Move increments of pfn/out to bottom of the loop. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Acked-by: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a0307c0396c2edb651401d2f2db193dda2f3c9 Author: Wu Fengguang Date: Tue Jun 16 15:32:22 2009 -0700 mm: introduce PageHuge() for testing huge/gigantic pages A series of patches to enhance the /proc/pagemap interface and to add a userspace executable which can be used to present the pagemap data. Export 10 more flags to end users (and more for kernel developers): 11. KPF_MMAP (pseudo flag) memory mapped page 12. KPF_ANON (pseudo flag) memory mapped page (anonymous) 13. KPF_SWAPCACHE page is in swap cache 14. KPF_SWAPBACKED page is swap/RAM backed 15. KPF_COMPOUND_HEAD (*) 16. KPF_COMPOUND_TAIL (*) 17. KPF_HUGE hugeTLB pages 18. KPF_UNEVICTABLE page is in the unevictable LRU list 19. KPF_HWPOISON hardware detected corruption 20. KPF_NOPAGE (pseudo flag) no page frame at the address (*) For compound pages, exporting _both_ head/tail info enables users to tell where a compound page starts/ends, and its order. a simple demo of the page-types tool # ./page-types -h page-types [options] -r|--raw Raw mode, for kernel developers -a|--addr addr-spec Walk a range of pages -b|--bits bits-spec Walk pages with specified bits -l|--list Show page details in ranges -L|--list-each Show page details one by one -N|--no-summary Don't show summay info -h|--help Show this usage message addr-spec: N one page at offset N (unit: pages) N+M pages range from N to N+M-1 N,M pages range from N to M-1 N, pages range from N to end ,M pages range from 0 to M bits-spec: bit1,bit2 (flags & (bit1|bit2)) != 0 bit1,bit2=bit1 (flags & (bit1|bit2)) == bit1 bit1,~bit2 (flags & (bit1|bit2)) == bit1 =bit1,bit2 flags == (bit1|bit2) bit-names: locked error referenced uptodate dirty lru active slab writeback reclaim buddy mmap anonymous swapcache swapbacked compound_head compound_tail huge unevictable hwpoison nopage reserved(r) mlocked(r) mappedtodisk(r) private(r) private_2(r) owner_private(r) arch(r) uncached(r) readahead(o) slob_free(o) slub_frozen(o) slub_debug(o) (r) raw mode bits (o) overloaded bits # ./page-types flags page-count MB symbolic-flags long-symbolic-flags 0x0000000000000000 487369 1903 _________________________________ 0x0000000000000014 5 0 __R_D____________________________ referenced,dirty 0x0000000000000020 1 0 _____l___________________________ lru 0x0000000000000024 34 0 __R__l___________________________ referenced,lru 0x0000000000000028 3838 14 ___U_l___________________________ uptodate,lru 0x0001000000000028 48 0 ___U_l_______________________I___ uptodate,lru,readahead 0x000000000000002c 6478 25 __RU_l___________________________ referenced,uptodate,lru 0x000100000000002c 47 0 __RU_l_______________________I___ referenced,uptodate,lru,readahead 0x0000000000000040 8344 32 ______A__________________________ active 0x0000000000000060 1 0 _____lA__________________________ lru,active 0x0000000000000068 348 1 ___U_lA__________________________ uptodate,lru,active 0x0001000000000068 12 0 ___U_lA______________________I___ uptodate,lru,active,readahead 0x000000000000006c 988 3 __RU_lA__________________________ referenced,uptodate,lru,active 0x000100000000006c 48 0 __RU_lA______________________I___ referenced,uptodate,lru,active,readahead 0x0000000000004078 1 0 ___UDlA_______b__________________ uptodate,dirty,lru,active,swapbacked 0x000000000000407c 34 0 __RUDlA_______b__________________ referenced,uptodate,dirty,lru,active,swapbacked 0x0000000000000400 503 1 __________B______________________ buddy 0x0000000000000804 1 0 __R________M_____________________ referenced,mmap 0x0000000000000828 1029 4 ___U_l_____M_____________________ uptodate,lru,mmap 0x0001000000000828 43 0 ___U_l_____M_________________I___ uptodate,lru,mmap,readahead 0x000000000000082c 382 1 __RU_l_____M_____________________ referenced,uptodate,lru,mmap 0x000100000000082c 12 0 __RU_l_____M_________________I___ referenced,uptodate,lru,mmap,readahead 0x0000000000000868 192 0 ___U_lA____M_____________________ uptodate,lru,active,mmap 0x0001000000000868 12 0 ___U_lA____M_________________I___ uptodate,lru,active,mmap,readahead 0x000000000000086c 800 3 __RU_lA____M_____________________ referenced,uptodate,lru,active,mmap 0x000100000000086c 31 0 __RU_lA____M_________________I___ referenced,uptodate,lru,active,mmap,readahead 0x0000000000004878 2 0 ___UDlA____M__b__________________ uptodate,dirty,lru,active,mmap,swapbacked 0x0000000000001000 492 1 ____________a____________________ anonymous 0x0000000000005808 4 0 ___U_______Ma_b__________________ uptodate,mmap,anonymous,swapbacked 0x0000000000005868 2839 11 ___U_lA____Ma_b__________________ uptodate,lru,active,mmap,anonymous,swapbacked 0x000000000000586c 30 0 __RU_lA____Ma_b__________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked total 513968 2007 # ./page-types -r flags page-count MB symbolic-flags long-symbolic-flags 0x0000000000000000 468002 1828 _________________________________ 0x0000000100000000 19102 74 _____________________r___________ reserved 0x0000000000008000 41 0 _______________H_________________ compound_head 0x0000000000010000 188 0 ________________T________________ compound_tail 0x0000000000008014 1 0 __R_D__________H_________________ referenced,dirty,compound_head 0x0000000000010014 4 0 __R_D___________T________________ referenced,dirty,compound_tail 0x0000000000000020 1 0 _____l___________________________ lru 0x0000000800000024 34 0 __R__l__________________P________ referenced,lru,private 0x0000000000000028 3794 14 ___U_l___________________________ uptodate,lru 0x0001000000000028 46 0 ___U_l_______________________I___ uptodate,lru,readahead 0x0000000400000028 44 0 ___U_l_________________d_________ uptodate,lru,mappedtodisk 0x0001000400000028 2 0 ___U_l_________________d_____I___ uptodate,lru,mappedtodisk,readahead 0x000000000000002c 6434 25 __RU_l___________________________ referenced,uptodate,lru 0x000100000000002c 47 0 __RU_l_______________________I___ referenced,uptodate,lru,readahead 0x000000040000002c 14 0 __RU_l_________________d_________ referenced,uptodate,lru,mappedtodisk 0x000000080000002c 30 0 __RU_l__________________P________ referenced,uptodate,lru,private 0x0000000800000040 8124 31 ______A_________________P________ active,private 0x0000000000000040 219 0 ______A__________________________ active 0x0000000800000060 1 0 _____lA_________________P________ lru,active,private 0x0000000000000068 322 1 ___U_lA__________________________ uptodate,lru,active 0x0001000000000068 12 0 ___U_lA______________________I___ uptodate,lru,active,readahead 0x0000000400000068 13 0 ___U_lA________________d_________ uptodate,lru,active,mappedtodisk 0x0000000800000068 12 0 ___U_lA_________________P________ uptodate,lru,active,private 0x000000000000006c 977 3 __RU_lA__________________________ referenced,uptodate,lru,active 0x000100000000006c 48 0 __RU_lA______________________I___ referenced,uptodate,lru,active,readahead 0x000000040000006c 5 0 __RU_lA________________d_________ referenced,uptodate,lru,active,mappedtodisk 0x000000080000006c 3 0 __RU_lA_________________P________ referenced,uptodate,lru,active,private 0x0000000c0000006c 3 0 __RU_lA________________dP________ referenced,uptodate,lru,active,mappedtodisk,private 0x0000000c00000068 1 0 ___U_lA________________dP________ uptodate,lru,active,mappedtodisk,private 0x0000000000004078 1 0 ___UDlA_______b__________________ uptodate,dirty,lru,active,swapbacked 0x000000000000407c 34 0 __RUDlA_______b__________________ referenced,uptodate,dirty,lru,active,swapbacked 0x0000000000000400 538 2 __________B______________________ buddy 0x0000000000000804 1 0 __R________M_____________________ referenced,mmap 0x0000000000000828 1029 4 ___U_l_____M_____________________ uptodate,lru,mmap 0x0001000000000828 43 0 ___U_l_____M_________________I___ uptodate,lru,mmap,readahead 0x000000000000082c 382 1 __RU_l_____M_____________________ referenced,uptodate,lru,mmap 0x000100000000082c 12 0 __RU_l_____M_________________I___ referenced,uptodate,lru,mmap,readahead 0x0000000000000868 192 0 ___U_lA____M_____________________ uptodate,lru,active,mmap 0x0001000000000868 12 0 ___U_lA____M_________________I___ uptodate,lru,active,mmap,readahead 0x000000000000086c 800 3 __RU_lA____M_____________________ referenced,uptodate,lru,active,mmap 0x000100000000086c 31 0 __RU_lA____M_________________I___ referenced,uptodate,lru,active,mmap,readahead 0x0000000000004878 2 0 ___UDlA____M__b__________________ uptodate,dirty,lru,active,mmap,swapbacked 0x0000000000001000 492 1 ____________a____________________ anonymous 0x0000000000005008 2 0 ___U________a_b__________________ uptodate,anonymous,swapbacked 0x0000000000005808 4 0 ___U_______Ma_b__________________ uptodate,mmap,anonymous,swapbacked 0x000000000000580c 1 0 __RU_______Ma_b__________________ referenced,uptodate,mmap,anonymous,swapbacked 0x0000000000005868 2839 11 ___U_lA____Ma_b__________________ uptodate,lru,active,mmap,anonymous,swapbacked 0x000000000000586c 29 0 __RU_lA____Ma_b__________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked total 513968 2007 # ./page-types --raw --list --no-summary --bits reserved offset count flags 0 15 _____________________r___________ 31 4 _____________________r___________ 159 97 _____________________r___________ 4096 2067 _____________________r___________ 6752 2390 _____________________r___________ 9355 3 _____________________r___________ 9728 14526 _____________________r___________ This patch: Introduce PageHuge(), which identifies huge/gigantic pages by their dedicated compound destructor functions. Also move prep_compound_gigantic_page() to hugetlb.c and make __free_pages_ok() non-static. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1dd268cf6306565a31a48deff8bf4f6b4b105f7 Author: Mel Gorman Date: Tue Jun 16 15:32:19 2009 -0700 mm: use alloc_pages_exact() in alloc_large_system_hash() to avoid duplicated logic alloc_large_system_hash() has logic for freeing pages at the end of an excessively large power-of-two buffer that is a duplicate of what is in alloc_pages_exact(). This patch converts alloc_large_system_hash() to use alloc_pages_exact(). Signed-off-by: Mel Gorman Acked-by: Hugh Dickins Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72807a74c0172376bba6b5b27702c9f702b526e9 Author: Mel Gorman Date: Tue Jun 16 15:32:18 2009 -0700 page allocator: sanity check order in the page allocator slow path Callers may speculatively call different allocators in order of preference trying to allocate a buffer of a given size. The order needed to allocate this may be larger than what the page allocator can normally handle. While the allocator mostly does the right thing, it should not direct reclaim or wakeup kswapd with a bogus order. This patch sanity checks the order in the slow path and returns NULL if it is too large. Signed-off-by: Mel Gorman Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 092cead6175bb1b3d3078a34ba71c939d526c70b Author: KOSAKI Motohiro Date: Tue Jun 16 15:32:17 2009 -0700 page allocator: move free_page_mlock() to page_alloc.c Currently, free_page_mlock() is only called from page_alloc.c. Thus, we can move it to page_alloc.c. Cc: Lee Schermerhorn Cc: Mel Gorman Cc: Christoph Lameter Cc: Pekka Enberg Cc: Dave Hansen Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6e68bc1baed9b6972a250aba66b8c5276cf6fb1 Author: Mel Gorman Date: Tue Jun 16 15:32:16 2009 -0700 page allocator: slab: use nr_online_nodes to check for a NUMA platform SLAB currently avoids checking a bitmap repeatedly by checking once and storing a flag. When the addition of nr_online_nodes as a cheaper version of num_online_nodes(), this check can be replaced by nr_online_nodes. (Christoph did a patch that this is lifted almost verbatim from) Signed-off-by: Christoph Lameter Signed-off-by: Mel Gorman Cc: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62bc62a873116805774ffd37d7f86aa4faa832b1 Author: Christoph Lameter Date: Tue Jun 16 15:32:15 2009 -0700 page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths num_online_nodes() is called in a number of places but most often by the page allocator when deciding whether the zonelist needs to be filtered based on cpusets or the zonelist cache. This is actually a heavy function and touches a number of cache lines. This patch stores the number of online nodes at boot time and updates the value when nodes get onlined and offlined. The value is then used in a number of important paths in place of num_online_nodes(). [rientjes@google.com: do not override definition of node_set_online() with macro] Signed-off-by: Christoph Lameter Signed-off-by: Mel Gorman Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 974709bdb2a34db378fc84140220f363f558d0d6 Author: Mel Gorman Date: Tue Jun 16 15:32:14 2009 -0700 page allocator: get the pageblock migratetype without disabling interrupts Local interrupts are disabled when freeing pages to the PCP list. Part of that free checks what the migratetype of the pageblock the page is in but it checks this with interrupts disabled and interupts should never be disabled longer than necessary. This patch checks the pagetype with interrupts enabled with the impact that it is possible a page is freed to the wrong list when a pageblock changes type. As that block is now already considered mixed from an anti-fragmentation perspective, it's not of vital importance. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2260e6b1f4eba0f5b5906795117791b5c660154 Author: Mel Gorman Date: Tue Jun 16 15:32:13 2009 -0700 page allocator: update NR_FREE_PAGES only as necessary When pages are being freed to the buddy allocator, the zone NR_FREE_PAGES counter must be updated. In the case of bulk per-cpu page freeing, it's updated once per page. This retouches cache lines more than necessary. Update the counters one per per-cpu bulk free. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 418589663d6011de9006425b6c5721e1544fb47a Author: Mel Gorman Date: Tue Jun 16 15:32:12 2009 -0700 page allocator: use allocation flags as an index to the zone watermark ALLOC_WMARK_MIN, ALLOC_WMARK_LOW and ALLOC_WMARK_HIGH determin whether pages_min, pages_low or pages_high is used as the zone watermark when allocating the pages. Two branches in the allocator hotpath determine which watermark to use. This patch uses the flags as an array index into a watermark array that is indexed with WMARK_* defines accessed via helpers. All call sites that use zone->pages_* are updated to use the helpers for accessing the values and the array offsets for setting. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3af9c389a7f3e675313f442fdd8c247c1cdb66b Author: Nick Piggin Date: Tue Jun 16 15:32:10 2009 -0700 page allocator: do not check for compound pages during the page allocator sanity checks A number of sanity checks are made on each page allocation and free including that the page count is zero. page_count() checks for compound pages and checks the count of the head page if true. However, in these paths, we do not care if the page is compound or not as the count of each tail page should also be zero. This patch makes two changes to the use of page_count() in the free path. It converts one check of page_count() to a VM_BUG_ON() as the count should have been unconditionally checked earlier in the free path. It also avoids checking for compound pages. [mel@csn.ul.ie: Wrote changelog] Signed-off-by: Mel Gorman Signed-off-by: Nick Piggin Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d395b73428d9748fb70b33477c9b2acae62f360a Author: Mel Gorman Date: Tue Jun 16 15:32:09 2009 -0700 page allocator: do not setup zonelist cache when there is only one node There is a zonelist cache which is used to track zones that are not in the allowed cpuset or found to be recently full. This is to reduce cache footprint on large machines. On smaller machines, it just incurs cost for no gain. This patch only uses the zonelist cache when there are NUMA nodes. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da456f14d2f2d7350f2b9440af79c85a34c7eed5 Author: Mel Gorman Date: Tue Jun 16 15:32:08 2009 -0700 page allocator: do not disable interrupts in free_page_mlock() free_page_mlock() tests and clears PG_mlocked using locked versions of the bit operations. If set, it disables interrupts to update counters and this happens on every page free even though interrupts are disabled very shortly afterwards a second time. This is wasteful. This patch splits what free_page_mlock() does. The bit check is still made. However, the update of counters is delayed until the interrupts are disabled and the non-lock version for clearing the bit is used. One potential weirdness with this split is that the counters do not get updated if the bad_page() check is triggered but a system showing bad pages is getting screwed already. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: Pekka Enberg Reviewed-by: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Acked-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed0ae21dc5fe3b9ad4cf1c7bb2bfd2ad596c481c Author: Mel Gorman Date: Tue Jun 16 15:32:07 2009 -0700 page allocator: do not call get_pageblock_migratetype() more than necessary get_pageblock_migratetype() is potentially called twice for every page free. Once, when being freed to the pcp lists and once when being freed back to buddy. When freeing from the pcp lists, it is known what the pageblock type was at the time of free so use it rather than rechecking. In low memory situations under memory pressure, this might skew anti-fragmentation slightly but the interference is minimal and decisions that are fragmenting memory are being made anyway. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ac3a4099b0171ff965836182bc688bb8ca01058 Author: Mel Gorman Date: Tue Jun 16 15:32:06 2009 -0700 page allocator: inline __rmqueue_fallback() __rmqueue_fallback() is in the slow path but has only one call site. Because there is only one call-site, this function can then be inlined without causing text bloat. On an x86-based config, it made no difference as the savings were padded out by NOP instructions. Milage varies but text will either decrease in size or remain static. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a15c3e9f649f71464ac39e6378f1fde6f995322 Author: Mel Gorman Date: Tue Jun 16 15:32:05 2009 -0700 page allocator: inline buffered_rmqueue() buffered_rmqueue() is in the fast path so inline it. Because it only has one call site, this function can then be inlined without causing text bloat. On an x86-based config, it made no difference as the savings were padded out by NOP instructions. Milage varies but text will either decrease in size or remain static. Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 728ec980fb9fa2d65d9e05444079a53615985e7b Author: Mel Gorman Date: Tue Jun 16 15:32:04 2009 -0700 page allocator: inline __rmqueue_smallest() Inline __rmqueue_smallest by altering flow very slightly so that there is only one call site. Because there is only one call-site, this function can then be inlined without causing text bloat. On an x86-based config, this patch reduces text by 16 bytes. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56f57ff94c25d5d80def06f3ed8fe7f99147762 Author: Mel Gorman Date: Tue Jun 16 15:32:02 2009 -0700 page allocator: remove a branch by assuming __GFP_HIGH == ALLOC_HIGH Allocations that specify __GFP_HIGH get the ALLOC_HIGH flag. If these flags are equal to each other, we can eliminate a branch. [akpm@linux-foundation.org: Suggested the hack] Signed-off-by: Mel Gorman Reviewed-by: Pekka Enberg Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341ce06f69abfafa31b9468410a13dbd60e2b237 Author: Peter Zijlstra Date: Tue Jun 16 15:32:02 2009 -0700 page allocator: calculate the alloc_flags for allocation only once Factor out the mapping between GFP and alloc_flags only once. Once factored out, it only needs to be calculated once but some care must be taken. [neilb@suse.de says] As the test: - if (((p->flags & PF_MEMALLOC) || unlikely(test_thread_flag(TIF_MEMDIE))) - && !in_interrupt()) { - if (!(gfp_mask & __GFP_NOMEMALLOC)) { has been replaced with a slightly weaker one: + if (alloc_flags & ALLOC_NO_WATERMARKS) { Without care, this would allow recursion into the allocator via direct reclaim. This patch ensures we do not recurse when PF_MEMALLOC is set but TF_MEMDIE callers are now allowed to directly reclaim where they would have been prevented in the past. Signed-off-by: Peter Zijlstra Acked-by: Pekka Enberg Signed-off-by: Mel Gorman Cc: Neil Brown Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dd2826698b6902aafd9441ce28ebb44735fd0d6 Author: Mel Gorman Date: Tue Jun 16 15:32:00 2009 -0700 page allocator: calculate the migratetype for allocation only once GFP mask is converted into a migratetype when deciding which pagelist to take a page from. However, it is happening multiple times per allocation, at least once per zone traversed. Calculate it once. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5117f45d11a9ee62d9b086f1312f3f31781ff155 Author: Mel Gorman Date: Tue Jun 16 15:31:59 2009 -0700 page allocator: calculate the preferred zone for allocation only once get_page_from_freelist() can be called multiple times for an allocation. Part of this calculates the preferred_zone which is the first usable zone in the zonelist but the zone depends on the GFP flags specified at the beginning of the allocation call. This patch calculates preferred_zone once. It's safe to do this because if preferred_zone is NULL at the start of the call, no amount of direct reclaim or other actions will change the fact the allocation will fail. [akpm@linux-foundation.org: remove (void) casts] Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Christoph Lameter Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e Author: Mel Gorman Date: Tue Jun 16 15:31:58 2009 -0700 page allocator: move check for disabled anti-fragmentation out of fastpath On low-memory systems, anti-fragmentation gets disabled as there is nothing it can do and it would just incur overhead shuffling pages between lists constantly. Currently the check is made in the free page fast path for every page. This patch moves it to a slow path. On machines with low memory, there will be small amount of additional overhead as pages get shuffled between lists but it should quickly settle. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11e33f6a55ed7847d9c8ffe185ef87faf7806abe Author: Mel Gorman Date: Tue Jun 16 15:31:57 2009 -0700 page allocator: break up the allocator entry point into fast and slow paths The core of the page allocator is one giant function which allocates memory on the stack and makes calculations that may not be needed for every allocation. This patch breaks up the allocator path into fast and slow paths for clarity. Note the slow paths are still inlined but the entry is marked unlikely. If they were not inlined, it actally increases text size to generate the as there is only one call site. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f82af9742a9346794ecc1515139daed480e7025 Author: Mel Gorman Date: Tue Jun 16 15:31:56 2009 -0700 page allocator: check only once if the zonelist is suitable for the allocation It is possible with __GFP_THISNODE that no zones are suitable. This patch makes sure the check is only made once. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6484eb3e2a81807722c5f28efef94d8338b7b996 Author: Mel Gorman Date: Tue Jun 16 15:31:54 2009 -0700 page allocator: do not check NUMA node ID when the caller knows the node is valid Callers of alloc_pages_node() can optionally specify -1 as a node to mean "allocate from the current node". However, a number of the callers in fast paths know for a fact their node is valid. To avoid a comparison and branch, this patch adds alloc_pages_exact_node() that only checks the nid with VM_BUG_ON(). Callers that know their node is valid are then converted. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Acked-by: Paul Mundt [for the SLOB NUMA bits] Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3c466ce512923298ae8c0121d3e9f397a3f1210 Author: Mel Gorman Date: Tue Jun 16 15:31:53 2009 -0700 page allocator: do not sanity check order in the fast path No user of the allocator API should be passing in an order >= MAX_ORDER but we check for it on each and every allocation. Delete this check and make it a VM_BUG_ON check further down the call path. [akpm@linux-foundation.org: s/VM_BUG_ON/WARN_ON_ONCE/] Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d239171e4f6efd58d7e423853056b1b6a74f1446 Author: Mel Gorman Date: Tue Jun 16 15:31:52 2009 -0700 page allocator: replace __alloc_pages_internal() with __alloc_pages_nodemask() The start of a large patch series to clean up and optimise the page allocator. The performance improvements are in a wide range depending on the exact machine but the results I've seen so fair are approximately; kernbench: 0 to 0.12% (elapsed time) 0.49% to 3.20% (sys time) aim9: -4% to 30% (for page_test and brk_test) tbench: -1% to 4% hackbench: -2.5% to 3.45% (mostly within the noise though) netperf-udp -1.34% to 4.06% (varies between machines a bit) netperf-tcp -0.44% to 5.22% (varies between machines a bit) I haven't sysbench figures at hand, but previously they were within the -0.5% to 2% range. On netperf, the client and server were bound to opposite number CPUs to maximise the problems with cache line bouncing of the struct pages so I expect different people to report different results for netperf depending on their exact machine and how they ran the test (different machines, same cpus client/server, shared cache but two threads client/server, different socket client/server etc). I also measured the vmlinux sizes for a single x86-based config with CONFIG_DEBUG_INFO enabled but not CONFIG_DEBUG_VM. The core of the .config is based on the Debian Lenny kernel config so I expect it to be reasonably typical. This patch: __alloc_pages_internal is the core page allocator function but essentially it is an alias of __alloc_pages_nodemask. Naming a publicly available and exported function "internal" is also a big ugly. This patch renames __alloc_pages_internal() to __alloc_pages_nodemask() and deletes the old nodemask function. Warning - This patch renames an exported symbol. No kernel driver is affected by external drivers calling __alloc_pages_internal() should change the call to __alloc_pages_nodemask() without any alteration of parameters. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0db4664b49417d80988953e69c323721353227 Author: Hugh Dickins Date: Tue Jun 16 15:31:50 2009 -0700 mm: alloc_large_system_hash check order On an x86_64 with 4GB ram, tcp_init()'s call to alloc_large_system_hash(), to allocate tcp_hashinfo.ehash, is now triggering an mmotm WARN_ON_ONCE on order >= MAX_ORDER - it's hoping for order 11. alloc_large_system_hash() had better make its own check on the order. Signed-off-by: Hugh Dickins Cc: David Miller Cc: Mel Gorman Cc: Eric Dumazet Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58568d2a8215cb6f55caf2332017d7bdff954e1c Author: Miao Xie Date: Tue Jun 16 15:31:49 2009 -0700 cpuset,mm: update tasks' mems_allowed in time Fix allocating page cache/slab object on the unallowed node when memory spread is set by updating tasks' mems_allowed after its cpuset's mems is changed. In order to update tasks' mems_allowed in time, we must modify the code of memory policy. Because the memory policy is applied in the process's context originally. After applying this patch, one task directly manipulates anothers mems_allowed, and we use alloc_lock in the task_struct to protect mems_allowed and memory policy of the task. But in the fast path, we didn't use lock to protect them, because adding a lock may lead to performance regression. But if we don't add a lock,the task might see no nodes when changing cpuset's mems_allowed to some non-overlapping set. In order to avoid it, we set all new allowed nodes, then clear newly disallowed ones. [lee.schermerhorn@hp.com: The rework of mpol_new() to extract the adjusting of the node mask to apply cpuset and mpol flags "context" breaks set_mempolicy() and mbind() with MPOL_PREFERRED and a NULL nodemask--i.e., explicit local allocation. Fix this by adding the check for MPOL_PREFERRED and empty node mask to mpol_new_mpolicy(). Remove the now unneeded 'nodes = NULL' from mpol_new(). Note that mpol_new_mempolicy() is always called with a non-NULL 'nodes' parameter now that it has been removed from mpol_new(). Therefore, we don't need to test nodes for NULL before testing it for 'empty'. However, just to be extra paranoid, add a VM_BUG_ON() to verify this assumption.] [lee.schermerhorn@hp.com: I don't think the function name 'mpol_new_mempolicy' is descriptive enough to differentiate it from mpol_new(). This function applies cpuset set context, usually constraining nodes to those allowed by the cpuset. However, when the 'RELATIVE_NODES flag is set, it also translates the nodes. So I settled on 'mpol_set_nodemask()', because the comment block for mpol_new() mentions that we need to call this function to "set nodes". Some additional minor line length, whitespace and typo cleanup.] Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 950592f7b991f267d707d372b90f508bbe72acbc Author: Miao Xie Date: Tue Jun 16 15:31:47 2009 -0700 cpusets: update tasks' page/slab spread flags in time Fix the bug that the kernel didn't spread page cache/slab object evenly over all the allowed nodes when spread flags were set by updating tasks' page/slab spread flags in time. Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3b39d47ebc51416fc3b690a32dfe030a2035e67 Author: Miao Xie Date: Tue Jun 16 15:31:46 2009 -0700 cpusets: restructure the function cpuset_update_task_memory_state() The kernel still allocates the page caches on old node after modifying its cpuset's mems when 'memory_spread_page' was set, or it didn't spread the page cache evenly over all the nodes that faulting task is allowed to usr after memory_spread_page was set. it is caused by the old mem_allowed and flags of the task, the current kernel doesn't updates them unless some function invokes cpuset_update_task_memory_state(), it is too late sometimes.We must update the mem_allowed and the flags of the tasks in time. Slab has the same problem. The following patches fix this bug by updating tasks' mem_allowed and spread flag after its cpuset's mems or spread flag is changed. This patch: Extract a function from cpuset_update_task_memory_state(). It will be used later for update tasks' page/slab spread flags after its cpuset's flag is set Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf975d58565880a134afb13bde511d1b873ce79 Author: H Hartley Sweeten Date: Tue Jun 16 15:31:44 2009 -0700 mm/page-writeback.c: dirty limit type should be unsigned long get_dirty_limits() calls clip_bdi_dirty_limit() and task_dirty_limit() with variable pbdi_dirty as one of the arguments. This variable is an unsigned long * but both functions expect it to be a long *. This causes the following sparse warnings: warning: incorrect type in argument 3 (different signedness) expected long *pbdi_dirty got unsigned long *pbdi_dirty warning: incorrect type in argument 2 (different signedness) expected long *pdirty got unsigned long *pbdi_dirty Fix the warnings by changing the long * to unsigned long * in both functions. Signed-off-by: H Hartley Sweeten Cc: Johannes Weiner Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78dc583d3ab43115579cb5f3f7bd12e3548dd5a5 Author: KOSAKI Motohiro Date: Tue Jun 16 15:31:40 2009 -0700 vmscan: low order lumpy reclaim also should use PAGEOUT_IO_SYNC Commit 33c120ed2843090e2bd316de1588b8bf8b96cbde ("more aggressively use lumpy reclaim") increased how aggressive lumpy reclaim was by isolating both active and inactive pages for asynchronous lumpy reclaim on costly-high-order pages and for cheap-high-order when memory pressure is high. However, if the system is under heavy pressure and there are dirty pages, asynchronous IO may not be sufficient to reclaim a suitable page in time. This patch causes the caller to enter synchronous lumpy reclaim for costly-high-order pages and for cheap-high-order pages when under memory pressure. Minchan.kim@gmail.com said: Andy added synchronous lumpy reclaim with c661b078fd62abe06fd11fab4ac5e4eeafe26b6d. At that time, lumpy reclaim is not agressive. His intension is just for high-order users.(above PAGE_ALLOC_COSTLY_ORDER). After some time, Rik added aggressive lumpy reclaim with 33c120ed2843090e2bd316de1588b8bf8b96cbde. His intention was to do lumpy reclaim when high-order users and trouble getting a small set of contiguous pages. So we also have to add synchronous pageout for small set of contiguous pages. Cc: Lee Schermerhorn Cc: Andy Whitcroft Acked-by: Peter Zijlstra Cc: Rik van Riel Signed-off-by: KOSAKI Motohiro Reviewed-by: Minchan Kim Reviewed-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2bf6be8ab63aa84e6149aac934649aadf3828b1 Author: Nick Piggin Date: Tue Jun 16 15:31:39 2009 -0700 mm: clean up get_user_pages_fast() documentation Move more documentation for get_user_pages_fast into the new kerneldoc comment. Add some comments for get_user_pages as well. Also, move get_user_pages_fast declaration up to get_user_pages. It wasn't there initially because it was once a static inline function. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nick Piggin Cc: Andy Grover Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ffc59b4d0bdfa00e882339f85b8a969bb7021e2 Author: Wu Fengguang Date: Tue Jun 16 15:31:38 2009 -0700 readahead: enforce full sync mmap readahead size Now that we do readahead for sequential mmap reads, here is a simple evaluation of the impacts, and one further optimization. It's an NFS-root debian desktop system, readahead size = 60 pages. The numbers are grabbed after a fresh boot into console. approach pgmajfault RA miss ratio mmap IO count avg IO size(pages) A 383 31.6% 383 11 B 225 32.4% 390 11 C 224 32.6% 307 13 case A: mmap sync/async readahead disabled case B: mmap sync/async readahead enabled, with enforced full async readahead size case C: mmap sync/async readahead enabled, with enforced full sync/async readahead size or: A = vanilla 2.6.30-rc1 B = A plus mmap readahead C = B plus this patch The numbers show that - there are good possibilities for random mmap reads to trigger readahead - 'pgmajfault' is reduced by 1/3, due to the _async_ nature of readahead - case C can further reduce IO count by 1/4 - readahead miss ratios are not quite affected The theory is - readahead is _good_ for clustered random reads, and can perform _better_ than readaround because they could be _async_. - async readahead size is guaranteed to be larger than readaround size, and they are _async_, hence will mostly behave better However for B - sync readahead size could be smaller than readaround size, hence may make things worse by produce more smaller IOs which will be fixed by this patch. Final conclusion: - mmap readahead reduced major faults by 1/3 and no obvious overheads; - mmap io can be further reduced by 1/4 with this patch. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61b7cbdba2f3c588a0cf3db574c562805454b09b Author: Wu Fengguang Date: Tue Jun 16 15:31:36 2009 -0700 readahead: remove redundant test in shrink_readahead_size_eio() Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10be0b372cac50e2e7a477852f98bf069a97a3fa Author: Wu Fengguang Date: Tue Jun 16 15:31:36 2009 -0700 readahead: introduce context readahead algorithm Introduce page cache context based readahead algorithm. This is to better support concurrent read streams in general. RATIONALE --------- The current readahead algorithm detects interleaved reads in a _passive_ way. Given a sequence of interleaved streams 1,1001,2,1002,3,4,1003,5,1004,1005,6,... By checking for (offset == prev_offset + 1), it will discover the sequentialness between 3,4 and between 1004,1005, and start doing sequential readahead for the individual streams since page 4 and page 1005. The context readahead algorithm guarantees to discover the sequentialness no matter how the streams are interleaved. For the above example, it will start sequential readahead since page 2 and 1002. The trick is to poke for page @offset-1 in the page cache when it has no other clues on the sequentialness of request @offset: if the current requenst belongs to a sequential stream, that stream must have accessed page @offset-1 recently, and the page will still be cached now. So if page @offset-1 is there, we can take request @offset as a sequential access. BENEFICIARIES ------------- - strictly interleaved reads i.e. 1,1001,2,1002,3,1003,... the current readahead will take them as silly random reads; the context readahead will take them as two sequential streams. - cooperative IO processes i.e. NFS and SCST They create a thread pool, farming off (sequential) IO requests to different threads which will be performing interleaved IO. It was not easy(or possible) to reliably tell from file->f_ra all those cooperative processes working on the same sequential stream, since they will have different file->f_ra instances. And NFSD's file->f_ra is particularly unusable, since their file objects are dynamically created for each request. The nfsd does have code trying to restore the f_ra bits, but not satisfactory. The new scheme is to detect the sequential pattern via looking up the page cache, which provides one single and consistent view of the pages recently accessed. That makes sequential detection for cooperative processes possible. USER REPORT ----------- Vladislav recommends the addition of context readahead as a result of his SCST benchmarks. It leads to 6%~40% performance gains in various cases and achieves equal performance in others. http://lkml.org/lkml/2009/3/19/239 OVERHEADS --------- In theory, it introduces one extra page cache lookup per random read. However the below benchmark shows context readahead to be slightly faster, wondering.. Randomly reading 200MB amount of data on a sparse file, repeat 20 times for each block size. The average throughputs are: original ra context ra gain 4K random reads: 65.561MB/s 65.648MB/s +0.1% 16K random reads: 124.767MB/s 124.951MB/s +0.1% 64K random reads: 162.123MB/s 162.278MB/s +0.1% Cc: Jens Axboe Cc: Jeff Moyer Tested-by: Vladislav Bolkhovitin Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045a2529a3513faed2d45bd82f9013b124309d94 Author: Wu Fengguang Date: Tue Jun 16 15:31:33 2009 -0700 readahead: move the random read case to bottom Split all readahead cases, and move the random one to bottom. No behavior changes. This is to prepare for the introduction of context readahead, and make it easy for inserting accounting/tracing points for each case. Signed-off-by: Wu Fengguang Cc: Vladislav Bolkhovitin Cc: Jens Axboe Cc: Jeff Moyer Cc: Nick Piggin Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc566127dd161b6c997466a2349ac179527ea89b Author: Wu Fengguang Date: Tue Jun 16 15:31:32 2009 -0700 radix-tree: add radix_tree_prev_hole() The counterpart of radix_tree_next_hole(). To be used by context readahead. Signed-off-by: Wu Fengguang Cc: Vladislav Bolkhovitin Cc: Jens Axboe Cc: Jeff Moyer Cc: Nick Piggin Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d30a11004e3411909f2448546f036a011978062e Author: Wu Fengguang Date: Tue Jun 16 15:31:30 2009 -0700 readahead: record mmap read-around states in file_ra_state Mmap read-around now shares the same code style and data structure with readahead code. This also removes do_page_cache_readahead(). Its last user, mmap read-around, has been changed to call ra_submit(). The no-readahead-if-congested logic is dumped by the way. Users will be pretty sensitive about the slow loading of executables. So it's unfavorable to disabled mmap read-around on a congested queue. [akpm@linux-foundation.org: coding-style fixes] Cc: Nick Piggin Signed-off-by: Fengguang Wu Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fad6f5deee5556f511eab58da78737a23ddb35d Author: Wu Fengguang Date: Tue Jun 16 15:31:29 2009 -0700 readahead: enforce full readahead size on async mmap readahead We need this in one particular case and two more general ones. Now we do async readahead for sequential mmap reads, and do it with the help of PG_readahead. For normal reads, PG_readahead is the sufficient condition to do a sequential readahead. But unfortunately, for mmap reads, there is a tiny nuisance: [11736.998347] readahead-init0(process: sh/23926, file: sda1/w3m, offset=0:4503599627370495, ra=0+4-3) = 4 [11737.014985] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, ra=290+32-0) = 17 [11737.019488] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, ra=118+32-0) = 32 [11737.024921] readahead-interleaved(process: w3m/23926, file: sda1/w3m, offset=0:2, ra=4+6-6) = 6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ An unfavorably small readahead. The original dumb read-around size could be more efficient. That happened because ld-linux.so does a read(832) in L1 before mmap(), which triggers a 4-page readahead, with the second page tagged PG_readahead. L0: open("/lib/libc.so.6", O_RDONLY) = 3 L1: read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\342"..., 832) = 832 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L2: fstat(3, {st_mode=S_IFREG|0755, st_size=1420624, ...}) = 0 L3: mmap(NULL, 3527256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fac6e51d000 L4: mprotect(0x7fac6e671000, 2097152, PROT_NONE) = 0 L5: mmap(0x7fac6e871000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x154000) = 0x7fac6e871000 L6: mmap(0x7fac6e876000, 16984, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fac6e876000 L7: close(3) = 0 In general, the PG_readahead flag will also be hit in cases - sequential reads - clustered random reads A full readahead size is desirable in both cases. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70ac23cfa31f68289d4b720c6162b3929ab4de36 Author: Wu Fengguang Date: Tue Jun 16 15:31:28 2009 -0700 readahead: sequential mmap readahead Auto-detect sequential mmap reads and do readahead for them. The sequential mmap readahead will be triggered when - sync readahead: it's a major fault and (prev_offset == offset-1); - async readahead: minor fault on PG_readahead page with valid readahead state. The benefits of doing readahead instead of read-around: - less I/O wait thanks to async readahead - double real I/O size and no more cache hits The single stream case is improved a little. For 100,000 sequential mmap reads: user system cpu total (1-1) plain -mm, 128KB readaround: 3.224 2.554 48.40% 11.838 (1-2) plain -mm, 256KB readaround: 3.170 2.392 46.20% 11.976 (2) patched -mm, 128KB readahead: 3.117 2.448 47.33% 11.607 The patched (2) has smallest total time, since it has no cache hit overheads and less I/O block time(thanks to async readahead). Here the I/O size makes no much difference, since there's only one single stream. Note that (1-1)'s real I/O size is 64KB and (1-2)'s real I/O size is 128KB, since the half of the read-around pages will be readahead cache hits. This is going to make _real_ differences for _concurrent_ IO streams. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef00e08e26dd5d84271ef706262506b82195e752 Author: Linus Torvalds Date: Tue Jun 16 15:31:25 2009 -0700 readahead: clean up and simplify the code for filemap page fault readahead This shouldn't really change behavior all that much, but the single rather complex function with read-ahead inside a loop etc is broken up into more manageable pieces. The behaviour is also less subtle, with the read-ahead being done up-front rather than inside some subtle loop and thus avoiding the now unnecessary extra state variables (ie "did_readaround" is gone). Fengguang: the code split in fact fixed a bug reported by Pavel Levshin: the PGMAJFAULT accounting used to be bypassed when MADV_RANDOM is set, in which case the original code will directly jump to no_cached_page reading. Cc: Pavel Levshin Cc: Cc: Nick Piggin Signed-off-by: Wu Fengguang Signed-off-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51daa88ebd8e0d437289f589af29d4b39379ea76 Author: Wu Fengguang Date: Tue Jun 16 15:31:24 2009 -0700 readahead: remove sync/async readahead call dependency The readahead call scheme is error-prone in that it expects the call sites to check for async readahead after doing a sync one. I.e. if (!page) page_cache_sync_readahead(); page = find_get_page(); if (page && PageReadahead(page)) page_cache_async_readahead(); This is because PG_readahead could be set by a sync readahead for the _current_ newly faulted in page, and the readahead code simply expects one more callback on the same page to start the async readahead. If the caller fails to do so, it will miss the PG_readahead bits and never able to start an async readahead. Eliminate this insane constraint by piggy-backing the async part into the current readahead window. Now if an async readahead should be started immediately after a sync one, the readahead logic itself will do it. So the following code becomes valid: (the 'else' in particular) if (!page) page_cache_sync_readahead(); else if (PageReadahead(page)) page_cache_async_readahead(); Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 160334a0cfa8e578b718f81038026326845d07d7 Author: Wu Fengguang Date: Tue Jun 16 15:31:23 2009 -0700 readahead: increase interleaved readahead size Make sure interleaved readahead size is larger than request size. This also makes the readahead window grow up more quickly. Reported-by: Xu Chenfeng Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caca7cb748571a5b39943a9b3e7081feef055e5e Author: Wu Fengguang Date: Tue Jun 16 15:31:21 2009 -0700 readahead: remove one unnecessary radix tree lookup (hit_readahead_marker != 0) means the page at @offset is present, so we can search for non-present page starting from @offset+1. Reported-by: Xu Chenfeng Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc31d16add13773265cc53d59f2e7594cb3c0a14 Author: Wu Fengguang Date: Tue Jun 16 15:31:21 2009 -0700 readahead: apply max_sane_readahead() limit in ondemand_readahead() Just in case someone aggressively sets a huge readahead size. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7e839dd36fd940b0202cfb7d39b2a1b2dc59b1b Author: Wu Fengguang Date: Tue Jun 16 15:31:20 2009 -0700 readahead: move max_sane_readahead() calls into force_page_cache_readahead() Impact: code simplification. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ebf26a9b338534def47f307c6c8694b6dfc0a79 Author: Wu Fengguang Date: Tue Jun 16 15:31:19 2009 -0700 readahead: make mmap_miss an unsigned int This makes the performance impact of possible mmap_miss wrap around to be temporary and tolerable: i.e. MMAP_LOTSAMISS=100 extra readarounds. Otherwise if ever mmap_miss wraps around to negative, it takes INT_MAX cache misses to bring it back to normal state. During the time mmap readaround will be _enabled_ for whatever wild random workload. That's almost permanent performance impact. Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb1f17b0372de93758653ca3454bc0df18dc2e5c Author: Alexey Dobriyan Date: Tue Jun 16 15:31:18 2009 -0700 mm: consolidate init_mm definition * create mm/init-mm.c, move init_mm there * remove INIT_MM, initialize init_mm with C99 initializer * unexport init_mm on all arches: init_mm is already unexported on x86. One strange place is some OMAP driver (drivers/video/omap/) which won't build modular, but it's already wants get_vm_area() export. Somebody should look there. [akpm@linux-foundation.org: add missing #includes] Signed-off-by: Alexey Dobriyan Cc: Mike Frysinger Cc: Americo Wang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0fde0fac19c180317eb0601b3504083f4b9bf5 Author: Yinghai Lu Date: Tue Jun 16 15:31:16 2009 -0700 firmware_map: fix hang with x86/32bit Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13484 Peer reported: | The bug is introduced from kernel 2.6.27, if E820 table reserve the memory | above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000 | (reserved)), system will report Int 6 error and hang up. The bug is caused by | the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit | variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6 | error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this | bug. |====== |static int firmware_map_add_entry(resource_size_t start, resource_size_t end, | const char *type, | struct firmware_map_entry *entry) and it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set. it turns out we need to pass u64 instead of resource_size_t for that. [akpm@linux-foundation.org: add comment] Reported-and-tested-by: Peer Chen Signed-off-by: Yinghai Lu Cc: Ingo Molnar Acked-by: H. Peter Anvin Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021415468c889979117b1a07b96f7e36de33e995 Author: Roel Kluin Date: Tue Jun 16 15:31:15 2009 -0700 spi: takes size of a pointer to determine the size of the pointed-to type Do not take the size of a pointer to determine the size of the pointed-to type. Signed-off-by: Roel Kluin Acked-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Acked-by: Grant Likely Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08604bd9935dc98fb62ef61d5b7baa7ccc10f8c2 Author: Arnd Bergmann Date: Tue Jun 16 15:31:12 2009 -0700 time: move PIT_TICK_RATE to linux/timex.h PIT_TICK_RATE is currently defined in four architectures, but in three different places. While linux/timex.h is not the perfect place for it, it is still a reasonable replacement for those drivers that traditionally use asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency. Note that for Alpha, the actual value changed from 1193182UL to 1193180UL. This is unlikely to make a difference, and probably can only improve accuracy. There was a discussion on the correct value of CLOCK_TICK_RATE a few years ago, after which every existing instance was getting changed to 1193182. According to the specification, it should be 1193181.818181... Signed-off-by: Arnd Bergmann Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Len Brown Cc: john stultz Cc: Dmitry Torokhov Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f01789c68882d846946cf9b972cf090b283d1f73 Author: Paul Mundt Date: Wed Jun 17 10:43:13 2009 +0900 sh: Use generic atomic64_t implementation. Signed-off-by: Paul Mundt commit c6a9d7b55e2df63de012a9a285bf2a0bee8e4d59 Author: Steven Rostedt Date: Thu Jun 11 09:49:15 2009 -0400 ring-buffer: remove useless warn on check A check if "write > BUF_PAGE_SIZE" is done right after a if (write > BUF_PAGE_SIZE) return ...; Thus the check is actually testing the compiler and not the kernel. This is useless, remove it. Signed-off-by: Steven Rostedt commit 22f470f8daea64bc03be1fe30c8c5df382295386 Author: Steven Rostedt Date: Thu Jun 11 09:29:58 2009 -0400 ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index The index of the event is found by masking PAGE_MASK to it and subtracting the header size. Currently the header size is calculate by PAGE_SIZE - BUF_PAGE_SIZE, when we already have a macro BUF_PAGE_HDR_SIZE to define it. If we want to change BUF_PAGE_SIZE to something less than filling the rest of the page (this is done for debugging), then we break the algorithm to find the index. Signed-off-by: Steven Rostedt commit 28b4868820a56de661f54742ff91b78e12f1e582 Author: H. Peter Anvin Date: Tue Jun 16 17:39:04 2009 -0700 x86, boot: use .code16gcc instead of .code16 Use .code16gcc to compile arch/x86/boot/bioscall.S rather than .code16, since some older versions of binutils can't generate 32-bit addressing expressions (67 prefixes) in .code16 mode, only in .code16gcc mode. Reported-by: Tetsuo Handa Signed-off-by: H. Peter Anvin commit e2a7147640a54eb812c8ab5f3ee4424b92db4856 Author: Cliff Wickman Date: Tue Jun 16 16:43:40 2009 -0500 x86: correct the conversion of EFI memory types This patch causes all the EFI_RESERVED_TYPE memory reservations to be recorded in the e820 table as type E820_RESERVED. (This patch replaces one called 'x86: vendor reserved memory type'. This version has been discussed a bit with Peter and Yinghai but not given a final opinion.) Without this patch EFI_RESERVED_TYPE memory reservations may be marked usable in the e820 table. There may be a collision between kernel use and some reserver's use of this memory. (An example use of this functionality is the UV system, which will access extremely large areas of memory with a memory engine that allows a user to address beyond the processor's range. Such areas are reserved in the EFI table by the BIOS. Some loaders have a restricted number of entries possible in the e820 table, hence the need to record the reservations in the unrestricted EFI table.) The call to do_add_efi_memmap() is only made if "add_efi_memmap" is specified on the kernel command line. Signed-off-by: Cliff Wickman Signed-off-by: H. Peter Anvin commit 95ee14e4379c5e19c0897c872350570402014742 Author: H. Peter Anvin Date: Tue Jun 9 18:20:39 2009 -0700 x86: cap iomem_resource to addressable physical memory iomem_resource is by default initialized to -1, which means 64 bits of physical address space if 64-bit resources are enabled. However, x86 CPUs cannot address 64 bits of physical address space. Thus, we want to cap the physical address space to what the union of all CPU can actually address. Without this patch, we may end up assigning inaccessible values to uninitialized 64-bit PCI memory resources. Signed-off-by: H. Peter Anvin Cc: Matthew Wilcox Cc: Jesse Barnes Cc: Martin Mares Cc: stable@kernel.org commit 492b057c426e4aa747484958e18e9da29003985d Merge: 3134851 300df7d Author: Benjamin Herrenschmidt Date: Wed Jun 17 10:24:53 2009 +1000 Merge commit 'origin/master' into next commit 1af0815f9639752409a9c15ba6a3dc0f322fd114 Author: Hidetoshi Seto Date: Mon Jun 15 17:28:38 2009 +0900 x86, mce: rename _64.c files which are no longer 64-bit-specific Rename files that are no longer 64bit specific: mce_amd_64.c => mce_amd.c mce_intel_64.c => mce_intel.c Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 58995d2d58e8e555bc92582abe7554921deea3aa Author: Hidetoshi Seto Date: Mon Jun 15 17:27:47 2009 +0900 x86, mce: mce.h cleanup Reorder definitions. - static inline dummy mcheck_init() for !CONFIG_X86_MCE - gather defs for exception, threshold handler Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1149e7264528723b8c3b075a90386ceb2e07070a Author: Hidetoshi Seto Date: Mon Jun 15 17:27:13 2009 +0900 x86, mce: remove therm_throt.h Now all symbols in the header are static. Remove the header. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8363fc82d36c0886292e33925391dca93f03bd50 Author: Hidetoshi Seto Date: Mon Jun 15 17:26:36 2009 +0900 x86, mce: remove intel_set_thermal_handler() and make intel_thermal_interrupt() static. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 895287c0a6aa571160c47ee10de11b542166c4f9 Author: Hidetoshi Seto Date: Mon Jun 15 17:26:10 2009 +0900 x86, mce: squash mce_intel.c into therm_throt.c move intel_init_thermal() into therm_throt.c Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a65c88dd2c83b569dbd13778da689861bdf977f2 Author: Hidetoshi Seto Date: Mon Jun 15 17:25:27 2009 +0900 x86, mce: unify smp_thermal_interrupt Put common functions into therm_throt.c, modify Makefile. unexpected_thermal_interrupt intel_thermal_interrupt smp_thermal_interrupt intel_set_thermal_handler Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit e8ce2c5ee826b3787202493effcd08d4b1e1e639 Author: Hidetoshi Seto Date: Mon Jun 15 17:24:40 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare Let them in same shape. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5335612a574a45beab14193ec641ed2f45e7a523 Author: Hidetoshi Seto Date: Mon Jun 15 17:24:09 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare mce_intel_64 Break smp_thermal_interrupt() into two functions. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3adacb70d32046ccc9f0333b50bb2ba1582ccdf4 Author: Hidetoshi Seto Date: Mon Jun 15 17:23:28 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare p4 Remove unused argument regs from handlers, and use inc_irq_stat. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit c697836985e18d9c34897428ba563b13044a6dcd Author: Hidetoshi Seto Date: Mon Jun 15 17:22:49 2009 +0900 x86, mce: make mce_disabled boolean The mce_disabled on 32bit is a tristate variable [1,0,-1], while 64bit version is boolean [0,1]. This patch makes mce_disabled always boolean, and use mce_p5_enabled to indicate the third state instead. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9e55e44e39798541ba39d57f4b569deb555ae1ce Author: Hidetoshi Seto Date: Mon Jun 15 17:22:15 2009 +0900 x86, mce: unify mce.h There are 2 headers: arch/x86/include/asm/mce.h arch/x86/kernel/cpu/mcheck/mce.h and in the latter small header: #include This patch move all contents in the latter header into the former, and fix all files using the latter to include the former instead. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9af43b54ab4509f1dac49637d6917d57292e6518 Author: Hidetoshi Seto Date: Mon Jun 15 17:21:36 2009 +0900 x86, mce: sysfs entries for new mce options Add sysfs interface for admins who want to tweak these options without rebooting the system. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1020bcbcc7da36001d9226c5d57e999949cb80c5 Author: Hidetoshi Seto Date: Mon Jun 15 17:20:57 2009 +0900 x86, mce: rename static variables around trigger "trigger" is not straight forward name for valiable that holds name of user mode helper program which triggered by machine check events. This patch renames this valiable and kins to more recognizable names. trigger => mce_helper trigger_argv => mce_helper_argv notify_user => mce_need_notify No functional changes. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4e5b3e690dda890523e93af9c545261f5916a3a6 Author: Hidetoshi Seto Date: Mon Jun 15 17:20:20 2009 +0900 x86, mce: add __read_mostly Add __read_mostly to data written during setup. Suggested-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 7fb06fc9672b947424e05871243a4c8e19ec3bce Author: Hidetoshi Seto Date: Mon Jun 15 18:18:43 2009 +0900 x86, mce: cleanup mce_start() Simplify interface of mce_start(): - no_way_out = mce_start(no_way_out, &order); + order = mce_start(&no_way_out); Now Monarch and Subjects share same exit(return) in usual path. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 33edbf02a92771fa2a81e41084a44ba874e3a5a5 Author: Hidetoshi Seto Date: Mon Jun 15 17:18:45 2009 +0900 x86, mce: don't init timer if !mce_available In mce_cpu_restart, mce_init_timer is called unconditionally. If !mce_available (e.g. mce is disabled), there are no useful work for timer. Stop running it. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 184e1fdfea066ab8f12a1e8912f402d2d6556d11 Author: Huang Ying Date: Mon Jun 15 15:37:07 2009 +0800 x86, mce: fix a race condition about mce_callin and no_way_out If one CPU has no_way_out == 1, all other CPUs should have no_way_out == 1. But despite global_nwo is read after mce_callin, global_nwo is updated after mce_callin too. So it is possible that some CPU read global_nwo before some other CPU update global_nwo, so that no_way_out == 1 for some CPU, while no_way_out == 0 for some other CPU. This patch fixes this race condition via moving mce_callin updating after global_nwo updating, with a smp_wmb in between. A smp_rmb is added between their reading too. Signed-off-by: Huang Ying Acked-by: Andi Kleen Acked-by: Hidetoshi Seto commit 44ad18e0a65e296b2e68a1452509f6222cdce743 Author: Steven Rostedt Date: Tue Jun 16 19:53:07 2009 -0400 tracing: update sample event documentation The comments in the sample code is a bit confusing. This patch cleans them up a little. Signed-off-by: Steven Rostedt commit 8eeee4e2f04fc551f50c9d9847da2d73d7d33728 Author: Oleg Nesterov Date: Wed Jun 17 00:27:10 2009 +0200 send_sigio_to_task: sanitize the usage of fown->signum send_sigio_to_task() reads fown->signum several times, we can race with F_SETSIG which changes ->signum lockless. In theory, this can fool security checks or we can call group_send_sig_info() with the wrong ->si_signo which does not match "int sig". Change the code to cache ->signum. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 11c635a25b9f3a5d87409ce46cf2e05c500251ec Author: Hans de Goede Date: Mon May 25 15:04:22 2009 -0300 V4L/DVB (11870): gspca - main: VIDIOC_ENUM_FRAMESIZES ioctl added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9fd6418a6a7655b69cfa0ae27a3639a6d0b2924f Author: Figo.zhang Date: Tue Jun 16 13:31:29 2009 -0300 V4L/DVB (12004): poll method lose race condition bttv-driver.c,cx23885-video.c,cx88-video.c: poll method lose race condition for capture video. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 1c905a4522a3913cf321365c5bb62eb2f70d55d9 Author: Matthias Schwarzott Date: Fri May 22 07:19:14 2009 -0300 V4L/DVB (11894): flexcop-pci: dmesg visible names broken Changeset 1589a993f074124c3edfff03656e910bb472eeaa broke user visible names of flexcop-pci devices, as it did reorder the enum of card types, but did not adjust the array containing the card names. Reorder the names, and uses [FC_AIR_DVBT] = "Air2PC/AirStar 2 DVB-T" assignment style for more clarity. It also adds the revision Number to the name for SkyStar rev. 2.3 and rev 2.6 as I think it is useful to see in log output. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit d95e9883ce28c23cb852d599bf0a0889527c1d09 Author: Uri Shkolnik Date: Tue May 19 12:56:16 2009 -0300 V4L/DVB (11892): Siano: smsendian - declare function as extern Declare the object function as 'extern' Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 34601caa64e11b8fa5e9a03d74cc1df0af32e2ca Author: Uri Shkolnik Date: Tue May 19 12:52:58 2009 -0300 V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol Bind SMS protocol commands to the GPIO commands Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 6675167cab92906a7b1d29faa3901716925d3af8 Author: Uri Shkolnik Date: Tue May 19 12:34:09 2009 -0300 V4L/DVB (11890): Siano: smscore - remove redundant code remove redundant code, which in the past handled the various components (now independent modules) registrations. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 4db989f7745778f9f0a4f823bd5932f108dd76ba Author: Uri Shkolnik Date: Tue May 19 12:28:02 2009 -0300 V4L/DVB (11889): Siano: smsdvb - add DVB v3 events Add various DVB-API v3 events, those events will trig target (card) events. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 07f56002c11897d663f6b1e74a564d821d4086a2 Author: Uri Shkolnik Date: Tue May 19 12:24:03 2009 -0300 V4L/DVB (11888): Siano: smsusb - remove redundant ifdef Remove a redundant ifdef Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 5b8db8978379be5e715803f89c03a2733fe8c8e8 Author: Uri Shkolnik Date: Tue May 19 12:18:40 2009 -0300 V4L/DVB (11887): Siano: smscards - add board (target) events Add events handling for targets. All board-specific (target specific) should reside here. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 4887f7b4ef8926fd8eb79a928d5f3c4ea25263b8 Author: Uri Shkolnik Date: Tue May 19 12:10:36 2009 -0300 V4L/DVB (11886): Siano: smscore - fix some new GPIO definitions names Fix some definitions' names, in order to emphasize the names Signed-off-by: Mauro Carvalho Chehab commit 7c4ca79f4969a5c5ffcf31a3ba01453821669ced Author: Uri Shkolnik Date: Tue May 19 11:49:19 2009 -0300 V4L/DVB (11885): Siano: Add new GPIO management interface Add new GPIO management interface to replace old (buggy) one. Keeping old interface intact for now. Signed-off-by: Uri Shkolnik Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit db9582a1e447daffec54a7172f6f824cfaed0a8e Author: Uri Shkolnik Date: Tue May 19 11:15:01 2009 -0300 V4L/DVB (11884): Siano: smssdio - revert to stand alone module Make the SDIO interface driver a stand alone module. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit d0b66180c3b288678853e31ec4330b2b5d01e2db Author: Uri Shkolnik Date: Tue May 19 09:51:41 2009 -0300 V4L/DVB (11883): Siano: cards - add two additional (USB) devices Add two additional USB targets, add these to the 'cards' modules and to the 'smsusb' module. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit bebfa762b171ffcfeeec08f3e677fa9076db6d4c Author: Uri Shkolnik Date: Sun May 17 09:28:55 2009 -0300 V4L/DVB (11824): Siano: smsusb - change exit func debug msg Change the debug message of the USB interface driver exit function. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 05a073769dbc5f4440d40880a26b76bc8e568c78 Author: Uri Shkolnik Date: Sun May 17 09:17:51 2009 -0300 V4L/DVB (11823): Siano: smsusb - fix typo in module description Fix small typo in the module description Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 5d2387e3cae1e70febc1bd805f248d6e13cb254f Author: Uri Shkolnik Date: Sun May 17 06:02:46 2009 -0300 V4L/DVB (11822): Siano: smscore - bug fix at get_device_mode Fix bug that cause error log to echo also if success Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 8cc8ef265015cee192fddad3801f09c9c750821b Author: Uri Shkolnik Date: Sun May 17 06:01:55 2009 -0300 V4L/DVB (11821): Siano: smscore - fix isdb-t firmware name Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 01abc0b07685137765ec36441adf66f7cfcaf654 Author: Uri Shkolnik Date: Sun May 17 06:01:03 2009 -0300 V4L/DVB (11820): Siano: smscore - fix byte ordering bug Fix byte ordering bug. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a9349315f65cd6a16e8fab1f6cf0fd40f379c4db Author: Uri Shkolnik Date: Sun May 17 05:59:37 2009 -0300 V4L/DVB (11819): Siano: smscore - fix get_common_buffer bug get common buffers() should block operation until valid buffer is avaliable. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 9504ccacd749ad98e1990c35acd94f7fceaa992e Author: Uri Shkolnik Date: Thu May 14 16:34:59 2009 -0300 V4L/DVB (11818): Siano: smscards - assign gpio to HPG targets Assign using the new gpio structures, i/o for exist HPG targets, without removing the old implementation. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 266b95a548c6707eac43ac8caac515348aa44efe Author: Uri Shkolnik Date: Thu May 14 16:33:37 2009 -0300 V4L/DVB (11817): Siano: smscards - fix wrong firmware assignment Remove wrong firmware assignments for Nova, Stellar Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a804800a29cbbe2881107df0a016b0b98a21cbbf Author: Uri Shkolnik Date: Thu May 14 16:29:35 2009 -0300 V4L/DVB (11816): Siano: USB - move the device id table to the cards module The card modules is the component which handles various targets, so the IDs table should reside within it. [mchehab@redhat.com: add missing smsendian.h include at smscoreapi.c] Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 90f944a38c4eb8432b6381fd0b9789f1f4600786 Author: Uri Shkolnik Date: Thu May 14 16:32:12 2009 -0300 V4L/DVB (11815): Siano: bind infra-red component Add the infra-red to the makefile and declare the assignment in the cards components. [mchehab@redhat.com: Fixed a few trivial merge conflicts] Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 3b2d18efd16d444ffd1ec50547ee6f1d66e3b57b Author: Uri Shkolnik Date: Thu May 14 16:31:23 2009 -0300 V4L/DVB (11814): Siano: smscards - add gpio look-up table Add gpio look-up table for various requirements, any target may select any gpio and assign it to a function Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit c9679e3b0c329fa090798d658e185ee788540353 Author: Uri Shkolnik Date: Thu May 14 16:28:17 2009 -0300 V4L/DVB (11813): Siano: move dvb-api headers' includes to dvb adapter Move the DVB-API v3 headers' include list from the core component to the smsdvb (DVB adapter) which is the only one that uses them. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 843d0605efa58f6e087cae074b22a2fb77506f6a Author: Uri Shkolnik Date: Tue May 12 13:13:13 2009 -0300 V4L/DVB (11783): Siano: smsdvb - small typo fix ad module author Fix type at the module description Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 793786d19a35c59a9379cb75da5b5d6bd052820d Author: Uri Shkolnik Date: Tue May 12 12:28:46 2009 -0300 V4L/DVB (11782): Siano: smsdvb - use 'push' status mechanism This patch replace the old method of pulling the device status by sending "get_statistics" request, to push mode. This make status update much faster, and reduce various operation time (UHF scan now takes 15s instead of 2m). In order to make the change the following modification have been applied: 1) core header - update statistics headers. 2) dvb adapter - omit the statistics request, add handling of status indications. 3) core 'onresponse' - re-route messages addressed to other adapter to the dvb adapter. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ba79bb2c381f01224786270d0914d46f31667cf0 Author: Uri Shkolnik Date: Tue May 12 11:37:09 2009 -0300 V4L/DVB (11781): Siano: smsdvb - add big endian support Add support for Siano protocol messages with big endian systems. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 2c5582e58ce2982fd64da21907dfad4061fc1f71 Author: Mauro Carvalho Chehab Date: Thu May 14 09:35:26 2009 -0300 V4L/DVB (11780): Siano: fix compilation error due to the lack of EXTERNAL_SYMBOL Cc: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 51819f6493f434598e89e8a66d6aa2c31bde494d Author: Uri Shkolnik Date: Tue May 12 10:38:58 2009 -0300 V4L/DVB (11779): Siano: Makefile - add smsendian to build Add smsendian component to the module build Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 8f12d0a4eb7c55837f0104c95c60933dc9c593db Author: Uri Shkolnik Date: Tue May 12 11:28:41 2009 -0300 V4L/DVB (11778): Siano: smsusb - lost buffers bug fix This patch fixes a problem were protocol buffers have been lost during USB disconnect events. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit c7ce8d37a738b64cafae07db4de021edf1feaa70 Author: Uri Shkolnik Date: Tue May 12 08:24:07 2009 -0300 V4L/DVB (11777): Siano: smsusb - handle byte ordering and big endianity This patch adds support for byte ordering and big endianity handling for the USB interface driver Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 6d4e6972bb9545f968359379aa5adff863aa4d7c Author: Uri Shkolnik Date: Tue May 12 07:57:54 2009 -0300 V4L/DVB (11776): Siano: smsusb - update license This patch updates the license of the USB interface driver Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 2e25d1428ae1a166954fb2cd0de422094a93fef1 Author: Uri Shkolnik Date: Mon Apr 27 09:12:37 2009 -0300 V4L/DVB (11729): Siano: smsdvb - remove redundent complete instruction Remove redundant complete instruction from smsdvb, in the past this was used by the statistics state machine, but no longer. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit e527579373ab3be045de16a627e43a193fcfacc0 Author: Uri Shkolnik Date: Mon Apr 27 09:09:47 2009 -0300 V4L/DVB (11728): Siano: smsdvb - modify license Siano: smsdvb - Fix license to match all other Siano's files Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit f95e82c2e5f0dbb9b6e9c7d03b0311c21b6b05b8 Author: Uri Shkolnik Date: Mon May 11 06:36:27 2009 -0300 V4L/DVB (11727): Siano: core header - update include files Re-order the include files list Re-order the include files list, put the DVB-API v3 within its own section, within a define container. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 1339f9108a84710969903e892dcf1849ae1215cf Author: Uri Shkolnik Date: Mon Apr 27 07:50:42 2009 -0300 V4L/DVB (11726): Modify the file license to match all other Siano's files Modify the file license to match all other Siano's files Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit cb17f9047d2c6f248f2f87f4783ca90db7b3f445 Author: Uri Shkolnik Date: Mon Apr 20 13:00:52 2009 -0300 V4L/DVB (11561): Siano: add messages handling for big-endian target Add code that modify the content of Siano's protocol messages when running with big-endian target. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ebb6c22e80ccb2889b9c459df36d686d223911f5 Author: Uri Shkolnik Date: Sun Apr 5 06:01:37 2009 -0300 V4L/DVB (11559): Siano: add support for infra-red (IR) controllers This patch add support for IR (infra-red) remote controllers. Further commits are needed in order to enable the activation of the IR components. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 53838e4b6126b225d2705a00614bd1de42e15f1d Author: Uri Shkolnik Date: Sun Apr 5 05:26:50 2009 -0300 V4L/DVB (11556): Siano: core header - indentation Some more indentation for the smscoreapi.h There are no implementation changes in this patch. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 7c57333dcc95b38827a78ef1660c453077bf63f8 Author: Uri Shkolnik Date: Sun Apr 5 05:21:23 2009 -0300 V4L/DVB (11555): Siano: core - move and update the main core structure declaration smscoreapi - move the main core structure declaration to the header, in order to enable other components (such as IR) to use it. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a6f231a88cb75324ce812a827077943e23d11448 Author: Uri Shkolnik Date: Sun Apr 5 05:12:51 2009 -0300 V4L/DVB (11554): Siano: core header - add definitions and structures Add new definitions (of Siano's protocol messages), and protocol structures (for future commits usage) Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit f762ee1a0d07d1fdbbc3fa13b39d46d74687a23a Author: Uri Shkolnik Date: Mon Apr 20 11:35:06 2009 -0300 V4L/DVB (11552): Siano: SDIO interface driver - remove two redundant lines Remove two redundant lines, based on Klimov Alexey code review. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 7561300a7cea56b61fa28b36d40cdfab22af38bd Author: Miroslav Sustek Date: Mon Apr 6 20:07:04 2009 -0300 V4L/DVB (11441): cx88-dsp: fixing 64bit math cx88-dsp: fixing 64bit math on 32bit kernels Some gcc versions report the missing of __divdi3 [mchehab.redhat.com: CodingStyle fixes] Signed-off-by: Miroslav Sustek Signed-off-by: Mauro Carvalho Chehab commit 2325a6b98609b6559ce5da7528fc0f5a6d0d8e9b Author: Marton Balint Date: Tue Mar 31 19:01:53 2009 -0300 V4L/DVB (11396): cx88: avoid reprogramming every audio register on A2 stereo/mono change This patch changes cx88_set_stereo to avoid resetting all of the audio registers on stereo/mono change if the audio standard is A2, and set only the AUD_CTL register. The benefit of this method is that it eliminates the annoying clicking noise on setting the audio mode to stereo or mono. The driver had used the same method 1.5 years ago (and for FM radio it still does), but a pretty big cleanup commit changed it to the "complete audio reset" method, although the reason for this move was not clear. (If somebody knows why it was necessary, please let me know!) The original commit: http://linuxtv.org/hg/v4l-dvb/rev/ffe313541d7d Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 083d6f8c81e9a2bd5f71633fb38acda35fb8240c Author: Marton Balint Date: Tue Mar 31 19:01:52 2009 -0300 V4L/DVB (11395): cx88: audio thread: if stereo detection is hw supported don't do it manually The sole purpose of the audio thread is to detect if stereo transmission is available, and if it is, then switch to stereo mode (and switch back, if it's no longer available). This manual autodetection is useful for some audio standards (e.g. A2) where cx88_get_stereo CAN detect stereo sound, but the cx2388x chip CANNOT auto-detect stereo sound. However, for other audio standards, the cx2388x chip CAN auto-detect the stereo sound, so the manual autodetection in the audio thread is not needed. In fact, it can cause serious problems because for some of these audio standards, cx88_get_stereo CANNOT detect the presence of stereo sound. Besides that, if the hardware automatically detects stereo/mono sound, you cannot set core->audiomode_current to the real current audio mode on channel change. With this patch, the manual autodetection is only used if audiomode_current is known after a channel change (because of the initial mono mode), and hardware-based stereo autodetecion is not applicable for the current audio standard. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit e878cf3a47a5d99635edc564423a9a4469c17810 Author: Marton Balint Date: Tue Mar 31 19:01:51 2009 -0300 V4L/DVB (11394): cx88: Add support for stereo and sap detection for A2 The patch implements reliable stereo and sap detection for the A2 sound standard. This is achieved by processing the samples of the audio RDS fifo of the cx2388x chip. A2M, EIAJ and BTSC stereo/sap detection is also possible with this new approach, but it's not implemented yet. Stereo detection when alsa handles the sound also does not work yet. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 319afbf97f209e3a907981f76e382c02ea3ecff3 Author: Uri Shkolnik Date: Fri Mar 27 14:16:57 2009 -0300 V4L/DVB (11240): siano: add high level SDIO interface driver for SMS based cards This patch provides SDIO interface driver for SMS (Siano Mobile Silicon) based devices. The patch includes SMS high level SDIO driver and requires patching the kernel SDIO stack, those stack patches had been provided previously. I would like to thank Pierre Ossman, MMC maintainer, who wrote this driver. Signed-off-by: Pierre Ossman Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ecfe0cfa3cae9a8402df12d81b159d851b61cf29 Author: Uri Shkolnik Date: Thu Mar 12 10:10:40 2009 -0300 V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers sdio: add cards id for sms (Siano Mobile Silicon) MDTV receivers Add SDIO vendor ID, and multiple device IDs for various SMS-based MDTV SDIO adapters. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 511da457340d3b30336f7a6731bad9bbe3ffaf08 Author: Michael Krufky Date: Thu May 28 13:50:36 2009 -0300 V4L/DVB (11877): lgdt3305: fix 64bit division in function lgdt3305_set_if Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a5beb7b32364a236e833631c3ee5c910cbbfa5bb Author: Devin Heitmueller Date: Wed May 20 23:58:16 2009 -0300 V4L/DVB (11875): dvb_frontend: fix case where fepriv->exit not reset The fact that we now explicitly set fepriv->exit = 1 when the thread is shutting down exposed an edge case where it was not being reset back to zero once the thread went away in some cases. This resulted in failures in cases where the frontend was closed, and then opened O_RDONLY, since in that case the thread is not being restarted but it was checking the fepriv->exit flag. Thanks to Thierry Lelegard, who and encountered and debugged a large portion of the issue in the same twelve hours that I did (as well as testing my patch). Cc: Thierry Lelegard Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 9c9c68a8c06623b1f1b68652b1a3bf6d8ef415df Author: Uri Shkolnik Date: Thu May 14 16:27:16 2009 -0300 V4L/DVB (11812): Siano: smsusb - add big endian support Add support for big endien target hosts, which use USB interface. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 57594a586f3353286d64c30f397494a834cac238 Author: Devin Heitmueller Date: Mon May 4 21:43:02 2009 -0300 V4L/DVB (11785): dvb_frontend: fix race condition resulting in dropped tuning commands A race condition was detected in the case that putting the tuner to sleep takes an unusually long period of time, combined with applications that quickly close/open the dvb frontend. The kaffeine channel scanner closes and reopens the dvb frontend between each tuning attempt. If it takes an unusually longer period of time to put the tuner to sleep (for example, the Pinnacle 801e takes 660 ms), the dvb_frontend thread will still be in a running state (and hence fepriv->thread is still set) but the fepriv->exit field will still be zero. As a result, if a dvb_frontend_start() call arrives while the frontend thread is in the process of terminating, the call will return 0 without actually starting a new thread. This results in the tuning request being dropped. To address this, mark fepriv->exit as soon as we know the thread is going to be terminated, so that dvb_frontend_start() knows to start a new instance. Problem encountered with Kaffeine 0.8.7 doing ATSC scanning against the Pinnacle 801e tuner, in conjunction with new code to power down the xc5000 when not in use. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 06f837cadbcdedb45f0702cb57c99c404ae921e6 Author: Devin Heitmueller Date: Tue Apr 28 14:35:27 2009 -0300 V4L/DVB (11784): cx88: Fix race condition between cx8800 startup and hald A power management fix to properly put the xc5000 into low power mode revealed a race condition where hald could detect the creation of the device file and connect to the device while the initial device configuration is still in progress. Lock the core structure so that video_release cannot be called and put the tuner to sleep in the middle of the initial call to cx88_set_tvnorm() in cx8800_initdev() Thanks to Michael Krufky for discovering the issue and providing an environment to test in. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b02064caebd9b1d73dd29ebb6e75f487c5f0dbc5 Author: Dean Anderson Date: Thu Apr 30 12:29:38 2009 -0300 V4L/DVB (11738): patch: s2255drv: urb completion routine fixes Error count in read pipe completion corrected. URB not resubmitted if shutting down. URB not freed in completion routine if new urb_submit_fails. (URB is freed on shutdown). Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 1fcbcc47d3ebd962f5486697cb85fd216e01cf89 Author: Robert Krakora Date: Fri Jun 12 13:51:03 2009 -0300 V4L/DVB (12002): uvc: Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible() Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible(). Signed-off-by: Robert Krakora Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6762d953a36833c8b94090781c791c67cb546080 Author: David Wong Date: Thu Jun 11 09:39:04 2009 -0300 V4L/DVB (12001): lgs8gxx: update signal strength scale lgs8gxx: update signal strength scale Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit ba7d457dd352fdc598d9dae733f8d53ace34c9da Author: David Wong Date: Thu Jun 11 09:38:54 2009 -0300 V4L/DVB (12000): lgs8gxx: lgs8913 fake signal strength option default on lgs8gxx: lgs8913 fake signal strength option default on. Original calculation is too slow. Signed-off-by: David T.L. Wong gmail.com> Signed-off-by: Mauro Carvalho Chehab commit 1e7439388a5aa6decf76ac1d73d5312fe713e6af Author: Jan Nikitenko Date: Tue Jun 9 19:31:55 2009 -0300 V4L/DVB (11999): af9015: fix stack corruption bug This patch fixes stack corruption bug present in af9015_eeprom_dump(): the buffer buf is one byte smaller than required - there is 4 chars for address prefix, 16*3 chars for dump of 16 eeprom bytes per line and 1 byte for zero ending the string required, i.e. 53 bytes, but only 52 are provided. The one byte missing in stack based buffer buf causes following oops on MIPS little endian platform, because i2c_adap pointer in af9015_af9013_frontend_attach() is corrupted by inlined function af9015_eeprom_dump(): CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 803a4488, ra == c049a1c8 Oops[#1]: Cpu 0 $ 0 : 00000000 10003c00 00000000 803a4468 $ 4 : 8f17c600 8f067b30 00000002 00000038 $ 8 : 00000001 8faf3e98 11da000d 09010002 $12 : 00000000 00000000 00000000 0000000a $16 : 8f17c600 8f067b68 8faf3c00 8f067c04 $20 : 8f067b9c 00000100 8f067bf0 80104100 $24 : 00000000 2aba9fb0 $28 : 8f066000 8f067af0 802cbc48 c049a1c8 Hi : 00000000 Lo : 00000000 epc : 803a4488 i2c_transfer+0x20/0x104 Not tainted ra : c049a1c8 af9013_read_reg+0x78/0xc4 [af9013] Status: 10003c03 KERNEL EXL IE Cause : 00808008 BadVA : 00000000 PrId : 03030200 (Au1550) Modules linked in: af9013 dvb_usb_af9015(+) dvb_usb dvb_core firmware_class i2c_au1550 au1550_spi Process modprobe (pid: 2757, threadinfo=8f066000, task=8fade098, tls=2aad6470) Stack : c049f5e0 80163090 805ba880 00000100 8f067bf0 0000d733 8f067b68 8faf3c00 8f067c04 c049a1c8 80163bc0 8056a630 8f067b40 80163224 80569fc8 8f0033d7 00000038 80140003 8f067b2c 00010038 c0420001 8f067b28 c049f5e0 00000004 00000004 c049a524 c049d5a8 c049d5a8 00000000 803a6700 00000000 8f17c600 c042a7a4 8f17c600 c042a7a4 c049c924 00000000 00000000 00000002 613a6c00 ... Call Trace: [<803a4488>] i2c_transfer+0x20/0x104 [] af9013_read_reg+0x78/0xc4 [af9013] [] af9013_read_reg_bits+0x2c/0x70 [af9013] [] af9013_attach+0x98/0x65c [af9013] [] af9015_af9013_frontend_attach+0x214/0x67c [dvb_usb_af9015] [] dvb_usb_adapter_frontend_init+0x20/0x12c [dvb_usb] [] dvb_usb_device_init+0x374/0x6b0 [dvb_usb] [] af9015_usb_probe+0x4fc/0xfcc [dvb_usb_af9015] [<80381024>] usb_probe_interface+0xbc/0x218 [<803227fc>] driver_probe_device+0x12c/0x30c [<80322a80>] __driver_attach+0xa4/0xac [<80321ed0>] bus_for_each_dev+0x60/0xd0 [<8032162c>] bus_add_driver+0x1e8/0x2a8 [<80322cdc>] driver_register+0x7c/0x17c [<80380d30>] usb_register_driver+0xa0/0x12c [] af9015_usb_module_init+0x30/0x6c [dvb_usb_af9015] [<8010d2a4>] __kprobes_text_end+0x3c/0x1f4 [<80167150>] sys_init_module+0xb8/0x1cc [<80102370>] stack_done+0x20/0x3c Code: afb10018 7000003f 00808021 <8c430000> 7000003f 1060002d 00c09021 8f830014 3c02efff Signed-off-by: Jan Nikitenko Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit aae40fd21906f051ce1ee5f623b8d70a2f32b7fc Author: Alan Cox Date: Tue Jun 9 10:02:11 2009 -0300 V4L/DVB (11998): se401: Fix coding style Having fixed the sprintfs I decided a quick clean wouldn't do any harm so it was actually easy to read in future. Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit 226a040e6a95fbedff0c82a10fea4dd42320e79f Author: Alexey Klimov Date: Tue Jun 9 07:59:40 2009 -0300 V4L/DVB (11997): gspca - stv06xx: remove needless if check and goto Patch removes needless if check and goto. Signed-off-by: Alexey Klimov Reviewed-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 27049dc30152ad0401082f32c33859821b4be029 Author: Barry Kitson Date: Sun Jun 7 10:41:03 2009 -0300 V4L/DVB (11996): saa7134: add support for AVerMedia M103 (f736) Add 1461:f736 to the list of identifiers corresponding to the SAA7134_BOARD_AVERMEDIA_M103 board. This patch adds support for a variant of the AVerMedia M103 MiniPCI DVB-T Hybrid card. Signed-off-by: Barry Kitson Signed-off-by: Mauro Carvalho Chehab commit de99d76aa19994f0d1140b1397fc439525e147c0 Author: Figo.zhang Date: Sat Jun 6 06:16:21 2009 -0300 V4L/DVB (11995): zr364xx.c: vfree does its own NULL check vfree() does it's own NULL checking, no need for explicit check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 52a85e17091d2fe9ade6a5d94063e70c5d2a9d5b Author: Lennart Poettering Date: Thu Jun 4 16:18:13 2009 -0300 V4L/DVB (11993): V4L/pwc - use usb_interface as parent, not usb_device The current code creates a sysfs device path where the video4linux device is child of the usb device itself instead of the interface it belongs to. That is evil and confuses udev. This patch does basically the same thing as Kay's similar patch for the ov511 driver: at git commit ce96d0a44a4f8d1bb3dc12b5e98cb688c1bc730d Signed-off-by: Lennart Poettering Acked-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit e36bc31f823d6089bedc935fea82b6d36793412a Author: Jean Delvare Date: Thu Jun 4 11:07:16 2009 -0300 V4L/DVB (11992): Add missing __devexit_p() Add missing __devexit_p() to several drivers. Also add a few missing __init, __devinit and __exit markers. These errors could result in build failures depending on the kernel configuration. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 96ceea2734d922d07000e98606231f3d675e09f8 Author: Figo.zhang Date: Tue Jun 2 23:01:04 2009 -0300 V4L/DVB (11991): buf-core.c: add pointer check add poiter check for videobuf_queue_core_init(). any guys who write a v4l driver, pass a NULL pointer or a non-inintial pointer to the first parameter such as videobuf_queue_sg_init() , it would be crashed. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit d5709a0e3dfe22e24d871ef1e0eec9ae04055997 Author: figo.zhang Date: Thu May 7 23:31:02 2009 -0300 V4L/DVB (11990): saa7134-video.c: fix the block bug when re-open or re-start (video_streamon), the q->curr would not be NULL in saa7134_buffer_queue(), and all the qbuf will add to q->queue list,no one to do activate to start DMA,and then no interrupt would happened,so it will be block. In VIDEOBUF_NEEDS_INIT state, initialize the curr pointer to be NULL in the buffer_prepare(). Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 040d4cbfb3df7db8cb661a64d0d65f7e753f43d3 Author: Frank Dischner Date: Sun Jun 14 23:05:20 2009 -0300 V4L/DVB (11987): au8522: add support for QAM-64 modulation type Add support for QAM64 modulation type to the au8522 demod driver. Signed-off-by: Frank Dischner Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 24dff657e725fe63b3514b7ee57e4ac51210d3fc Author: Mauro Carvalho Chehab Date: Tue Jun 16 00:46:40 2009 -0300 V4L/DVB (11986): Kconfig: DVBWorld DVB-C USB Cable card needs tda1002x frontend Auto-selects tda1002x if !DVB_FE_CUSTOMISE Cc: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 519a4bdcf8221c6b2d129b3c720761b7cab7f2c1 Author: Igor M. Liplianin Date: Sun Jun 14 21:34:12 2009 -0300 V4L/DVB (11984): Add support for yet another SDMC DM1105 based DVB-S card. Add support for SDMC DM1105 based DVB-S cards with PCI ID 195d:1105 Also create separate workqueue for demuxing. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1dac77c9d82f344b21c1d962d79875ec331f83cc Author: Igor M. Liplianin Date: Sun Jun 14 20:51:45 2009 -0300 V4L/DVB (11983): Add support for DVBWorld DVB-C USB Cable card. DVBWorld DVB-C USB Cable card contains TUA6034 tuner, TDA10023 demod and Cypress FX-2 controller. http://www.worlddvb.com/product/htm/usbc.htm Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit b42e1d71f52995f0a25f2b593fdb166326db3fd4 Author: Igor M. Liplianin Date: Sun Jun 14 19:41:22 2009 -0300 V4L/DVB (11982): Add keymaps for TeVii and TBS USB DVB-S/S2 cards Add keymaps for TeVii and TBS USB DVB-S/S2 cards Also module parameter named keymap inserted for override default keymap. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8a8dad71485cbfc21ddc0e93f4ae4338b68b82b1 Author: Igor M. Liplianin Date: Sat Jun 13 08:10:24 2009 -0300 V4L/DVB (11981): Remote control debugging for dw2102 driver based USB cards Remote control debugging for dw2102 driver based USB cards It includes DVBWorld, TeVii, Terratec and others. Type 'modprobe dvb-usb-dw2102 debug=4', then look at dmesg output. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1cdc6392b74246be333e2c88b61beedbf9991422 Author: Devin Heitmueller Date: Tue Jun 9 23:40:39 2009 -0300 V4L/DVB (11979): em28xx: don't create audio device if not supported In cases where the device does not actually provide a USB audio class *or* vendor audio, do not load the driver that provides vendor audio support (such as the KWorld 2800d). Otherwise, the /dev/audio1 device file gets created and users get confused. Also, reworks the logic a bit so that we don't try to inspect the register content if the register read failed entirely. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d7de5d8ff74efd01916b01af875a0e87419a3599 Author: Franklin Meng Date: Sat Jun 6 17:05:02 2009 -0300 V4L/DVB (11977): em28xx: Add Kworld 315 entry Added an entry for Kworld 315 (for while, dvb only) Signed-off-by: Franklin Meng Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ae3340cbf59ea362c2016eea762456cc0969fd9e Author: Franklin Meng Date: Sat Jun 6 16:34:01 2009 -0300 V4L/DVB (11976): em28xx: set up tda9887_conf in em28xx_card_setup() Added tda9887_conf set up into em28xx_card_setup() Signed-off-by: Franklin Meng Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c874f3aa7e66158dccb2b9f3cfc46c65af6c223d Author: Jean-Francois Moine Date: Fri Jun 12 03:20:46 2009 -0300 V4L/DVB (11973): gspca - ov534: Do the ov772x work again. The scan of the image packets of the sensor ov772x was broken when the sensor ov965x was added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a0001a289f667e254eba51f2f729ec677daba503 Author: Hans de Goede Date: Wed Jun 10 04:52:18 2009 -0300 V4L/DVB (11972): gspca - main: Skip disabled controls. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3d48f7d09aadccf570a871ce0d5eec34092b38c1 Author: Jean-Francois Moine Date: Sun Jun 7 13:51:54 2009 -0300 V4L/DVB (11971): gspca - doc: Add the 05a9:a518 webcam to the Documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 49809d6a511960e5ccfb85b780894f45ac119065 Author: Hans de Goede Date: Sun Jun 7 12:10:39 2009 -0300 V4L/DVB (11970): gspca - ov519: Add support for the ov518 bridge. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 253f13d5cd05204aa3174ffb53490f2b0fad055c Author: Jean-Francois Moine Date: Fri May 29 04:46:12 2009 -0300 V4L/DVB (11969): gspca - spca505: Reinitialize the webcam at resume time. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit df59f0b3df3cc35fa03ea395f5106d1625e3726a Author: Hans Verkuil Date: Fri Jun 12 03:38:15 2009 -0300 V4L/DVB (11967): v4l: i2c modules must be linked before the v4l2 drivers Since i2c autoprobing is no longer supported by v4l2 we need to make sure that the i2c modules are linked before the v4l2 modules. The v4l2 modules now rely on the presence of the i2c modules, so these must have initialized themselves before the v4l2 modules. The exception is the ir-kbd-i2c module, which is the only one still using autoprobing. This one should be loaded at the end of the v4l2 module. Loading it earlier actually causes problems with tveeprom. Once ir-kbd-i2c is no longer autoprobing, then it has to move up as well. This is only an issue when everything is compiled into the kernel. Thanks to Marcus Swoboda for reporting this and Udo Steinberg for testing this patch. Tested-by: Udo A. Steinberg Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 163fe744c3283fd267268629afff4cfc846ed0e0 Author: Mauro Carvalho Chehab Date: Mon Jun 15 10:04:00 2009 -0300 V4L/DVB (11966): ov511: Fix unit_video parameter behavior Fix a regression caused by changeset 9133:64aed7485a43 - v4l: disconnect kernel number from minor Before the above changeset, ov511_probe used to allow forcing to use a certain specific set of video devices, like: modprobe ov511 unit_video=4,1,3 num_uv=3 So, assuming that you have 5 ov511 devices, and connect they one by one, they'll gain the following device numbers (at the connection order): /dev/video4 /dev/video1 /dev/video3 /dev/video0 /dev/video2 However, this was changed due to this change at video_register_device(): + nr = find_next_zero_bit(video_nums[type], minor_cnt, nr == -1 ? 0 : nr); With the previous behavior, a trial to register on an already allocated mirror would fail, and a loop would get the next requested minor. However, the current behavior is to get the next available minor instead of failing. Due to that, this means that the above modprobe parameter will give, instead: /dev/video5 /dev/video6 /dev/video7 /dev/video8 /dev/video9 In order to restore the original behavior, a static var were added, storing the amount of already registered devices. While there, it also fixes the locking of the probe/disconnect functions. Signed-off-by: Mauro Carvalho Chehab commit eccd15aad72f774b2059f708bc422dbb8493bb30 Author: Trent Piepho Date: Thu Jun 11 05:33:00 2009 -0300 V4L/DVB (11964): b2c2: Fix problems with frontend attachment The frontend attachment code didn't handle cases where the frontend partially failed to attach. For instance, when the demod was attached successfully but the tuner driver wasn't compiled or fails to init for some reason. In these cases we try to clean up the partial attachment and fail instead of proceeding with a broken frontend. If frontend registration fails, clean up with dvb_frontend_detach() rather than just calling the frontend's main release method. The former does some additional stuff, like release an attached tuner and take care of putting symbols when dynamic binding is used. In skystar2_rev23_attach() it's not necessary to set fc->dev_type, that gets set before skystar2_rev23_attach() is called. Signed-off-by: Trent Piepho Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f6a061bb0f143ff40070e6fd3d38fde5bd60027c Author: Jan Ceuleers Date: Thu Jun 11 16:20:23 2009 -0300 V4L/DVB (11962): dvb: Fix broken link in get_dvb_firmware for nxt2004 (A180) Due to a reorganisation of AVermedia's websites, get_dvb_firmware no longer works for nxt2004. Fix it. Signed-off-by: Jan Ceuleers Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 76b08116458c4dbc1e1c40f78bc087fc4f3c8969 Author: Roel Kluin Date: Thu Jun 11 11:28:17 2009 -0300 V4L/DVB (11961): tvp514x: try_count off by one With `while (try_count-- > 0)' try_count reaches -1 after the loop. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bcd3e4b3190f0cc4e0702785220f0269f8537175 Author: Lennart Poettering Date: Thu Jun 11 11:19:33 2009 -0300 V4L/DVB (11960): v4l: generate KEY_CAMERA instead of BTN_0 key events on input devices A bunch of V4L drivers generate BTN_0 instead of KEY_CAMERA key presses. X11 is able to handle KEY_CAMERA automatically these days while BTN_0 is not treated at all. Thus it would be of big benefit if the camera drivers would consistently generate KEY_CAMERA. Some drivers (uvc) already do, this patch updates the remaining drivers to do the same. I only possess a limited set of webcams, so this isn't tested with all cameras. The patch is rather trivial and compile tested, so I'd say it's still good enough to get merged. Signed-off-by: Lennart Poettering Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f4d72392d76b8f78f646805ba2be995b3f77992 Author: Alan Cox Date: Thu Jun 11 11:04:11 2009 -0300 V4L/DVB (11959): se401: Fix unsafe use of sprintf with identical source/destination Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13435 Signed-off-by: Alan Cox Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5e2c217eee18a4627a32c49f57f47dbac67dcf23 Author: Figo.zhang Date: Thu Jun 11 10:33:31 2009 -0300 V4L/DVB (11958): usbvision-core.c: vfree does its own NULL check vfree() does it's own NULL checking,so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f1ca0adfcf2c2f1129a59b93caa80a1dbd6b6c81 Author: Alexey Klimov Date: Thu Jun 11 00:22:42 2009 -0300 V4L/DVB (11957): dsbr100: change radio->muted to radio->status, update suspend/resume Patch renames radio->muted to radio->status, add defines for that variable, and fixes suspend/resume procedure. Radio->status set to STOPPED in usb_dsbr100_probe because of removing open call. Also, patch increases driver version. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 917fab4f3e5563e8f88ca0af297728452c6fa265 Author: Alexey Klimov Date: Thu Jun 11 00:19:49 2009 -0300 V4L/DVB (11956): dsbr100: no need to pass curfreq value to dsbr100_setfreq() Small cleanup of dsbr100_setfreq(). No need to pass radio->curfreq value to this function. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a617e0e8c7a94dc796d9887ffed621564553c5b8 Author: Alexey Klimov Date: Thu Jun 11 00:18:35 2009 -0300 V4L/DVB (11955): dsbr100: remove usb_dsbr100_open/close calls Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f094eb9a860bcde45984e8ab87965f39ceda427 Author: Alexey Klimov Date: Thu Jun 11 00:17:06 2009 -0300 V4L/DVB (11954): dsbr100: remove radio->users counter Patch removes radio->users counter because it is not in use. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 92051b285b12855255f0213d9a25153d917e262c Author: Figo.zhang Date: Wed Jun 10 23:17:27 2009 -0300 V4L/DVB (11953): videobuf-dma-sg: return -ENOMEM if vmalloc fails it is better return -ENOMEM than -EIO Signed-off-by: Figo.zhang Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8bb09db375fe4f15d16315947500e827caa0fe9c Author: Andy Walls Date: Tue Jun 9 20:47:21 2009 -0300 V4L/DVB (11951): cx18: Add DVB-T support for the Leadtek WinFast DVR3100 H This adds support for DVB-T on the Leadtek DVR3100 H and should also get analog TV capture from the tuner working properly as well. DVB-T 6 MHz and 8 MHz have been tested and verified to work by Terry Wu of Leadtek. DVB-T 7 MHz has also been verified working with a change developed by Terry to the tuner-xc2028.c driver. Special thanks go to Terry Wu of Leadtek who provided the needed information and testing to get digital TV working for the Leadtek DVR3100 H. Reported-by: Terry Wu Tested-by: Terry Wu Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9d5af8629255ef6e62481ee7dea8c6787facc579 Author: Andy Walls Date: Tue Jun 9 20:37:24 2009 -0300 V4L/DVB (11950): cx18: Split LeadTek PVR2100 and DVR3100 H into 2 separate card entries Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3b27740c7de0fd59032c723ad326926c97383e95 Author: Laurent Pinchart Date: Tue Jun 9 13:07:44 2009 -0300 V4L/DVB (11948): uvcvideo: Ignore non-UVC trailing interface descriptors. Herton Ronaldo Krzesinski from Mandriva reported that one Bison Electronics webcam exposes a non-UVC interface descriptor. Instead of failing completely, ignore trailing non-UVC descriptors and move on. Thanks to Herton for reporting the problem and submitting a patch proposal. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit ca4a3456858775081f172e89077aa65cf5dbc52a Author: Laurent Pinchart Date: Tue Jun 9 12:46:43 2009 -0300 V4L/DVB (11947): uvcvideo: Add support for FSC V30S webcams The FSC WebCam V30S (18ec:3288) 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 2d2bf2a3a6c84f0b316764e521d5dcee557e9c65 Author: Laurent Pinchart Date: Tue Jun 9 12:40:59 2009 -0300 V4L/DVB (11946): uvcvideo: Add support for Aveo Technology webcams The Aveo Technology USB 2.0 Camera (1871:0306) requires the PROBE_EXTRAFIELDS quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23ff6043add670713bbf2f6ee5d520459cfdfae9 Author: Laurent Pinchart Date: Thu Jun 4 09:26:39 2009 -0300 V4L/DVB (11945): uvcvideo: Don't accept to change the format when buffers are allocated. Setting a new frame format or size will likely change the buffer size required to store a complete video frame. To avoid a buffer overflow, don't allow VIDIOC_S_FMT calls when video buffers are already allocated. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d732c44c1a4b54e3c59ad92069bc2fd848aca5f3 Author: Laurent Pinchart Date: Sun May 31 17:05:55 2009 -0300 V4L/DVB (11944): uvcvideo: Add generic control blacklist. Another device (5986:0241) has been reported to advertise a UVC control it does not support. Rework the control blacklist to match devices by their VID:PID instead of trying to be clever about which controls might not be supported properly. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 926b3b4122e4ebca52e67eecf9beb9a517e593f4 Author: Erik Andrén Date: Thu Jun 11 17:20:23 2009 -0300 V4L/DVB (11942): gspca - m5602-ov9650: Reorder quirk list and add A7V quirk The quirk list has grown and was in need of sorting. This is now done. Add a new vflip quirk for the ASUS A7V while we're at it. Thanks to Carsten Menzel for reporting. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 40a4f2fc6525f621f6f855e1d5506c3b14acf3cc Author: Erik Andrén Date: Mon Jun 1 16:22:18 2009 -0300 V4L/DVB (11941): gspca - m5602-ov9650: Add vflip quirk for the ASUS A6VA Add vflip quirk for the ASUS A6VA. Thanks to Salvo Di Rosa for reporting. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f02c3944c1331f0b41c5d75b6d5d69d8858b169f Author: Erik Andrén Date: Wed May 6 17:44:45 2009 -0300 V4L/DVB (11940): gspca - m5602-s5k4aa: Add vflip quirk for the Lenovo Y300 The Lenovo Y300 has its sensor upside down. Quirk it to gain normal functionality. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6b6b75432caf87b8b7834ad8eb9acd75e383e20f Author: Dmitri Belimov Date: Thu May 28 01:58:57 2009 -0300 V4L/DVB (11938): big rework of TS for saa7134 1. Add start/stop TS function. 2. Move setup DMA of TS to DMA function. 3. Write support cupture via MMAP 4. Rework startup and finish process, remove simple FSM. Tested-by: Hermann Pitton Tested-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit 028bbfedcc00225d4a1d700e75658d773523005d Author: FUJITA Tomonori Date: Wed May 27 22:10:43 2009 -0300 V4L/DVB (11937): vino: replace dma_sync_single with dma_sync_single_for_cpu This replaces dma_sync_single() with dma_sync_single_for_cpu() because dma_sync_single() is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ Signed-off-by: FUJITA Tomonori Signed-off-by: Mauro Carvalho Chehab commit ef5b5168e58021f87af53283002795ce5a787c2b Author: Randy Dunlap Date: Wed Jun 10 11:58:22 2009 -0300 V4L/DVB (11936): Fix v4l2-device usage of i2c_unregister_device() Fix v4l2-device usage of i2c_unregister_device() and handle the case of CONFIG_I2C=m & CONFIG_MEDIA_VIDEO=y. Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 436ae1381e68b5067da0cab78ffdfa948fb863b8 Author: Dmitri Belimov Date: Sun May 24 22:22:41 2009 -0300 V4L/DVB (11934): Change order for FM tune Change order data of buffer in FM simple_tune function. It is usefull for: 1. Set data of tuner with CP bit UP. 0xCE for MK5 or 0xC6 for MK3 2. When call simple_fm_tune, read this byte from config and overwrite this byte in function simple_radio_bandswitch for set CP bit to OFF. Of course it can be usefull for other tuner for overwrite default settings of FM. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 5ddc9b100fc96e8f3c6d435cecd9d09e5b9673f9 Author: Andy Walls Date: Sun Jun 7 21:39:03 2009 -0300 V4L/DVB (11933): tuner-simple, tveeprom: Add Philips FQ1216LME MK3 analog tuner Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7360055aa31f5f732af4d0ed23517f1b6adfa573 Author: Andy Walls Date: Fri May 22 21:12:00 2009 -0300 V4L/DVB (11932): ivtv: Add missing newline Reported-by: Martin Dauskardt Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3cd5270c411538329ccc135189c68d2b4544c49a Author: Andy Walls Date: Fri May 22 21:07:46 2009 -0300 V4L/DVB (11931): lnbp21: Add missing newline Reported-by: VDR User Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0d834635a35a98d0dced54da7695ccab4464854d Author: Abylay Ospan Date: Sat Jun 6 09:31:34 2009 -0300 V4L/DVB (11930): TS continuity check: show error message when discontinuity detected or TEI flag detected in header Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit d6a9a430a63adac71f2d23d4eb8f4eb467fc82c2 Author: Devin Heitmueller Date: Wed May 27 23:46:17 2009 -0300 V4L/DVB (11928): au0828: provide module option to disable USB speed check Add an au0828 module option that allows a user to override the USB speed check. Intended for advanced users who understand the consequences of trying to use the device with a 12Mbps bus. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e2a1b79f7dc54a6f1cc8821e0c7fd68ba7568d81 Author: Devin Heitmueller Date: Wed May 27 23:44:10 2009 -0300 V4L/DVB (11927): em28xx: provide module option to disable USB speed check Add an em28xx module option that allows a user to override the USB speed check. Intended for advanced users who understand the consequences of trying to use the device with a 12Mbps bus. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0f9fba3129541822b1d75330406e62e838bf4fc1 Author: Devin Heitmueller Date: Wed May 27 23:28:46 2009 -0300 V4L/DVB (11926): tuner-core: fix warning introduced when cleaning up xc5000 init routine This patch removes some remaining dead code. Warning showed up in Hans Verkuil's daily report after I committed hg changeset 7f2eea75118b. Thanks to Michael Krufky for bringing the warning to my attention. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3ed58baf5db4eab553803916a990a3dbca4dc611 Author: Devin Heitmueller Date: Wed May 27 23:27:26 2009 -0300 V4L/DVB (11925): em28xx: Add support for the K-World 2800d Make the KWorld 2800d work properly. In this case, that means making the profile more generic so that it works for both the Pointnix Intra-Oral USB camera and the KWorld device. The device provides the audio through a pass-thru cable, so we don't need an actual audio capture profile (neither the K-World device nor the Pointnix have an onboard audio decoder). Thanks to Paul Thomas for providing sample hardware. Cc: Paul Thomas Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ee3436b82886c0cb295354fb7ebbeadf3ff22105 Author: Devin Heitmueller Date: Wed May 27 23:25:36 2009 -0300 V4L/DVB (11924): au0828: Don't let device work unless connected to a high speed USB port The au0828 basically just doesn't work at 12 Mbps. The isoc pipe needs nearly 200 Mbps for analog support, so users would see garbage video, and on the DVB/ATSC side scanning is likely to work but if the user tried to tune it would certainly appear to have failed. It's better to fail explicity up front and tell the user to plug into a USB 2.0 port, than to let the driver load and the user have weird problems with tuning and garbage video. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 64a00b43e63c916f1bf4f6b7f519db0e198ba9d4 Author: Devin Heitmueller Date: Wed May 27 23:23:37 2009 -0300 V4L/DVB (11923): em28xx: Don't let device work unless connected to a high speed USB port The em28xx basically just doesn't work at 12 Mbps. The isoc pipe needs nearly 200 Mbps for analog support, so users would see garbage video, and on the DVB/ATSC side scanning is likely to work but if the user tried to tune it would certainly appear to have failed. It's better to fail explicity up front and tell the user to plug into a USB 2.0 port, than to let the driver load and the user have weird problems with tuning and garbage video. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e2860d9621caec0b38d47df917a0ac00a083ffeb Author: Mauro Carvalho Chehab Date: Sat Jun 6 08:15:08 2009 -0300 V4L/DVB (11922): tuner-xc2028: cleanup: better use tuner type defines Signed-off-by: Mauro Carvalho Chehab commit 0a863975e288667fd65737f65f9d4cd5d9817ba9 Author: Mauro Carvalho Chehab Date: Mon Jun 1 12:18:10 2009 -0300 V4L/DVB (11918): tuner-xc2028: Fix offset frequencies for DVB @ 6MHz Both ATSC and DVB @ 6MHz bandwidth require the same offset. While we're fixing it, let's cleanup the bandwidth setup to better reflect the fact that it is a function of the bandwidth. Thanks to Terry Wu for pointing this issue and to Andy Walls for an initial patch for this fix. Cc: Terry Wu Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a1014d70db862c8e9de9207c3a0397e644ad9d4a Author: Mauro Carvalho Chehab Date: Mon Jun 1 11:46:08 2009 -0300 V4L/DVB (11917): Fix firmware load for DVB-T @ 6MHz bandwidth for xc3028/xc3028L The only two countries that are known to use 6MHz bandwidth are Taiwan and Uruguay. Both use QAM subcarriers at OFTM. This patch fixes the firmware load for such countries, where the required firmware is the QAM one. This also confirms the previous tests where it was noticed that the 6MHz QAM firmware doesn't work for cable. So, this patch also removes support for DVB-C, instead of just printing a warning. Thanks to Terry Wu for pointing this issue and to Andy Walls for an initial patch for this fix. Cc: Terry Wu Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 22d4645311689cd20967813775e492c786f2d3c6 Author: Antti Palosaari Date: Sun May 31 17:07:01 2009 -0300 V4L/DVB (11915): af9015: support for Genius TVGo DVB-T03 Add USB ID (0458:4012) for Genius TVGo DVB-T03. Thanks to Petr Vodicka for reporting and testing. Tested-by: Petr Vodicka Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit cc8da5263fa743c33d6503f85113bcb70048e633 Author: Dave Airlie Date: Wed Jun 17 07:41:23 2009 +1000 drm/radeon: switch to using late_initcall This fixes an issue where we get inited before fbcon when built-in. Ideally this should work as a non late_initcall, but this fixes it for now. We also don't suggest people build this in (at least distro maintainers). Reported-by: Ryan Hope Signed-off-by: Dave Airlie commit 4eaad8ad296a78689f148c8dcd383fc4e51ee123 Author: Linus Walleij Date: Mon Jun 15 00:30:18 2009 +0200 i2c-stu300: Make driver depend on MACH_U300 This makes the stu300 driver for the ST Micro ST DDC I2C bus driver depend on MACH_U300, new platforms reusing this I2C driver will need to add in a similar dependency. Signed-off-by: Linus Walleij [ben-linux@fluff.org: re-aranged subject line] Signed-off-by: Ben Dooks commit 933a2aec8d08cda11c4b427ea7930b0e92eb9bc8 Author: Ben Dooks Date: Sun Jun 14 14:04:20 2009 +0100 i2c-s3c2410: use resource_size() Change the usage of res->end-res->start to resource_size(), missed by the last patch to change this. Signed-off-by: Ben Dooks commit c6ffddea36dd576b70dfbd10eb5d2b287b786dca Author: Linus Walleij Date: Sun Jun 14 00:20:36 2009 +0200 i2c: Use resource_size macro This replace all instances in the i2c busses tree of res->end - res->start + 1 with the handy macro resource_size(res) from ioport.h (coming in from platform_device.h). This was created with a simple sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g' Then manually replacing the PXA redefiniton of the same kind of macro manually. Recompiled some ARM defconfigs I could find to make a rough test so it shouldn't break anything, though I couldn't see exactly which configs you need for all the drivers. Signed-off-by: Linus Walleij Signed-off-by: Ben Dooks commit 18904c0ecdf2cf22347da2adc4b273e9570333d8 Author: Linus Walleij Date: Sat Jun 13 21:51:34 2009 +0200 i2c: ST DDC I2C U300 bus driver v3 This adds support for the ST Microelectronics DDC I2C bus driver. This bus is used in the U300 architecture recently added to RMK:s ARM tree. Signed-off-by: Linus Walleij Reviewed-by: Ben Dooks Reviewed-by: Jean Delvare Signed-off-by: Ben Dooks commit 6df263cf2ee1c6dd9709488ecd3c7b3447511ecf Author: Mike Frysinger Date: Sun Jun 14 01:55:37 2009 -0400 i2c-bfin-twi: pull in io.h for ioremap() Rather than relying on some of the headers implicitly pulling in io.h, pull it in explicitly our self for ioremap() and friends. Signed-off-by: Mike Frysinger Signed-off-by: Ben Dooks commit f83b1e616f2f68b56b09b2f5116591981fee0c1c Merge: 2f38d70 1e626fd Author: Linus Torvalds Date: Tue Jun 16 14:29:46 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: firewire: core: use more outbound tlabels firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met firewire: core: prepare for non-core children of card devices firewire: core: include linux/uaccess.h instead of asm/uaccess.h firewire: add parent-of-unit accessor firewire: rename source files firewire: reorganize header files firewire: clean up includes firewire: ohci: access bus_seconds atomically firewire: also use vendor ID in root directory for driver matches firewire: share device ID table type with ieee1394 firewire: core: add sysfs attribute for easier udev rules firewire: core: check for missing struct update at build time, not run time firewire: core: improve check for local node commit 9ad4c6551b8540054f51b483ce513ccb87f8181b Author: Andy Walls Date: Fri May 29 20:54:02 2009 -0300 V4L/DVB (11898): cx18: Perform 64 bit divide so it works for 32 bit systems Thanks to David Ward and Mike Krufky for reporting the problem and debugging this as an unresolved symbol due to a 64 bit divide on a 32 bit system. David Ward provided the content of this patch; Andy Walls only performed some cosmetic edits. Reported-by: David Ward Signed-off-by: David Ward Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 75c74d1c78ec3b713a986e0efc645ed558384cdf Author: Robert Krakora Date: Thu May 28 11:16:19 2009 -0300 V4L/DVB (11896): em28xx: Fix for Slow Memory Leak Test Code: (Provided by Douglas) v4l-dvb/v4l2-apps/test/stress-buffer.c The audio DMA area was never being freed and would slowly leak over time as the v4l device was opened and closed by an application. Thanks again to Douglas for generating the test code to help locate memory leaks!!! Signed-off-by: Robert Krakora Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f41b6961566b2cd038ad91568882f8fc1feac160 Author: Filipe Rosset Date: Thu May 28 11:11:53 2009 -0300 V4L/DVB (11895): bt8xx: remove always false if Remove always false if over unsigned int variable Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ab482a6c18523b7aa75eb146dad4db77a86572fa Author: Randy Dunlap Date: Mon May 18 22:00:34 2009 -0300 V4L/DVB (11881): one kconfig controls them all Add a kconfig symbol that allows someone to disable all multimedia config options at one time. Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 493b7127aa56d0a5c041797639bf543d96f6261b Author: David Wong Date: Mon May 18 05:25:49 2009 -0300 V4L/DVB (11880): cx23885: support for card Mygica X8506 DMB-TH This patch add cx23885 support for card "Mygica X8506 DMB-TH". It should work on "Magic-Pro ProHDTV Extreme" as well, as they are same hardware with different branding. Sign-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit 3047a17639d499691c657772667f2c1e65edabfb Author: Miroslav Sustek Date: Sun May 31 16:47:28 2009 -0300 V4L/DVB (11879): Adds support for Leadtek WinFast DTV-1800H Enables analog/digital tv, radio and remote control (gpio). Tested-by: Marcin Wojcikowski Tested-by: Karel Juhanak Tested-by: Andrew Goff Tested-by: Jan Novak Signed-off-by: Miroslav Sustek Signed-off-by: Mauro Carvalho Chehab commit 9035f2e27a99a7ea702973ab4fd47c0dd94a8c6e Author: Hans de Goede Date: Mon May 25 15:26:59 2009 -0300 V4L/DVB (11872): gspca - spca561: Rename the 'White Balance' control to 'Hue'. Binary files /home/v4l/tokernel/oldtree/Documentation/video4linux/v4lgrab.o and /home/v4l/tokernel/linux/Documentation/video4linux/v4lgrab.o differ Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d0848eb2864c0f1ef52d586cd33c68a103b0a2ac Author: Hans de Goede Date: Mon May 25 15:20:16 2009 -0300 V4L/DVB (11871): gspca - spca561: Change the Rev12a controls. - Extend the gain range - Adjust the exposure - Remove the broken autogain Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 191d0e7fba43d79a73605adcf85441ebe0a2aff7 Author: Jean-Francois Moine Date: Fri May 22 04:16:42 2009 -0300 V4L/DVB (11869): gspca - ov534: JPEG 320x240 and 640x480 formats for ov965x. The YUYV 640x480 format did not work with ov965x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7880f6613814e737de829911b204d7bc1f2ccb49 Author: Jean-Francois Moine Date: Wed May 13 14:25:29 2009 -0300 V4L/DVB (11868): gspca - spca508: Optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1af63b3d1dfd38175c145f1435bab865ebdd8951 Author: Jean-Francois Moine Date: Wed May 13 14:21:46 2009 -0300 V4L/DVB (11867): gspca - spca508: Cleanup source and update copyright. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 86bc85b38602411a9582b829fdd0ee02cf582985 Author: Andy Walls Date: Sat May 16 22:43:43 2009 -0300 V4L/DVB (11865): cx18: Tweak color burst gate delay and initial color sub-carrier freq Fix the burst gate delays to use a crystal value of 28636360 as assumed by the rest of the driver. Also have the initial color sub-carrier freq paramter use the src decimation ratio per the documentation, instead of the actual crystal/pixel clock ratio. The tracking circuit will find the correct color subcarrier in any case, as long as we're close. Also fix up some debug print statements. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 929a3ad1525895c394cbe97a6b74792da9a865a6 Author: Andy Walls Date: Sat May 16 21:06:57 2009 -0300 V4L/DVB (11864): cx18: Complete support for Sliced and Raw VBI for 625 line systems Finish changes for sliced and raw VBI for 625 line systems. Tested with VPS and WSS being emitted by a PVR-350 in field 1 lines 16 and 23. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5ab740522fbee3a2ef83554b9a9c92692c8c0f74 Author: Andy Walls Date: Sun May 10 22:14:29 2009 -0300 V4L/DVB (11863): cx18: Initial attempt to get sliced VBI working for 625 line systems Initial changes to get sliced VBI for 625 line system working. This is patch is untested. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1bc7f51c57c52cfac1a455d8f8ef99703e719e55 Author: Michael Krufky Date: Mon Jan 19 01:10:49 2009 -0300 V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b9dcdb6fb870ce83578465b3ffd047185bead67f Author: Michael Krufky Date: Wed May 20 16:06:10 2009 -0300 V4L/DVB (11860): saa7134: fix quirk in saa7134_i2c_xfer for the saa7131 bridge The i2c quirk in the saa7134_i2c_xfer function does a bogus write to i2c address 0xfd, to work around a bug in the silicon that affects read transactions. Unfortunately, this hack is not working properly, since the bogus write is to 0xfd, an invalid i2c address. Fix this quirk by using an actual valid i2c address, 0xfe, which is still unlikely to be used as an i2c address for any actual i2c client. This is required in order to properly communicate with a TDA10048 DVB-T demod located at i2c address 0x10 on the primary i2c bus. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c27586e4d647c5c07c81e766d34ceef6ba5a316d Author: Michael Krufky Date: Sat May 16 11:00:23 2009 -0300 V4L/DVB (11858): cx23885: fix tda10048 IF frequencies for the Hauppauge WinTV-HVR1210 Steve missed the HVR1210 config struct for the TDA10048 in his IF freq patch. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a884c63cae986cadb6d604f3599a5cf54444f7d2 Author: Steven Toth Date: Sat May 16 14:43:51 2009 -0300 V4L/DVB (11857): TDA10048: Missing two I/F's / Pll combinations from the PLL table This was causing a lock failure in Australia. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 08b83583dcc09260784b398783ac47e13d351fdc Author: Steven Toth Date: Fri May 15 21:04:56 2009 -0300 V4L/DVB (11856): pvrusb2: Ensure we specify I/F's for all bandwidths pvrusb2: Ensure we specify I/F's for all bandwidths Signed-off-by: Steven Toth Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8816bef53cfaf21fcce47fe5fd403d2e39ba6d2d Author: Steven Toth Date: Fri May 15 21:04:18 2009 -0300 V4L/DVB (11855): cx23885: Ensure we specify I/F's for all bandwidths cx23885: Ensure we specify I/F's for all bandwidths Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9e08199770f28b92e5a85052e8c16cde94f9a2c9 Author: Steven Toth Date: Fri May 15 21:01:57 2009 -0300 V4L/DVB (11854): TDA10048: Ensure the I/F changes during DVB-T 6/7/8 bandwidth changes. TDA10048: Ensure the I/F changes during DVB-T 6/7/8 bandwidth changes. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6ecdf92d211fb37a905fce5d0a8668c831764abc Author: figo.zhang Date: Sun May 17 23:31:55 2009 -0300 V4L/DVB (11853): minor have assigned value twice The variable minor have assigned value twice, the first time is in the initial "video_device" data struct in those drivers, pls see saa7134-video.c,line 2503. --- Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 4a567394dce57e8a2329f0a1123b951b0f070d39 Author: figo.zhang Date: Sun May 17 23:13:13 2009 -0300 V4L/DVB (11852): saa7134-video.c: poll method lose race condition saa7134-video.c: poll method lose race condition Signed-off-by: Figo Zhang Signed-off-by: Mauro Carvalho Chehab commit 7d8535329c4e620c155895a33e1bcc47239858b8 Author: Dean Anderson Date: Fri May 15 14:32:04 2009 -0300 V4L/DVB (11851): patch: s2255drv: adding V4L2_MODE_HIGHQUALITY Adding V4L2_MODE_HIGHQUALITY feature. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 849a3aba2d9830dc2a78a66078023e7e5ac26e15 Author: Filipe Rosset Date: Tue May 19 10:12:17 2009 -0300 V4L/DVB (11838): uvcvideo: Add Lenovo Thinkpad SL400 to device list comments Update the 17ef:480b device comment to list Lenovo Thinkpad SL400. Signed-off-by: Filipe Rosset Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 7e1111859204ea76ddb8bb682d8b4097cada4385 Author: Jean Delvare Date: Wed May 13 16:56:20 2009 -0300 V4L/DVB (11850): pvrusb2: Instantiate ir_video I2C device by default Now that the ir-kbd-i2c driver has been converted to a new-style i2c driver, we can instantiate the ir_video I2C device by default. The pvr2_disable_ir_video is kept to disable the IR receiver, either because the user doesn't use it, or for debugging purpose. Signed-off-by: Jean Delvare Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 20b0ead5fd82fcf4824ea0b9c082d9dcfae59b02 Author: Jean Delvare Date: Wed May 13 16:55:13 2009 -0300 V4L/DVB (11849): ivtv: Probe more I2C addresses for IR devices Probe I2C addresses 0x71 and 0x6b for IR receiver devices (for the PVR150 and Adaptec cards, respectively.) Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit d9a88e632b2c527165434c404a0a1ca16d2d3793 Author: Jean Delvare Date: Wed May 13 16:52:44 2009 -0300 V4L/DVB (11848): saa7134: Simplify handling of IR on AVerMedia Cardbus E506R Now that we instantiate I2C IR devices explicitly, we can skip probing altogether on boards where the I2C IR device address is known. The AVerMedia Cardbus E506R is one of these boards. Tested-by: Oldrich Jedlicka Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit ec218a412bcc126d49dec002d06b24a10d0ab6cd Author: Jean Delvare Date: Wed May 13 16:51:46 2009 -0300 V4L/DVB (11847): saa7134: Simplify handling of IR on MSI TV@nywhere Plus Now that we instantiate I2C IR devices explicitly, we can skip probing altogether on boards where the I2C IR device address is known. The MSI TV@nywhere Plus is one of these boards. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 9a4cc5ac991d3b697db4f9e5015a758621a95009 Author: Jean Delvare Date: Wed May 13 16:50:11 2009 -0300 V4L/DVB (11846): ir-kbd-i2c: Don't assume all IR receivers are supported The code in ir_probe makes the dangerous assumption that all IR receivers are supported by the driver. The new i2c model makes it possible for bridge drivers to instantiate IR devices before they are supported, therefore the ir-kbd-i2c drivers must be made more robust to not spam the logs or even crash on unsupported IR devices. Simply, the driver will not bind to the unsupported devices. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 4d7a2d6721a6380d4ffc26d81d2c8232fd0d2dfc Author: Jean Delvare Date: Wed May 13 16:49:32 2009 -0300 V4L/DVB (11845): ir-kbd-i2c: Use initialization data For specific boards, pass initialization data to ir-kbd-i2c instead of modifying the settings after the device is initialized. This is more efficient and easier to read. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit c668f32dca105d876e51862a003a302fa61e4ae4 Author: Jean Delvare Date: Wed May 13 16:48:50 2009 -0300 V4L/DVB (11844): ir-kbd-i2c: Switch to the new-style device binding model Let card drivers probe for IR receiver devices and instantiate them if found. Ultimately it would be better if we could stop probing completely, but I suspect this won't be possible for all card types. There's certainly room for cleanups. For example, some drivers are sharing I2C adapter IDs, so they also had to share the list of I2C addresses being probed for an IR receiver. Now that each driver explicitly says which addresses should be probed, maybe some addresses can be dropped from some drivers. Also, the special cases in saa7134-i2c should probably be handled on a per-board basis. This would be more efficient and less risky than always probing extra addresses on all boards. I'll give it a try later. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 1df8e9861cf9fac5737ccb61c7f7fefa77711d40 Author: Jean Delvare Date: Wed May 13 16:48:07 2009 -0300 V4L/DVB (11843): ir-kbd-i2c: Don't use i2c_client.name for our own needs In the standard device driver binding model, the name field of struct i2c_client is used to match devices to their drivers, so we must stop using it for internal purposes. Define a separate field in struct IR_i2c as a replacement, and use it. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 24c44d85114098a013dd5fed084fb27ad803f000 Author: Alessio Igor Bogani Date: Tue May 12 17:39:27 2009 -0300 V4L/DVB (11842): radio-mr800.c: missing mutex include radio-mr800.c uses struct mutex, so while seems to be pulled in indirectly by one of the headers it already includes, the right thing is to include it directly. Signed-off-by: Alessio Igor Bogani Signed-off-by: Andrew Morton Acked-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit eda9f7523b6760bdfc3b9c5001214467b5ecd618 Author: Simon Arlott Date: Tue May 12 17:39:28 2009 -0300 V4L/DVB (11841): core: fix potential mutex_unlock without mutex_lock in dvb_dvr_read dvb_dvr_read may unlock the dmxdev mutex and return -ENODEV, except this function is a file op and will never be called with the mutex held. There's existing mutex_lock and mutex_unlock around the actual read but it's commented out. These should probably be uncommented but the read blocks and this could block another non-blocking reader on the mutex instead. This change comments out the extra mutex_unlock. [akpm@linux-foundation.org: cleanups, simplification] Signed-off-by: Simon Arlott Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1010ed132727bbf486ac28fd149ccfb0ef5cd2ab Author: Cohen David.A Date: Mon May 11 11:00:20 2009 -0300 V4L/DVB (11840): change kmalloc to vmalloc for sglist allocation in videobuf_dma_map/unmap Change kmalloc()/kfree() to vmalloc()/vfree() for sglist allocation during videobuf_dma_map() and videobuf_dma_unmap() High resolution sensors might require too many contiguous pages to be allocated for sglist by kmalloc() during videobuf_dma_map() (i.e. 256Kib for 8MP sensor). In such situations, kmalloc() could face some problem to find the required free memory. vmalloc() is a safer solution instead, as the allocated memory does not need to be contiguous. Signed-off-by: David Cohen Signed-off-by: Mauro Carvalho Chehab commit 04a37e0f32f9882430bc1899899d2ed91b8aaf5b Author: Laurent Pinchart Date: Tue May 19 10:08:03 2009 -0300 V4L/DVB (11837): uvcvideo: Start status polling on device open Most UVC camera include an interrupt endpoint to report control value changes, video streaming errors and camera button events. The USB controller continuously polls the interrupt endpoint to retrieve such events. This prevents the device from being auto-suspended, and thus consumes power. Reporting video streaming errors don't make sense when the V4L2 device is closed. Control value changes are probably useless as well if nobody listens to the events, although caching will probably have to be completely disabled then. No polling is thus be required when /dev/videoX is not opened. To enable auto-suspend and save power do not poll the interrupt endpoint until the device is open. We lose the ability to detect button events if no application is using the camera. http://bugzilla.kernel.org/show_bug.cgi?id=11948 Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit b2d9cc4226fa512aa36fd78738f5069dfce0583d Author: Laurent Pinchart Date: Wed May 6 12:37:44 2009 -0300 V4L/DVB (11836): uvcvideo: Add missing whitespaces to multi-line format strings. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 078f8947926732a526fb280c0f3a8920bf173b9c Author: Laurent Pinchart Date: Wed May 6 12:30:30 2009 -0300 V4L/DVB (11835): uvcvideo: Parse frame descriptors with non-continuous indexes. The UVC specification requires frame descriptors indexes to range from 1 to the number of frame descriptors. At least some Hercules Dualpix Infinite webcams erroneously use non-continuous index ranges. Make the driver support them. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 86cf5f84e60fe32e3e665fdc69325f8993970189 Author: Alan Nisota Date: Wed May 20 05:52:13 2009 -0300 V4L/DVB (11833): dvb-usb: Remove support for Genpix-CW3K (damages hardware) I have been informed by the manufacturer that the patch currently in the v4l tree to support the Genpix-CW3K version of the hardware will actually damage the firmware on recent units. As he seems to not want this hardware supported in Linux, and I do not know how to detect the difference between affected and not-affected units, I am requesting the immediate removal of support for this device. This patch removes a portion of the changeset dce7e08ed2b1 applied 2007-08-18 relating to this specific device. Adapted patch to not remove code, but to only to comment it out. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 81dae6716f13e801cfe2035514e7aeb971b57492 Author: matthieu castet Date: Wed May 20 05:42:33 2009 -0300 V4L/DVB (11832): dibusb_mc: fix i2c to not corrupt eeprom in case of strange read pattern dibusb_i2c_xfer seems to do things very dangerous : it assumes that it get only write/read request or write request. That means that read can be understood as write. For example a program doing file = open("/dev/i2c-x", O_RDWR); ioctl(file, I2C_SLAVE, 0x50) read(file, data, 10) will corrupt the eeprom as it will be understood as a write. Signed-off-by: Matthieu CASTET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a9b8fe30a6d2a49749327ff18c4daa488ef73ab3 Author: Patrick Boettcher Date: Wed May 20 05:35:02 2009 -0300 V4L/DVB (11831): dib0700: added USB IDs for Terratec T3 and T5 This patch adds the USB IDs for the Terratec devices T3 and T5. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f0f4ae763b3dc04de3745a75c3518925d1b8325e Author: tomas petr Date: Wed May 20 05:28:05 2009 -0300 V4L/DVB (11830): dib0700: add support for Leadtek WinFast DTV Dongle H "Leadtek WinFast DTV Dongle H" is a hybrid digital/analog USB-stick TV receiver. The code below allows the digital part to work with dvb_usb in linux. Signed-off-by: tomas petr Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d66b94b4aa2f40e134f8c07c58ae74ef3d523ee0 Author: Patrick Boettcher Date: Wed May 20 05:08:26 2009 -0300 V4L/DVB (11829): Rewrote frontend-attach mechanism to gain noise-less deactivation of submodules This patch is reorganizing the frontend-attach mechanism in order to gain noise-less (superflous prints) deactivation of submodules. Credits go to Uwe Bugla for helping to clean and test the code. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 302e8acc4137821cd30514da3d91ac109b461c7d Author: Matthias Schwarzott Date: Wed May 20 04:57:10 2009 -0300 V4L/DVB (11828): Reducing print-level of I2C error prints Reducing the print-levle of I2C error prints cleans some unwanted but unavoidable errors from default syslog-level. Signed-off-by: Matthias Schwarzott Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 766ed64de554fda08ceb927d36279eabcb08acb3 Author: Mauro Carvalho Chehab Date: Sun May 24 00:46:01 2009 -0300 V4L/DVB (11827): Add support for Terratec Grabster AV350 Signed-off-by: Mauro Carvalho Chehab commit 4557af9c5338605c85fe54f5ebba3d4b14a60ab8 Author: Mauro Carvalho Chehab Date: Sat May 23 09:58:52 2009 -0300 V4L/DVB (11825): em28xx: add Terratec Grabby Signed-off-by: Mauro Carvalho Chehab commit d18e2fda7133287bf8a81809816e646cf17c332e Author: Devin Heitmueller Date: Sat May 16 17:09:28 2009 -0300 V4L/DVB (11810): em28xx: properly set packet size based on the device's eeprom configuration. The em28xx actually has a register that tells the driver what the maximum packet size is (based on a value programmed into the eeprom). Make use of that register instead of assuming a hardcoded value of 564 (since 564 is not correct for devices that do QAM such as the KWorld 340u). Note that for now the em2874 code isn't there, falling back to the 564 value, however this is not a problem since there are not any em2874 based devices in the current v4l-dvb tree). Thanks to Jarod Wilson for detecting the initial problem and figuring out that the isoc configuration was wrong for his device. Cc: Jarod Wilson Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 027aa2c771d9fb8dc6aae95c80b50e40e3c97dc5 Author: Devin Heitmueller Date: Thu May 14 23:38:51 2009 -0300 V4L/DVB (11808): au0828: get rid of debug printk that was causing compile failures Remove a debug printk() line I added which is no longer needed, and happened to be causing compile failures on some earlier kernels in Han's daily compile report. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b8d91986e60e5e15a5283935a99ef86650744a46 Author: Devin Heitmueller Date: Thu May 14 21:50:36 2009 -0300 V4L/DVB (11807): cx88: remove xc5000 reset for Pinnacle 800i According to the engineer at PCTV Systems, the xc5000 reset pin is supposed to be on GPIO12. However, despite three nights of effort, pulling that GPIO low didn't reset the xc5000. While pulling MO_SRST_IO low does reset the xc5000, this also resets in the s5h1409 being reset as well. This causes tuning to always fail since the internal state of the s5h1409 does not match the driver's state. Given that the only two conditions in which the driver performs a reset is during firmware load and powering down the chip, I am taking out the reset. We know that the chip is being reset when the cx88 comes online, and not being able to do power management for this board is better than not having any tuning at all. Problem discovered when implementing proper power management for the xc5000, which results in calls to the reset callback *after* s5h1409 is initialized. Cc: Steven Toth Cc: Chaogui Zhang Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e80858e88b2c9c20de849c67ac2804218a25aaa3 Author: Devin Heitmueller Date: Thu May 14 21:31:11 2009 -0300 V4L/DVB (11806): xc5000: add copyright line Add copyright line for xc5000.c. Cc: Steven Toth Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e4b8bc524141f48af29f5c3096ac96701cf39c8a Author: Devin Heitmueller Date: Wed May 6 20:54:00 2009 -0300 V4L/DVB (11805): au0828: send command to power down tuner when done with analog Make sure the au0828 issues the command to power down the tuner when the user is done using analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a37791c54066d268cb616233b699ebe275d3a888 Author: Devin Heitmueller Date: Mon May 4 23:29:17 2009 -0300 V4L/DVB (11804): xc5000: poll at 5ms interval for register write command completion Instead of polling at 100ms intervals for register writes, poll at 5ms intervals. This is consistent with the xc5000 specification, and improves tuning time by up to 500 ms on devices that such as the au0828 which do not properly implement i2c clock stretching (since the five register writes that occur for a tuning request often do not complete immediately but do complete far before 100ms has gone by). The net amount of time we wait before timing out is unchanged (500ms). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6c99080d8eae64c51f8b44946eb47f995361c582 Author: David T.L. Wong Date: Mon May 4 22:59:58 2009 -0300 V4L/DVB (11803): xc5000: add support for DVB-T tuning This patch adds XC5000 supports for DVB-T 6MHz and 8MHz bandwidth. Signed-off-by: David T.L. Wong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a6301d1d57dc08ef0e575d39f21435a2fe805900 Author: Devin Heitmueller Date: Mon May 4 22:04:20 2009 -0300 V4L/DVB (11802): xc5000: switch to new xc5000 firmware 1.6.114 with redistribution rights Xceive has graciously allowed us to now freely redistribute the xc5000 firmware, which eliminates the need for users to manually extract the blob from the Hauppauge driver. Thanks to Brian Mathews for providing this code Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f0f4633a048128031b1a37253ab7935aca748b6b Author: Devin Heitmueller Date: Mon May 4 21:57:41 2009 -0300 V4L/DVB (11801): dib0700: reduce xc5000 sleep time for Pinnacle 801e to 10ms According to the xc5000 spec, the reset pin only needs to be held low for 10ms. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4900877b7cdcb88e24c4130cb3c25080c03c335c Author: Devin Heitmueller Date: Tue Apr 28 16:22:47 2009 -0300 V4L/DVB (11800): tuner-xc2028: show the proper module description for no_poweroff option There was a typo in the module description for the "no_poweroff" option, where the help was being associated with the "debug" option instead. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ee7e63f599ae797c785281ee552c7da98b4efb7d Author: Devin Heitmueller Date: Tue Apr 28 14:07:14 2009 -0300 V4L/DVB (11799): xc5000: don't load firmware until a tuning request is made Defer loading of the xc5000 firmware until it is actually needed. This helps on distros that have hald, which results in the device not being available for use for around ten seconds in cases where the i2c bus is slow (such as the HVR-950Q). Also, the firmware load isn't really useful since we immediately put the device to sleep afterward, which means a firmware reload will be required anyway. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b6bd5eb871184dd976ce2d410888b2a29d90371a Author: Devin Heitmueller Date: Tue Apr 28 13:53:38 2009 -0300 V4L/DVB (11798): xc5000: add "no_poweroff" module option Provide for the ability for a user to disable putting the tuner to sleep, in case he doesn't want to incur the cost of reloading the firmware when starting up his/her application. The module options are intentionally identical to xc3028. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 34a0db9202414c42763a437f9937cd8692263170 Author: Devin Heitmueller Date: Thu Apr 2 22:45:17 2009 -0300 V4L/DVB (11797): xc5000: cleanup firmware loading messages Make it a little more obvious in the dmesg output what is going on during firmware upload. This is more important for boards like the HVR-950q that take nearly seven seconds to do the upload. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 81c4dfe7764abc0c859cc0ab2d7cf54dbb36487a Author: Devin Heitmueller Date: Thu Apr 2 22:40:29 2009 -0300 V4L/DVB (11796): xc5000: start using the newer "finerfreq" tuning command Starting in firmware version 1.1.44, Xceive recommends using the FINERFREQ for all normal tuning (the doc indicates reg 0x03 should only be used for fast scanning for channel lock) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit bae7b7d73da0e42169aeb7c697e2c9549929300b Author: Devin Heitmueller Date: Thu Apr 2 22:24:38 2009 -0300 V4L/DVB (11795): xc5000: add build version to debug info Expose the firmware build number along with the other version info Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b25ed9c5352ed338376481d45525392a75d40e33 Author: Devin Heitmueller Date: Thu Apr 2 22:14:51 2009 -0300 V4L/DVB (11794): au0828: reduce reset time for xc5000 to 10ms The xc5000 datasheet indicates that the reset pin only needs to be held low for 10ms. Reduce the value accordingly, which speeds up the firmware load time a bit. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7f05b530bea09606401dfed386a836b8b7292e65 Author: Devin Heitmueller Date: Thu Apr 2 22:02:39 2009 -0300 V4L/DVB (11793): xc5000: Properly support power down for newer firmware Xceive got rid of the XREG_POWER_DOWN register in later firmware revisions. Their technical support informed me that the correct way to put the tuner to sleep is to pull the reset pin (but don't reload the firmware). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 361d4892cdec41faac5806fcd43cf4898990e0a4 Author: Devin Heitmueller Date: Thu Apr 2 21:50:11 2009 -0300 V4L/DVB (11792): xc5000: switch to new version of Xceive firmware This switches to a new version of the xc5000 firmware, extracted from the latest Hauppauge driver. It includes the support for the XREG_BUSY register (a lack of which was causing tuning to take 3200ms instead of around 300ms). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a78baacffe910bfdce2e08e93b31e702cc811114 Author: Devin Heitmueller Date: Sun Nov 16 20:48:31 2008 -0300 V4L/DVB (11791): xc5000: do not sleep after digital tuning Don't sleep for 400ms polling the tuner's lock if in digital mode (since the xc5000 lock status registers appear to only be reliable in analog mode) Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8e4c67972e6c7d65903a31a2d9969da38157860b Author: Devin Heitmueller Date: Sun Nov 16 20:41:07 2008 -0300 V4L/DVB (11790): xc5000: restore sleep routine Bring back the code that puts the xc5000 to sleep. For the Pinnacle 801e this results in power consumption at idle dropping from 325ma to 124ma. If there are *actually* any devices that don't work in this configuration, they should set dvb_frontend.ops.tuner_ops.sleep to NULL (per mkrufky's suggestion) Also, had to make sure we were making sure the firmware was loaded in the digital version of set_params, or else we end up get i2c errors if the device is asleep Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7988fc216d41dfc8325d192360ccb702736b3e69 Author: Devin Heitmueller Date: Sun Nov 16 20:23:19 2008 -0300 V4L/DVB (11789): xc5000: check xc5000_readreg return value for XC_RESULT_SUCCESS Make return value checking for calls to i2c routines explicit. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d7800d4ea977fa323d1529850ecc499b82df6884 Author: Devin Heitmueller Date: Sun Nov 16 20:20:06 2008 -0300 V4L/DVB (11788): xc5000: cleanup i2c write routines Cleanup the i2c write routine, getting rid of a passthrough function with only one caller Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bdd335636a1afe1f30076915395874549be8cd35 Author: Devin Heitmueller Date: Sun Nov 16 20:17:14 2008 -0300 V4L/DVB (11787): xc5000: cleanup i2c read routines This patch centralizes the i2c read functions, and eliminates pass-through function only called by one caller. Make reading of xc5000 registers an atomic i2c transaction in case we're on a multi-master bus. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 91bd625e217452f01fc568f4d2cb3ad5cee4640c Author: Devin Heitmueller Date: Sat Nov 15 23:29:11 2008 -0300 V4L/DVB (11786): xc5000: handle tuner reset failures properly Properly handle tuner reset failures (before it was always returning success) Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8475cbcb0f885189969915eb3680d10fc525d722 Author: Dmitri Belimov Date: Mon May 11 08:16:06 2009 -0300 V4L/DVB (11775): tuner: add support Philips MK5 tuner Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 247bc54053df81ede8de32074384c74b0e2eb79b Author: Michael Krufky Date: Tue May 12 18:53:47 2009 -0300 V4L/DVB (11773): cx23885: clean up struct names for Hauppauge WinTV-HVR127X devices Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5308cf09fe16bdf65f9c6e95e7168361efe7c1d5 Author: Michael Krufky Date: Tue May 12 18:37:35 2009 -0300 V4L/DVB (11772): cx23885: update model matrix for "k2c2" retail boards Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6b926eca9824568b18825d3eade5fb39e3b5a9fb Author: Michael Krufky Date: Tue May 12 17:32:17 2009 -0300 V4L/DVB (11771): cx23885: add DVB-T tuning support for Hauppauge WinTV-HVR1210 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19bc57968cc854c7da4846c21b3ef2a39e43f97d Author: Michael Krufky Date: Fri May 8 16:05:29 2009 -0300 V4L/DVB (11770): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1255 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d099becb0bd7ee01a13d58371b4ea5a2f7052c04 Author: Michael Krufky Date: Fri May 8 22:39:24 2009 -0300 V4L/DVB (11769): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1275 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a5dbf45766a378cc00f341f7179befab1edae573 Author: Michael Krufky Date: Sun May 3 23:27:02 2009 -0300 V4L/DVB (11768): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1270 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2074dffaedebbf5a8468fd37855d6d94ba34041c Author: Steven Toth Date: Sat May 2 11:39:46 2009 -0300 V4L/DVB (11767): cx23885: Add preliminary support for the HVR1270 The patch means the board will be recognised, and the parts brought out of reset correctly. This patches depends on the centralized GPIO patch to be merged. What's missing before the HVR-1270 will function for DTV? The model# needs to be added to avoid 'unknown model' output and the LG3305/Tuner need to be attached in cx23885-dvb.c Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6de72bd6453003ef14acc3bac4159f7fffff7064 Author: Michael Krufky Date: Mon May 11 13:37:26 2009 -0300 V4L/DVB (11766): cx23885: mark functions encoder_on_port[bc] as static inline Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f8bee9b104465a881f7e8acd5cbd3e6a0730759 Author: Steven Toth Date: Sat May 2 11:29:50 2009 -0300 V4L/DVB (11765): cx23885: Add generic functions for driving GPIO's The GPIO's on the product can be in one of three places. To date we've mainly used the GPIO's on the bridge itself, and once on the encoder. Rather than having the complexity of multiple GPIO writes/reads from isolated placed in the driver we'll route them through this function, so we can make intelligent decisions about 1) Where the GPIO lives and 2) Whether it conflicts (based on board) with some other function to avoid bugs. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ea3b73dc13d87d92e805f439f3d7bfcb5865db06 Author: Oliver Endriss Date: Wed Apr 29 23:25:07 2009 -0300 V4L/DVB (11763): dvb-ttpci: Some whitespace adjustments Some whitespace adjustments. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e76ef133522df8ad566d3e176a363ed006ff6829 Author: Oliver Endriss Date: Wed Apr 29 23:09:44 2009 -0300 V4L/DVB (11762): dvb-ttpci: Fixed return code of av7110_av_start_play av7110_av_start_play() should return 0 on success. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 452dac4550f757ef263c324d967414aa6c6122d7 Author: Oliver Endriss Date: Thu Apr 23 23:24:33 2009 -0300 V4L/DVB (11761): dvb-ttpci: Fixed VIDEO_SLOWMOTION ioctl Fixed VIDEO_SLOWMOTION ioctl. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ef226d00dd041f753163fd3b69c7790496ab8384 Author: Oliver Endriss Date: Sun Apr 19 14:47:01 2009 -0300 V4L/DVB (11760): dvb-ttpci: Check transport error indicator flag Discard PES packet if transport error indicator flag is set. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit fd46d16d602ab7fd53cef7ff55b9dcb0b47ad3bf Author: Oliver Endriss Date: Fri Apr 10 10:20:00 2009 -0300 V4L/DVB (11759): dvb-ttpci: Add TS replay capability Implemented TS replay capability. audio/video devices are able to process PES and TS data now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit b7fd6067143181becb5b14765f4ad25857846491 Author: Randy Dunlap Date: Mon May 11 13:37:41 2009 -0300 V4L/DVB (11758): 2: handle unregister for non-I2C builds Build fails when CONFIG_I2C=n, so handle that case in the if block: drivers/built-in.o: In function `v4l2_device_unregister': (.text+0x157821): undefined reference to `i2c_unregister_device' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 507a34f450e3bac2940da4549ca56bcba25184e7 Author: Steven Toth Date: Tue May 5 19:31:42 2009 -0300 V4L/DVB (11701): pvrusb2: Ensure the PVRUSB2 disabled the i2c gate on the tda10048. ... else DVB-T tuning will not work. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8153c3b7d80a2058f91fb0b4ef49190f241ecc34 Author: Steven Toth Date: Tue May 5 19:30:27 2009 -0300 V4L/DVB (11700): tda10048: Added option to block i2c gate control from other drivers. Currently, DVB-T is broken and this fixes it. The PVRUSB2 has an odd I2C bus configuration where opening the i2c gate on the digital and analog demod causes the tuner to fail. This needs to be protected against for the PVRUSB2. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38092a4402e0df6f1f283ff6e455197035266ce7 Author: Hans Verkuil Date: Sat May 2 12:06:15 2009 -0300 V4L/DVB (11677): radio-fm16: fix g_tuner. g_tuner handled capability, audmode and rxsubchans incorrectly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d80db562f9ee6d6d72cdbf488493e4cd6433669 Author: Hans Verkuil Date: Sat May 2 12:04:13 2009 -0300 V4L/DVB (11676): radio-fm16: cleanups Remove bogus flags field Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9d6f7f603f8c362eec321e8dacb1cb54d74fa004 Author: Randy Dunlap Date: Mon May 11 14:51:32 2009 -0300 V4L/DVB (11756): soc_camera: depends on I2C soc_camera uses i2c_*() functions and has build errors when CONFIG_I2C=n: ERROR: "i2c_new_device" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_get_adapter" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_put_adapter" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_unregister_device" [drivers/media/video/soc_camera.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5d24a037f16d6663761d32ea2a0b6acf60cd632c Author: Andy Walls Date: Sat May 9 00:43:40 2009 -0300 V4L/DVB (11753): tveeprom: Point the TCL MNM05-4 tuner entry to an actual tuner definition The TCL MNM05-04 is used on some HVR-1600 models. It appears to be similar to the TCL MFMN05-4 but without FM radio. The TUNER_PHILIPS_FM1236_MK3 tuner definition appears to be the proper existing tuner definition to use for this tuner. Reported-by: Matt Beadon Tested-by: Matt Beadon Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 4442ee8bddf0a412c566e638345860b187849692 Author: Andy Walls Date: Sat May 9 00:34:31 2009 -0300 V4L/DVB (11752): cx18: Add missing newline to tuner detection error message Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 008b6c5f76fd447ba0d49b6ca958a06ee4786085 Author: Mike Isely Date: Sat May 9 18:00:23 2009 -0300 V4L/DVB (11750): pvrusb2: Allocate a routing ID for future support of Terratec Grabster AV400 Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa7ce76428e7ee61dfccf336505da7e1b79966b0 Author: Jean Delvare Date: Sat May 2 00:22:27 2009 -0300 V4L/DVB (11748): pvrusb2: Don't use the internal i2c client list The i2c core used to maintain a list of client for each adapter. This is a duplication of what the driver core already does, so this list will be removed as part of a future cleanup. Anyone using this list must stop doing so. For pvrusb2, I propose the following change, which should lead to an equally informative output. The only difference is that i2c clients which are not a v4l2 subdev won't show up, but I guess this case is not supposed to happen anyway. Signed-off-by: Jean Delvare Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 48c5b0dfd74f6380aa5fc500fe8d8256f0662592 Author: Mike Isely Date: Sat May 2 00:04:35 2009 -0300 V4L/DVB (11747): pvrusb2: Bump up version advertised through v4l interface Kick up the pvrusb2 version number advertised through the v4l interface. This value really has almost no meaning because I don't make a serious attempt to version the driver in this manner (otherwise this one line becomes a nasty hotspot of changes and merge conflicts). The value that is here is really a historical thing. However Hans Verkuil thought it might be a good idea to bump up the number anyway right now since the driver's mechanism for communicating with the v4l core has pretty much completely changed. Sending out a Signed-off-by: Mauro Carvalho Chehab commit 96e56c1ac45ac2c1df4ab355057e5866b92f030f Author: Mike Isely Date: Fri May 1 22:33:16 2009 -0300 V4L/DVB (11746): pvrusb2: Set ir_video autoloading to default disabled This sets the disable_autoload_ir_video module option to being set, which disables any attempt by the driver to autoload IR support. This changes preserves previous behavior, for now. This change can be set back concurrent with other changes that finally update i2c-kbd-i2c to use the new i2c binding model. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit cd85b7afe1b76e899c387a5d1fd727021aff4a51 Author: Mike Isely Date: Fri May 1 22:23:39 2009 -0300 V4L/DVB (11745): pvrusb2: Update to work with upcoming ir_video changes in v4l-dvb core The ir-kbd-i2c module is about to be updated to match the new style i2c binding model. These pvrusb2 changes maintain compatibility with that change. Note that this does not actually break anything even without the expected ir-kbd-i2c changes yet because previously the pvrusb2 didn't autoload ir-kbd-i2c anyway. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 27eab3840baaee469eb6377607520ca2128b66f7 Author: Mike Isely Date: Mon Apr 6 01:51:38 2009 -0300 V4L/DVB (11744): pvrusb2: Select, track, and report IR scheme in use with the device This change defines all possible "IR schemes" related to the pvrusb2 driver, on a per-device basis. That information is then set according to the hardware in use. The idea here is to make possible a more intelligent future decision on which, if any, IR receiver driver might be loaded during initialization. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 06e61f8d5f5df68104168ac20d0527ecee13638a Author: Chaithrika U S Date: Thu May 7 09:30:01 2009 -0300 V4L/DVB (11743): Analog Devices ADV7343 video encoder driver Add ADV7343 I2C based video encoder driver. This follows the v4l2-subdev framework. This driver has been tested on TI DM646x EVM. It has been tested for Composite and Component outputs. Updates as per review by Mauro Chehab, added support for more standards supported by the encoder. Also adding the missed out signed-offs.Tested only NTSC and PAL standards. [hverkuil@xs4all.nl: s_routing API changed, updated driver to use new API] Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 40199c50b891d24d1a8f1d480f886680a3ac9b74 Author: Chaithrika U S Date: Thu May 7 09:29:25 2009 -0300 V4L/DVB (11742): TI THS7303 video amplifier driver code This patch adds driver for TI THS7303 video amplifier. This driver is implemented as a v4l2 sub device. Tested on TI DM646x EVM. This version has updates based on review comments by Mauro Chehab. Signed-off-by: Chaithrika U S Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b475f4eeda1da16e995b2302f6eebdfb08ce18cd Author: Roel Kluin Date: Sat May 2 17:52:52 2009 -0300 V4L/DVB (11741): zoran: Fix &&/|| typo Fix &&/|| typo. `default_norm' can be 0 (PAL), 1 (NTSC) or 2 (SECAM), the condition tested was impossible. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 223ffe5f8270ba9d069f1cbff9acec095a6f58b1 Author: Roel Kluin Date: Sat May 2 16:38:47 2009 -0300 V4L/DVB: cleanup redundant tests on unsigned Remove redundant tests on unsigned. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit ca19d84295c2579229c5478db8b0f9cd7e821685 Author: Greg Kroah-Hartman Date: Thu Apr 30 19:18:08 2009 -0300 V4L/DVB (11739): remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Mauro Carvalho Chehab commit 413ef8a20ae4c12f2462385ac2eebf51a6feabea Author: Jean Delvare Date: Thu Apr 30 05:40:07 2009 -0300 V4L/DVB (11737): Drop stray references to i2c_probe The new i2c binding model doesn't use i2c_probe. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 925d74ae717c9a12d3618eb4b36b9fb632e2cef3 Author: Németh Márton Date: Wed Apr 29 15:57:24 2009 -0300 V4L/DVB (11736): videobuf: modify return value of VIDIOC_REQBUFS ioctl The V4L2 ioctls usually return 0 when the operation was successful and -1 in case of error. Currently VIDIOC_REQBUFS returns the number of buffers which is redundant because this information is available in count field of struct v4l2_requestbuffers. The V4L2 API specification, revision 0.24 [1] explicitly specifies for VIDIOC_REQBUFS that the return value shall be 0 on success. The patch was tested with v4l-test 0.13 [2] with vivi driver. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r13696.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: Mauro Carvalho Chehab commit 3e9a489743ea87663e9ff638cb9b8fe13805a327 Author: Pieter Van Schaik Date: Wed Apr 29 03:55:31 2009 -0300 V4L/DVB (11735): Enables the Winfast TV2000 XP Global TV IR Adds support to the remote control of the Winfast TV2000 XP Global TV capture card. A case statement was added in order to initialize the GPIO data structures as well as a case statement for handling the keys correctly when pressed. Thanks to Hermann and Mauro for all the help Signed-off-by: Pieter C van Schaik Signed-off-by: Mauro Carvalho Chehab commit 2ec3475609aa70cd0d9ea218c5d4e915a3caef49 Author: Dmitri Belimov Date: Tue Apr 28 06:46:15 2009 -0300 V4L/DVB (11734): remove hw reset of MPEG encoder when lost/found seq. When we capture signal from composite input offen lost and found syncro sequence. In this case the MPEG coder hardware reset after each lost/found event. The image has a lot of artefactes. This patch remove hardware reset of MPEG encoder. This is patch from our customer. I checked this. With my best regards, Dmitry. Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit 82aa98fd9279dfe3e36679b7529f7b962939150e Author: Dmitri Belimov Date: Tue Apr 28 06:41:08 2009 -0300 V4L/DVB (11733): increase MPEG encoder timout If video has a lot of changes in frame, MPEG encoder need more time for coding process. Add new bigger timeout for encoder. This is patch from our customer. I checked this. Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit be4a1a2209b5c6e6895e0b828a24df04ecb9d40f Author: hermann pitton Date: Tue Apr 28 19:44:05 2009 -0300 V4L/DVB (11732): saa7134: disable not yet existing IR and DVB support on the Compro T750 The Compro VideoMate T750 has no support for IR and DVB-T yet. Disable both to avoid fall through and confusing printouts. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit c9adb4314f0cd2be9304cef8342d71464becb40e Author: Magnus Damm Date: Tue Apr 28 05:45:39 2009 -0300 V4L/DVB (11731): buf-dma-contig: remove sync operation Remove the videobuf-dma-contig sync operation. Sync is only needed for noncoherent buffers, and since videobuf-dma-contig is built on coherent memory allocators the memory is by definition always in sync. Reported-by: Matthieu CASTET Signed-off-by: Magnus Damm Reviewed-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit 6e9c1a2a6766df0cad1632812c6ad05eabf158e4 Author: Wen-chien Jesse Sung Date: Tue Apr 28 01:11:22 2009 -0300 V4L/DVB (11730): af9015: support for KWorld MC810 Add USB ID (1b80:c810) for Kworld MC810. Signed-off-by: Wen-chien Jesse Sung Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 7b5cb558381607d7e0d04f49d16dd3825ca5261a Author: Roel Kluin Date: Sun Apr 26 12:31:26 2009 -0300 V4L/DVB: cx23885/cymax2: binary/logical &/&& typo Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 60c7ef3967edfb2dd59aa149fd25da4779e3261e Author: Tobias Klauser Date: Sun Apr 26 10:03:29 2009 -0300 V4L/DVB (11724): firedtv: 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: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit e9785250ef2eead8bd5e9166679c0be0595df387 Author: Jean Delvare Date: Sun Apr 26 05:43:59 2009 -0300 V4L/DVB (11723): Link firmware to physical device Use the physical device rather than the i2c adapter as the reference device when loading firmwares. This will prevent the sysfs name collision with i2c-dev that has been reported many times. I may have missed other drivers which need the same fix. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f8eaaf4f2a2810d6e486da2916ef07f7e00665c9 Author: Jani Monoses Date: Thu May 7 03:32:27 2009 -0300 V4L/DVB (11720): gspca - sonixj: Webcam 06f8:3008 added Signed-off-by: Jani Monoses Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d1ba6f15c87d64791da7c21d852b62dfbcc472b7 Author: Jean-Francois Moine Date: Tue May 5 05:01:11 2009 -0300 V4L/DVB (11719): gspca - vc032x: mi1320_soc images are upside-down Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2c9561088b14c19ce9d970d2b67b48e103cf2dd7 Author: Jean-Francois Moine Date: Tue May 5 04:59:45 2009 -0300 V4L/DVB (11718): gspca - vc032x: Bad pixelformat for mi1320_soc Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ceec80e5a52580bd7b257c14c6c8355be58c971f Author: Jean-Francois Moine Date: Sat May 9 06:21:35 2009 -0300 V4L/DVB (11717): gspca - sonixj: Webcams with bridge sn9c128 added Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c8b9b2cad435544177a2b7eed1c59438945de68b Author: Jean-Francois Moine Date: Sun Apr 26 14:46:12 2009 -0300 V4L/DVB (11716): gspca - sonixj: Adjust some exchanges according to traces Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 49cb6b046da812d9c1d1f8c958b741126ee4eece Author: Jean-Francois Moine Date: Sat Apr 25 13:29:01 2009 -0300 V4L/DVB (11715): gspca - main: Set the number of packets per ISOC message. The number of packets per isochronous message may now be set by the subdrivers (default value 32). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 59746e1390835ce889e56fa4e792019462465623 Author: Jean-Francois Moine Date: Thu Apr 23 14:33:00 2009 -0300 V4L/DVB (11714): gspca - spca500 and sunplus: Change the 0x00 insertion mechanism. The new mechanism does not use any temporary buffer. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ed47119fb7c7890605379b23180d1b09717b6b5d Author: Jean-Francois Moine Date: Thu Apr 23 13:52:27 2009 -0300 V4L/DVB (11713): gspca - ov534: Don't discard the images when no UVC EOF A new image may start without any UVC EOF in the last packet of the previous image. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8dd07ef1236356222207058ee6a83c24cc896e8d Author: Jean-Francois Moine Date: Tue Apr 21 14:05:44 2009 -0300 V4L/DVB (11712): gspca - main: Set the current alternate setting only when needed Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 30d35e49509345a3bee778e0cee8545cd70853e2 Author: Jean-Francois Moine Date: Tue Apr 21 13:57:31 2009 -0300 V4L/DVB (11711): gspca - main: Fix a crash when no bandwidth available When the bandwidth is not wide enough, the transfer endpoint may be set to the one of the alternate setting 0. This one may be null and this causes a divide by 0 oops. Reported-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6929dc6b30dc3a6c9c411f677a11b866e8dd28aa Author: Jean-Francois Moine Date: Tue Apr 21 13:45:56 2009 -0300 V4L/DVB (11710): gspca - main: Webcams cannot do both isoc and bulk image transfers. Let the subdrivers to set the 'image transfer by bulk' flag. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0b119b7bf4612d6de6638a0babe93c1d8509a838 Author: Jean-Francois Moine Date: Tue Apr 7 05:30:31 2009 -0300 V4L/DVB (11709): gspca - zc3xx: Bad debug level in i2c_read Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11bd199aa089e05316c487ba4d82dd7b3ac5d947 Author: Jean-Francois Moine Date: Tue Apr 21 04:17:59 2009 -0300 V4L/DVB (11708): gspca - main: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0fd327bd0d1b508eb64da3876098f6f43bfc1509 Author: Guennadi Liakhovetski Date: Thu May 7 13:25:32 2009 -0300 V4L/DVB (11705): soc-camera: prepare for the platform driver conversion Add a platform driver to soc_camera.c. This way we preserve backwards compatibility with existing platforms and can start converting them one by one to the new platform-device soc-camera interface. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f4672dffa126afe8c75bf45adc0f06c0a06d08e8 Author: Andy Walls Date: Sun May 3 18:01:57 2009 -0300 V4L/DVB (11703): cx18: Have audio decoder drive SIF gain control, and rework AFE config Ensure the variable gain amplifier gain for SIF is driven by the audio deocder and not the video decoder. This forced rework of the analog front end (AFE) configuration to not rely on autoconfiguration, but instead set up the AFE mux, AFE parameters, and ADC1 & ADC2 configurations explicitly. Reported-by: Helen Buus Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c7470206de9a879d8b90939a37a0d26ead114bd1 Author: Steven Toth Date: Sat May 2 11:09:08 2009 -0300 V4L/DVB (11699): pvrusb2: Ensure we specify the I/F at attach time Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 484d9e0577c12f9c66a7eab799858ad9617da4bf Author: Steven Toth Date: Sat May 2 11:08:23 2009 -0300 V4L/DVB (11698): cx23885: For tda10048 boards ensure we specify the I/F Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d114153816ec188b20a37583e66da33d8b2798fe Author: Steven Toth Date: Sat May 2 11:07:29 2009 -0300 V4L/DVB (11697): tda10048: Add ability to select I/F at attach time. tda10048: Add ability to select I/F at attach time. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 17720e07b6ac573c8929c39f9036dbc460867b72 Author: Erik Andrén Date: Sun May 3 15:51:36 2009 -0300 V4L/DVB (11695): gspca - stv06xx-vv6410: Set analog gain at init Set the analog gain at sensor init. Also set a sensible default value. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 28d7a20a7849e11173206db560aa76113ed4f62e Author: Erik Andrén Date: Fri Apr 3 17:16:42 2009 -0300 V4L/DVB (11694): gspca - stv06xx-vv6410: No need to double set gain and exposure Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1906d8d17e556510603a9281b4fa960f2d73cc37 Author: Erik Andrén Date: Sun May 3 15:45:48 2009 -0300 V4L/DVB (11693): gspca - stv06xx-vv6410: Add exposure ctrl Add the possibility to control the exposure on the vv6410 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1b844b536794163eb676b71e6e4c033f6d4b6b33 Author: Erik Andrén Date: Sun May 3 15:31:55 2009 -0300 V4L/DVB (11692): gspca - m5602: Checkpatch.pl fixes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 951872a8198a5a336a49075320197ac5b2e5c6f1 Author: Erik Andrén Date: Tue Mar 10 16:45:57 2009 -0300 V4L/DVB (11691): gspca - m5602-ov9650: Add ASUS A6K vflip quirk The ASUS A6K needs the vflip quirk. Thanks to Marco Baldo for reporting the issue. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 79c3576a1938002c458ffc517668fcb944aff42e Author: Erik Andrén Date: Thu Feb 12 16:36:05 2009 -0300 V4L/DVB (11690): gspca - m5602-s5k4aa: Add vflip quirk for the MSI L735 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 9bc738fb5392f0733529e26d9bb70c8b3d5637ff Author: Grégory Lardière Date: Thu Feb 12 03:40:29 2009 -0300 V4L/DVB (11689): gspca - m5602-s5k4aa: Fixup the vflip/hflip Ensure that the hflip and vflip is consistent when the sensor needs to be vflip quirked or not. Signed-off-by: Grégory Lardière Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 60d52cecedf7b55bed07d59ab6039ae066f01124 Author: Grégory Lardière Date: Thu Feb 12 03:32:52 2009 -0300 V4L/DVB (11688): gspca - m5602-s5k4aa: Fixup SXGA resolution. The SXGA resolution doesn't work unless you first force the VGA resolution. More investigation is needed in order to fix this the "right" way. Signed-off-by: Grégory Lardière Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4db120bc07b330cd7221fda85bbfea54053a83af Author: Erik Andrén Date: Mon Feb 2 16:08:06 2009 -0300 V4L/DVB (11687): gspca - m5602-ov9650: Add missing v4l2 ctrl ids Red and blue balance missed their id fields Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 65bd761e9a8c9114febab4e554ec0800c59e8983 Author: Erik Andrén Date: Mon Feb 2 15:56:39 2009 -0300 V4L/DVB (11686): gspca - m5602-s5k4aa: Disable SXGA resolution for now SXGA resolution needs more testing. Disable it for now Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ff1e6a2155a42f99a9ded8362be2962b1089296b Author: Erik Andrén Date: Mon Feb 2 03:51:20 2009 -0300 V4L/DVB (11685): gspca - gspca-m5602: Constify parameters of two functions A number of parameters to some functions in the m5602 are constant and should be flagged as such. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4fcec145e9eaae26864731fd6a3120d34abcaffe Author: Erik Andrén Date: Thu Jan 29 13:34:41 2009 -0300 V4L/DVB (11684): gspca - m5602-s5k4aa: Add experimental SXGA support Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 27d403214317d42fbeaf626f2734a1028087fd16 Author: Manu Abraham Date: Sat May 2 18:26:58 2009 -0300 V4L/DVB (11682): STV0900/STV0903: Add support for Silicon cut >= 3 1. Support Silicon Cut >= 3.0 2. Remove support for obsolete cuts: 1.0. 1.1. 1.2 3. Try to catch more error cases Driver doesn't now attach to obsolete silcon cuts, It just simply quits. Results in code simplification, with removal of the obsolete cuts. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b5b2b7ed569cedac4f5da38e08b01c88443187bd Author: Hans Verkuil Date: Sat May 2 10:58:51 2009 -0300 V4L/DVB (11673): v4l2-device: unregister i2c_clients when unregistering the v4l2_device. Until now I relied on i2c_del_adapter to unregister the i2c_clients for me, however, if the i2c bus is a platform bus then it is never deleted. So instead I need to unregister i2c clients when unregistering the v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a79b11c025a5757a5129e716e7e66dc36a2dfe21 Author: Hans Verkuil Date: Sat May 2 10:15:17 2009 -0300 V4L/DVB (11672): ivtv: use v4l2_device_set_name. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 102e78136446faca7d7d241b628c5bd0e0d61d5d Author: Hans Verkuil Date: Sat May 2 10:12:50 2009 -0300 V4L/DVB (11671): v4l2: add v4l2_device_set_name() Add a utility function that can be used to setup the v4l2_device's name field in a standard manner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 416a7aa88300601d6630736836f9798c4079bc16 Author: Hans Verkuil Date: Sat May 2 09:42:57 2009 -0300 V4L/DVB (11670): tuner: remove tuner_i2c_address_check Support for tuners with i2c addresses >= 0x65 is dropped since no tuners with addresses in the range 0x65-0x6f have been found. This patch removes addresses 0x65-0x6f from the list of tuner probe addresses, it removes the kernel warning that warned if addresses in this range appeared, and it removed a hack for the cx88 that is no longer needed now that the tuner address range is reduced. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a26ccc9d76a16580c6800ef0758556c4406a31e0 Author: Steven Toth Date: Wed Apr 29 20:49:12 2009 -0300 V4L/DVB (11666): cx23885: Don't assume GPIO interrupts are cam related. cx23885: Don't assume GPIO interrupts are cam related. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 501d8cd4e248feebd465b016a7d5b7bc084f5f1f Author: Steven Toth Date: Sat Mar 28 14:22:21 2009 -0300 V4L/DVB (11665): cx88: Add support for the Hauppauge IROnly board. cx88: Add support for the Hauppauge IROnly board. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f1ff355a2c32dbe93cfe05160e05cbccc789ca33 Author: Mauro Carvalho Chehab Date: Tue May 5 06:39:21 2009 -0300 V4L/DVB (11663): Fix a warning introduced by git commit ec5f5bf80501abfe2da2897cfcde8452b545aacb /home/v4l/master/v4l/radio-si470x.c: In function 'si470x_fops_release': /home/v4l/master/v4l/radio-si470x.c:1218: warning: label 'unlock' defined but not used Signed-off-by: Mauro Carvalho Chehab commit efe018b315a780012d09af70b52a5747cb945e57 Author: Mauro Carvalho Chehab Date: Wed Apr 29 18:03:27 2009 -0300 V4L/DVB (11654a): Add a missing end of line at the end of gspca/m5602/Makefile Signed-off-by: Mauro Carvalho Chehab commit 2e03669d9da8c52f24ba44fdbd17c5df7be10585 Author: Tobias Klauser Date: Sun Apr 26 09:30:18 2009 -0300 V4L/DVB (11654): gspca - m5602: 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. [mchehab@redhat.com: Fix a trivial merge conflict] Cc: Erik Andrén Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 72b79747a88f1ffcb6689cedacc01235bb545cd6 Author: Erik Andrén Date: Wed Jan 28 13:14:34 2009 -0300 V4L/DVB (11650): gspca - m5602: Sort out macro conflict by adding a prefix Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b8265033d3ca5425e4fbdb77f9ccd3375f3f117 Author: Erik Andrén Date: Mon Apr 27 15:41:45 2009 -0300 V4L/DVB (11649): gspca - m5602: Probe the ov7660 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 52fa70b7f448da8b763e8c2f566d309d7399a20b Author: Erik Andrén Date: Wed Jan 28 04:02:49 2009 -0300 V4L/DVB (11648): gspca - m5602: Remove some needless error checking and add comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 934f78c3069943cf0654a6f809adf0375b078c38 Author: Erik Andrén Date: Wed Jan 28 03:34:02 2009 -0300 V4L/DVB (11647): gspca - m5602-po1030: Disable QVGA for now Getting QVGA to be supported on the po1030 seems harder than I first thought. I need access to the proper hardware in order to fix it up. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 489a8c37841969613572a8eca90c5a60a0236f1d Author: Erik Andrén Date: Wed Jan 28 03:29:51 2009 -0300 V4L/DVB (11646): gspca - m5602-mt9m111: Disable QVGA until it has been verified to work The QVGA resolution currently hasn't been verified to work. Disable it for now. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 201a8a6c3f2b948dadee0d835db30e5f287c7e86 Author: Johannes Klug Date: Sun Jan 25 15:25:44 2009 -0300 V4L/DVB (11645): gspca - m5602-ov9650: Add image flip quirk for the ASUS A6VA Signed-off-by: Johannes Klug Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d33762d2015d251db840f002fc88daec04107df7 Author: Erik Andrén Date: Sun Jan 25 11:45:35 2009 -0300 V4L/DVB (11644): gspca - m5602-s5k4aa: Remove some unneeded init code. Remove some redundant init from the s5k4aa. All these registers are programmed again later in the init phase Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 56513ed50cc8a5c184a3f347e81d74c850cc14fa Author: Erik Andrén Date: Sun Jan 25 10:19:26 2009 -0300 V4L/DVB (11643): gspca - m5602: Add the ov7660 to the module parameter description. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c9304e43fb71ad790c5fc995de55e7c95abe5b4a Author: Erik Andrén Date: Thu Jan 22 04:04:59 2009 -0300 V4L/DVB (11642): gspca - m5602-ov7660: Add a gain ctrl Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2b622e2d0022fd9220d6f712ab59bff768c098e7 Author: Erik Andrén Date: Thu Jan 22 03:57:30 2009 -0300 V4L/DVB (11641): gspca - m5602-ov7660: Remove useless init data Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2f17e1a1f0e545a80cb012cd10cef381acb07574 Author: Erik Andrén Date: Thu Jan 22 03:51:40 2009 -0300 V4L/DVB (11640): gspca - m5602-s5k4aa: Flip hflip and vflip together Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c731e271afa85233a2e7f3c2be826a2729d1100c Author: Erik Andrén Date: Thu Jan 22 03:32:32 2009 -0300 V4L/DVB (11639): gspca - m5602-mt9m111: Correct the hflip/vflip semantics mt9m111: Hflip and vflip shall always be 0 at start and the image shall be correctly aligned. The mt9m111 is hflipped and vflipped by default. Correct the semantics to make this happen. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 81b4293ae62b81b0b434f10c694f11fff93be8ca Author: Erik Andrén Date: Wed Jan 21 13:46:58 2009 -0300 V4L/DVB (11638): gspca - m5602-ov7660: Make an educated guess on the proper hsync/vsync Based on how the ov9650 is configured, make an educated guess on the hsync/vsync setup for the ov7660 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 0364c4ca345175daa36c3c672fdecafd469e05a8 Author: Erik Andrén Date: Wed Jan 21 13:43:20 2009 -0300 V4L/DVB (11637): gspca - m5602-ov7660: Design init function. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ea8f74b168aa4d725c6d1ab98ef4eb4f6f3f3358 Author: Erik Andrén Date: Wed Jan 21 13:39:17 2009 -0300 V4L/DVB (11636): gspca - m5602-ov7660: Design probe function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4763fa84d9942137b011629be2e7547a23cdfbc6 Author: Erik Andrén Date: Wed Jan 21 13:28:31 2009 -0300 V4L/DVB (11635): gspca - m5602-ov7660: Initial checkin of sensor skeleton code Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c41507ba06c2fbe5a1de908ef5bd1b2c4d9b13c0 Author: Lukas Karas Date: Wed Jan 21 13:14:07 2009 -0300 V4L/DVB (11634): gspca - m5602-s5k83a: Set the sensor_settings pointer correctly Signed-off-by: Lukas Karas Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cde41bb292c5f5475213ebed96cd5f18b51ecd48 Author: Erik Andrén Date: Wed Jan 21 03:33:14 2009 -0300 V4L/DVB (11633): gspca - m5602-s5k83a: Move hsync/vsync setup to start function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 57851d0cd0b4b9058a10ca81efc4cb6cbc9323e7 Author: Erik Andrén Date: Mon Apr 27 15:38:05 2009 -0300 V4L/DVB (11632): gspca - m5602-s5k83a: Reset the v4l2 ctrl cache upon sensor init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4c3414eeb3a275a017399ea162615292b00d087f Author: Erik Andrén Date: Wed Jan 21 03:43:49 2009 -0300 V4L/DVB (11631): gspca - m5602: Remove useless error check Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 04e84f87192b5b599187e3f5edc54ebe4a89e954 Author: Erik Andrén Date: Tue Jan 20 15:15:25 2009 -0300 V4L/DVB (11630): gspca - s5k83a: Add resolution annotations Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 326405de18bbff737eb7349e2f887fb1ea95e5d8 Author: Erik Andrén Date: Tue Jan 20 15:10:17 2009 -0300 V4L/DVB (11629): gspca - m5602-s5k83a: Move some init code around Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 24c64f42788004d2ec0cae2f8c07b4e76b0f69e1 Author: Erik Andrén Date: Tue Jan 20 15:07:54 2009 -0300 V4L/DVB (11628): gspca - m5602-s5k83a: Remove more init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 33b55a0a7d5d0cd109d0506004a51e4000affbf2 Author: Andy Walls Date: Sun Apr 26 18:46:14 2009 -0300 V4L/DVB (11624): cx18: Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register. It's hard to reliably tell when we have written to this register successfully unless we change some bits we know we can read back. The AI mux bits always read back what we wrote to them, so force them to toggle whenever we have to write to the register, so we can tell we wrote to the register successfully. This change was prompted by users experiencing broadcast audio decoding problems after the cx18 module loads for the first time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1bd8e15ac31f7f3d9f1ace70660330ba0055c69c Author: Andy Walls Date: Sun Apr 26 17:02:25 2009 -0300 V4L/DVB (11623): cx18: Verify cx18-av-core digitizer firmware loads correctly Add code to verify the cx18-av-core digitizer firmware loads correctly. The verification function reads back and compares the firmware bytes loaded into the A/V core. The result of the verification is only used to log a message in the system log. This change was prompted by users with multiple card setups that have problems with broadcast audio decoding the first time the cx18 module is loaded. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0c6292522968427d4f8e01f7c2e4216f04470072 Author: Andy Walls Date: Sun Apr 26 16:34:36 2009 -0300 V4L/DVB (11622): cx18: Allow IVTV format VBI insertion in MPEG-2 SVCD and DVD streams Both the MPEG-2 SVCD stream format and the MPEG-2 DVD stream format should use an MPEG-2 PS container. This makes it safe to stuff IVTV Private Stream 1 VBI packets in these stream types using the existing cx18 driver routines. Reported-by: Helen Buus Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9982be8a14e4bff0c3750cbfb669d2648a98b2e8 Author: Andy Walls Date: Wed Apr 15 20:49:19 2009 -0300 V4L/DVB (11620): cx18: Increment version due to significant buffer handling changes Version bump from 1.1.0 to 1.2.0 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 21a278b85d3c6b8064af0c03aec3205e28aad3b7 Author: Andy Walls Date: Wed Apr 15 20:45:10 2009 -0300 V4L/DVB (11619): cx18: Simplify the work handler for outgoing mailbox commands Simplify the way outgoing work handler gets scheduled to send empty buffers back to the firmware for use. Also reduced the memory required for scheduling this outgoing work, by using a single, per stream work object. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 40c5520f55924ba87090d0d93222baad74202559 Author: Andy Walls Date: Mon Apr 13 23:08:00 2009 -0300 V4L/DVB (11618): cx18: Convert per stream mutex locks to per queue spin locks To avoid sleeps in providing buffers to user space and in handling incoming buffers from the capture unit, converted the per stream mutex for locking queues to 3 spin locks. There is now a spin lock per queue to increase concurrency when moving buffers around. Also simplified queue manipulations and buffer handling of incoming buffers of data from the capture unit. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5f0a3cfcfd315d87de8f80af49b114daf7137823 Author: Andy Walls Date: Mon Apr 13 22:53:09 2009 -0300 V4L/DVB (11617): cx18: Set up to wait for a one-shot response before sending a firmware cmd When sending an outgoing firmware command, prepare to wait before we raise the interrupt, so we don't miss the wake_up() on the acknowledgment. When waiting for the acknowledgement, there is no need to loop around schedule(), as there will only be one interrupt, and hence one wake_up(), issued. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 87116159517ecf6b9cf62a136f2935a63833c485 Author: Andy Walls Date: Mon Apr 13 22:42:43 2009 -0300 V4L/DVB (11616): cx18: Add a work queue for deferring empty buffer handoffs to the firmware This change defers sending all CX18_CPU_DE_SET_MDL commands, for a stream with an ongoing capture, by adding a work queue to handle sending such commands when needed. This prevents any sleeps, caused by notifying the firmware of new usable buffers, when a V4L2 application read() is being satisfied or when an incoming buffer is processed by the cx18-NN-in work queue thread. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit deed75ed9f7576ada4bca02e6c851833a352a38d Author: Andy Walls Date: Mon Apr 13 22:22:40 2009 -0300 V4L/DVB (11615): cx18: Rename the work queue to "in_work_queue" Rename the work queue to "in_work_queue" to indicate it is handling incoming mailbox commands. This is preparation for adding a work queue for handling deferrable outgoing mailbox commands. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 56600093644c6929a7d1809dab5b8265532df045 Author: Robert Jarzmik Date: Fri Apr 24 12:58:35 2009 -0300 V4L/DVB (11613): pxa_camera: Documentation of the FSM After DMA redesign, the pxa_camera dynamic behaviour should be documented so that future contributors understand how it works, and improve it. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c09b77806e692d8e58c55b4f4592a855b95f13cd Author: Guennadi Liakhovetski Date: Fri Apr 24 12:57:42 2009 -0300 V4L/DVB (11611): soc-camera: link host drivers after clients With the transition of soc-camera to become a platform driver and to the v4l2-subdev framework the initialisation order becomes important. In case of a static build clients (i2c) drivers have to be available when host drivers are probed. Moving host drivers down in the Makefile achieves the desired order. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9538e1c226f1fd665126869f542170a2e90f2039 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:57:01 2009 -0300 V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers Register access routines only need the I2C client, not the soc-camera device context. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit eff505fa1511b753b7cfb397a754b8ff4367cd55 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:55:48 2009 -0300 V4L/DVB (11609): soc-camera: remove an extra device generation from struct soc_camera_host Make camera devices direct children of host platform devices, move the inheritance management into the soc_camera.c core driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit eb6c8558f7658b7f31ee022c7bea1d840eda33dc Author: Guennadi Liakhovetski Date: Fri Apr 24 12:55:18 2009 -0300 V4L/DVB (11608): soc-camera: host-driver cleanup Embed struct soc_camera_host in platform-specific per host instance objects instead of allocating them statically in drivers, use platform_[gs]et_drvdata consistently, use resource_size(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 594bb46dbc63934bc65fa95743f83204bd26a641 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:53:51 2009 -0300 V4L/DVB (11607): soc-camera: add a free_bus method to struct soc_camera_link Currently pcm990 camera bus-width management functions request a GPIO and never free it again. With this approach the GPIO extender driver cannot be unloaded once camera drivers have been loaded, also unloading theb i2c-pxa bus driver produces errors, because the GPIO extender driver cannot unregister properly. Another problem is, that if camera drivers are once loaded before the GPIO extender driver, the platform code marks the GPIO unavailable and only a reboot helps to recover. Adding an explicit free_bus method and using it in mt9m001 and mt9v022 drivers fixes these problems. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Mauro Carvalho Chehab commit 84d728c3df9931d1937e4a76324838ce065c521e Author: Dmitri Belimov Date: Thu Apr 23 02:32:49 2009 -0300 V4L/DVB (11604): saa7134: split Behold`s card entries to properly identify the model Split Beholdr`s cards to correct models. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit d46de9d2364cad55caddc04632707f5739b4cd87 Author: Oldřich Jedlička Date: Tue Apr 14 15:47:17 2009 -0300 V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus Here comes the full support for AVerMedia Cardbus Plus (E501R) - including remote control. TV, Composite and FM radio tested, I don't have S-Video to test. I've figured out that the radio works only with xtal frequency 13MHz. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit df0dbbe24053b7c669f63341d3d3f090560c3217 Author: Andy Shevchenko Date: Wed Apr 8 14:01:19 2009 -0300 V4L/DVB (11442): saa7134: BZ#7524: Add AVerTV Studio 507UA support [mchehab@redhat.com: Fix merge conflicts and CodingStyle issues] Signed-off-by: Mauro Carvalho Chehab commit abce21f40f1c7a52c9a126c6c00db1bd76e96b1d Author: Dean Anderson Date: Thu Apr 23 16:04:41 2009 -0300 V4L/DVB (11605): patch: s2255drv: code cleanup This patch does: - remove unused structure items. - define Response values; - change Driver revision printk. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 7fc08bbb9965206c57270a911d0e9430aaf347f7 Author: Andreas Regel Date: Thu Apr 23 15:00:40 2009 -0300 V4L/DVB (11601): stv090x: update demodulator capabilities Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 560db4a1a0aaa8920995e60a6a8bbc9f8708f0a3 Author: Andreas Regel Date: Thu Apr 23 15:00:04 2009 -0300 V4L/DVB (11600): budget: Use Continuous clock Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 62ad7c11883ab7b4642da7d220a2bee7a37e3bad Author: Andreas Regel Date: Thu Apr 23 14:59:36 2009 -0300 V4L/DVB (11599): S2-1600: Use budget driver instead of budged-ci Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit cbc320d2782cbb0c19e67522167843d9eb738722 Author: Andreas Regel Date: Thu Apr 23 14:59:03 2009 -0300 V4L/DVB (11598): stv090x: fix missing wakeup in init Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9629c5b69dd016e990603fd7fd9899f0af57610c Author: Andreas Regel Date: Thu Apr 23 14:58:36 2009 -0300 V4L/DVB (11597): stv090x: fixes read_status to return 0 in case of no error Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 94871465b6a82de3882a61bf1e3c202725688294 Author: Andreas Regel Date: Thu Apr 23 14:57:24 2009 -0300 V4L/DVB (11596): stv090x: fixes some register definitions Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2f5914be7c2277cf19699e437cf2c6c15556a085 Author: Andreas Regel Date: Thu Apr 23 14:56:41 2009 -0300 V4L/DVB (11595): stv090x: fixes a few bugs This patch fixes: * Cut revision was read too late * Missing increment * wrong return value * mismatched entries Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 64104dc9014d717335ed8ff987feaec1b17c1cd5 Author: Andreas Regel Date: Thu Apr 16 08:43:41 2009 -0300 V4L/DVB (11594): stv090x: Fix incorrect TSMODE usage Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 4e58a6827a7d67f65d166d28635ac13bdf65dbb0 Author: Andreas Regel Date: Thu Apr 16 08:40:36 2009 -0300 V4L/DVB (11593): stv090x: Fix Rolloff Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f2b2fd401343b188f251b29ec2981ea8054ce1b7 Author: Andreas Regel Date: Thu Apr 16 08:38:46 2009 -0300 V4L/DVB (11592): stv6110x: Fix read bug Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit da4b9059c948ce35ce9d34b982b6a9934a9251ef Author: Manu Abraham Date: Wed Apr 8 20:30:29 2009 -0300 V4L/DVB (11591): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5f99feffc0426f88db07e2d777d9dd4aa2205c2f Author: Manu Abraham Date: Wed Apr 8 20:24:53 2009 -0300 V4L/DVB (11590): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f430fff101dd2cdbf5db1cf274a1591ae2b6e05c Author: Manu Abraham Date: Wed Apr 8 20:18:50 2009 -0300 V4L/DVB (11589): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 15bb366e86e07820374ec313170aab65d4e1d983 Author: Manu Abraham Date: Wed Apr 8 20:14:00 2009 -0300 V4L/DVB (11588): stv090x: support > 60MSPS, simplify Srate calculation Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 94a809143a47343b45c73e84f7f26e3087c2fd62 Author: Manu Abraham Date: Wed Apr 8 19:45:43 2009 -0300 V4L/DVB (11587): stv090x: set DiSEqC frequency to 22kHz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 26b03bc6c2fa72e3aaed19fba125c2f438bf9261 Author: Manu Abraham Date: Wed Apr 8 18:27:10 2009 -0300 V4L/DVB (11586): stv090x: switch i/p ADC as well during Power management Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 72982f761526278e1ca7dce0507ed9f33b952fee Author: Andreas Regel Date: Wed Apr 8 17:28:41 2009 -0300 V4L/DVB (11585): stv090x: fix incorrectly used mode Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f9ed95d03e3a736627493690bfd1cb893ebaa200 Author: Andreas Regel Date: Wed Apr 8 17:27:51 2009 -0300 V4L/DVB (11584): stv090x: add tone burst control Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54d859ec563d2f0cbbc03e45e204325c5f2118bf Author: Andreas Regel Date: Tue Apr 7 16:09:52 2009 -0300 V4L/DVB (11583): isl6423: Various fixes to use external modulation Use external modulation Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5657150759ab67292db0333808a069970328663b Author: Manu Abraham Date: Tue Apr 7 16:08:26 2009 -0300 V4L/DVB (11582): stv090x: fix Undocumented Registers Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 017eb0381fedbfdcad1e8e536d014c4064e6687f Author: Manu Abraham Date: Tue Apr 7 05:19:54 2009 -0300 V4L/DVB (11581): stv090x and stv6110x: fix repeater level setup and ref clock * Reference clock was unused * Fix missing repeater level setup Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit dd4c2b3f6a2d30602d22485ab725c84f2fb074b6 Author: Andreas Regel Date: Mon Apr 6 15:46:50 2009 -0300 V4L/DVB (11580): budget-ci: Fix incorrect default CLOCK setup Signed-off-by: Andreas Regel Signed-off-by: MAnu Abraham Signed-off-by: Mauro Carvalho Chehab commit e415c689a8842670e161581f060575c14957f073 Author: Manu Abraham Date: Mon Apr 6 15:45:20 2009 -0300 V4L/DVB (11579): Initial go at TT S2-1600 [mchehab@redhat.com: fix compilation when the new drivers aren't selected] Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2460cdac94082c7046ab595bf643338e6faed6cb Author: Márton Németh Date: Mon Apr 20 14:51:49 2009 -0300 V4L/DVB (11574): uvcvideo: fill reserved fields with zero of VIDIOC_QUERYMENU When querying menu items with VIDIOC_QUERYMENU the reserved field is not set to zero as required by V4L2 API revision 0.24 [1]. Add this fill. The patch was tested with v4l-test 0.11 [2] with CNF7129 webcam found on EeePC 901. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r13317.htm#V4L2-QUERYMENU [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ [Modified by Laurent Pinchart] Use u32 instead of __u32 in non-exported kernel code. Signed-off-by: Márton Németh Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 9086c7b994dcd6d06723bcb48a23af3e3f75e002 Author: Márton Németh Date: Wed Apr 15 09:01:58 2009 -0300 V4L/DVB (11573): uvcvideo: Prevent invormation loss with removing implicit casting The uvcvideo driver supports only one input, which is input 0. For all other input index the return value shall be EINVAL. This patch fixes the problem when the value 0x80000000 was incorrectly casted and treated as a zero value. 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/r11217.htm [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ [Modified by Laurent Pinchart] Invalid input value (u32)-1 would be accepted due to integer overflow. Make sure the driver rejects it and returns -EINVAL. Signed-off-by: Márton Németh Signed-off-by: Andrew Morton Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 513846ece644662dc0914f7b518ed1bd29953fc3 Author: Armin Schenker Date: Mon Apr 20 11:57:49 2009 -0300 V4L/DVB (11571): Add Elgato EyeTV DTT deluxe to dibcom driver This patch introduces support for DVB-T for the following dibcom based card: Elgato EyeTV DTT deluxe (USB-ID: 0fd9:0020) Signed-off-by: Armin Schenker Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3763a8a41bd0c1ea6b055b60acaf5f9655e5c25e Author: Alexey Klimov Date: Sun Apr 19 17:21:03 2009 -0300 V4L/DVB (11569): av7110_hw: fix compile warning Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit b5d14eba2ecce23a6a1663bc5bd36c08a011b601 Author: Mariusz Kozlowski Date: Sun Apr 12 16:58:52 2009 -0300 V4L/DVB (11566): remove broken macro from dvb stv0900_priv.h It both has unbalanced parentheses and == is not = and it's not used anywhere anyway. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 9d6e1aa55c3a7f1919e02decac09524cb7d0f33f Author: Huang Weiyi Date: Tue Apr 7 19:49:46 2009 -0300 V4L/DVB: cx231xx: remove unused #include 's Remove unused #include 's in drivers/media/video/cx231xx/cx231xx-avcore.c drivers/media/video/cx231xx/cx231xx-vbi.c Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 3aeae407600af24d9505004305c6aef93ca54b21 Author: Jean Delvare Date: Tue Apr 7 12:55:17 2009 -0300 V4L/DVB (11564): tda7432: Delete old driver history The history of changes does belong to git. In general I wouldn't care too much but it happens that this specific comment triggers a false positive in one of my scripts, so I'd rather get rid of it. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 0e7e526ac7f8a02dbb7191c4ac237f4a32860176 Author: Erik Andr?n Date: Tue Jan 20 15:02:27 2009 -0300 V4L/DVB (11549): gspca - m5602-s5k83a: Remove lots of useless init Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 2286745de7b7608b7eb0a899737a7c23ec99b872 Author: Erik Andr?n Date: Tue Jan 20 14:55:53 2009 -0300 V4L/DVB (11548): gspca - m5602-s5k83a: No need to initialize some registers in init s5k83a: All v4l2 ctrls are initialized later, no need to set those registers during init. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 00e02567950c9061b8f8d3ba46a842d4006fec8e Author: Erik Andr?n Date: Tue Jan 20 14:53:21 2009 -0300 V4L/DVB (11547): gspca - m5602-s5k83a: Align the v4l2 ctrl definitions Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 5a41c9f6b784a9ef7e27a8a27bdb6d541c28b076 Author: Erik Andr?n Date: Tue Jan 20 14:48:16 2009 -0300 V4L/DVB (11546): gspca - m5602-mt9m111: Endianness fixes. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 039efb68626593c70b759d5ece4d87b4afc05379 Author: Erik Andr?n Date: Tue Jan 20 14:32:51 2009 -0300 V4L/DVB (11545): gspca - m5602-mt9m111: Activate vflip/hflip by default Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 60ed6e4f4ec778b195efb92563021a376fa30524 Author: Erik Andr?n Date: Tue Jan 20 04:16:28 2009 -0300 V4L/DVB (11544): gspca - m5602-mt9m111: Add experimental QVGA support Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit f676bb3971b3a77c1936a8507db485af2a3f2d2a Author: Erik Andr?n Date: Tue Jan 20 04:13:34 2009 -0300 V4L/DVB (11543): gspca - m5602-mt9m111: Setup VGA resolution Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e7ae60f73eebd16cc13e616b096e8b1488915d96 Author: Erik Andr?n Date: Tue Jan 20 04:05:19 2009 -0300 V4L/DVB (11542): gspca - m5602-mt9m111: Synthesize the hsync/vsync setup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit bce0d2d4aefdb258bd4a69e2de2e0d1bed0e5531 Author: Erik Andr?n Date: Tue Jan 20 03:54:51 2009 -0300 V4L/DVB (11541): gspca - m5602-mt9m111: Add a start function Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 553c91d0b1a9a22bc81c07db589424af658e01cb Author: Erik Andr?n Date: Tue Jan 20 03:49:00 2009 -0300 V4L/DVB (11540): gspca - m5602-mt9m111: Replace magic constants with defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b05a4ad95d0909bde1caca2ce8ec1d18fd00cfd0 Author: Erik Andr?n Date: Mon Jan 19 14:02:28 2009 -0300 V4L/DVB (11539): gspca - m5602-ov9650: Be more strict during the hsync/vsync synthesis Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 927774605ab4771c67763a7b133e8d84b524489d Author: Erik Andr?n Date: Sun Jan 18 15:21:07 2009 -0300 V4L/DVB (11538): gscpa - m5602-ov9650: Add defines for some magic constants Replaces some magic constants with the defines. Remove a couple of bits that should be set later in the process depending on the v4l2 ctrl. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 894e4087f015cef13a4ac52ea465ecd941118bad Author: Erik Andr?n Date: Sun Jan 18 11:13:47 2009 -0300 V4L/DVB (11537): gspca - m5602-po1030: Clear subsampling flag when setting VGA mode Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9819267009bfec221159373eafd666db37d20c78 Author: Erik Andr?n Date: Fri Jan 16 03:48:15 2009 -0300 V4L/DVB (11536): gspca - m5602-po1030: Impove the bridge vsync/hsync configuration Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 931a1c8dbf71d851d9d4e4dbdedc192bcc9e98c1 Author: Erik Andr?n Date: Thu Jan 15 14:18:36 2009 -0300 V4L/DVB (11535): gspca - m5602-po1030: Add experimental QVGA support Adds experimental support for QVGA. This is code is compile tested only. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9536a57e7783c627b2bb83f78a99f5c6dcf5d505 Author: Erik Andr?n Date: Thu Jan 15 14:05:35 2009 -0300 V4L/DVB (11534): gspca - m5602-po1030: Synthesize the hsync/vsync setup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e807f20db4f4fbbf2b0c881f0b0dd5cf9c18b17c Author: Erik Andr?n Date: Thu Jan 15 13:39:39 2009 -0300 V4L/DVB (11533): gspca - m5602-po1030: Setup window per resolution This patch for the po1030 sets the drawing window for the VGA resolution Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit c86da6b33f1d268483fbdbeaec0b98779d0317c1 Author: Erik Andr?n Date: Thu Jan 15 03:52:08 2009 -0300 V4L/DVB (11532): gspca - m5602-po1030: Move some code from the start vector to the init vector This is a prepatory patch in order to support multiple resolutions for the po1030 sensor Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 825f31b05bd6e92da5ef9f3ca21c5b36021f7e6e Author: Erik Andr?n Date: Thu Jan 15 03:40:01 2009 -0300 V4L/DVB (11531): gspca - m5602-po1030: Clean up some comments Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 7ee4629092aa2982a3fbb9cfb3691637b55b4a40 Author: Erik Andr?n Date: Wed Jan 14 03:37:03 2009 -0300 V4L/DVB (11530): gspca - m5602-s5k4aa: Add brightness v4l2 ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3290d40206ce122058a1f1f56dfce3d2000107b3 Author: Erik Andr?n Date: Tue Jan 13 16:40:28 2009 -0300 V4L/DVB (11529): gspca - m5602-s5k4aa: Add noise suppression ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 71c6e59d474ed8608b4e5aa998bec47b46c44a93 Author: Erik Andr?n Date: Tue Jan 13 16:24:19 2009 -0300 V4L/DVB (11528): gspca - m5602-s5k4aa: Consolidate the gain settings, adjust row start Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit a68985d46962305f537380a572903fb78dbe207c Author: Erik Andr?n Date: Tue Jan 13 15:44:03 2009 -0300 V4L/DVB (11527): gspca - m5602-s5k4aa: Try to use proper read-modify-write of the vflip/hflip Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 0746673d21ea53d4bd710b47ad67c413e9510a5a Author: Erik Andr?n Date: Tue Jan 13 14:18:53 2009 -0300 V4L/DVB (11526): gspca - m5602-mt9m111: Add red balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 74b123cf7ac638ede605e483cde0f534951f5266 Author: Erik Andr?n Date: Tue Jan 13 14:16:03 2009 -0300 V4L/DVB (11525): gspca - m5602-mt9m111: Add blue balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 12e4ed7d5e4a3145cb342be91423e92a24257212 Author: Erik Andr?n Date: Tue Jan 13 14:10:44 2009 -0300 V4L/DVB (11524): gspca - m5602-mt9m111: Add green balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b933d585baf6f6432ca5dd3f6d415ffa145e2c25 Author: Erik Andr?n Date: Tue Jan 13 13:55:52 2009 -0300 V4L/DVB (11523): gspca - m5602-po1030: Add private green balance control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit dd9ce84a773f9c9919a3c59291e82ec0e8803ecc Author: Erik Andr?n Date: Tue Jan 13 13:43:46 2009 -0300 V4L/DVB (11522): gspca - m5602-po1030: Add auto exposure control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9ae165779720209d4c566c8102dce415a3c7f055 Author: Erik Andr?n Date: Tue Jan 13 03:57:57 2009 -0300 V4L/DVB (11521): gspca - m5602-ov9650: Add auto exposure ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e8a574052e3f05a86d7363065f6734626e34f389 Author: Erik Andr?n Date: Tue Jan 13 03:46:24 2009 -0300 V4L/DVB (11520): gspca - m5602-po1030: Remove redundant init sequences Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 1351a58ce0481afd80b756ecd9307c9fbe9f39b4 Author: Kay Sievers Date: Thu Apr 16 13:30:38 2009 -0300 V4L/DVB (11517): v4l: remove driver-core BUS_ID_SIZE The name size limit is gone from the driver core, the BUS_ID_SIZE value will be removed. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 734dd236a6045ca764d12ed0fd6a7c1e9a928ac1 Author: Marcel Jueling Date: Thu Apr 9 17:16:41 2009 -0300 V4L/DVB (11492): af9015: support for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0 Add USB ID (1b80:e397) for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0. Signed-off-by: Marcel Jueling Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 1ed5fadec7728282466d0203851cf811864b42f7 Author: Antti Palosaari Date: Thu Apr 9 15:14:18 2009 -0300 V4L/DVB (11491): af9015: support for AverMedia AVerTV Volar GPS 805 (A805) Add USB ID (07ca:a805) for AverMedia AVerTV Volar GPS 805 (A805). Thanks to Chris Brown for reporting and testing. Tested-by: Chris Brown Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 85d7d7ca5ef820f2c637032c86d4298ce4ae491b Author: Antti Palosaari Date: Thu Apr 9 09:16:12 2009 -0300 V4L/DVB (11490): af9015: add new dvb_usb_device_properties entry for upcoming USB IDs Add 3rd dvb_usb_device_properties entry for upcoming USB IDs because current entries are full. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit d852d53dcd1f4c353d54cc055eb23cdaad18c906 Author: Joseba Goitia Gandiaga Date: Thu Apr 9 18:29:16 2009 -0300 V4L/DVB (11488): get_dvb_firmware: trivial url change Trivial url changes in script Signed-off-by: Joseba Goitia Gandiaga Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 42ef4632896b0c44f77fb5783b320cbedd38e3e3 Author: Filipe Rosset Date: Thu Apr 9 18:27:12 2009 -0300 V4L/DVB (11487): em28xx: fix typo em28xx_errdev message Fix typo usbtransfer->usb transfer on em28xx_errdev message. Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e5db5d44432abc82b1250dd05bd0a4b011392d9d Author: Douglas Schilling Landgraf Date: Thu Apr 9 18:24:34 2009 -0300 V4L/DVB (11486): em28xx: Add EmpireTV board support Added EmpireTV entry. Thanks to Xwang to provide data for this board. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ebf58f70e853b9ffe50d6b194d3679b7dc2cac9c Author: Theodore Kilgore Date: Sun Apr 5 15:36:04 2009 -0300 V4L/DVB (11483): gspca - mr97310a: Webcam 093a:010f added. Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 938fe53bf07b8a8315d1734302918339d798ab4f Author: Erik Andr?n Date: Mon Jan 12 14:17:05 2009 -0300 V4L/DVB (11482): gspca - m5602-mt9m111: Remove lots of redundant init code Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit da773c9e5fd14249cda578f510dd0e20dd7358fb Author: Erik Andr?n Date: Mon Jan 12 14:00:51 2009 -0300 V4L/DVB (11481): gspca - m5602-mt9m111: More constant replacement Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6822df520d0140a0adf667ba6e926d90b2ff6d6d Author: Erik Andr?n Date: Mon Jan 12 13:56:13 2009 -0300 V4L/DVB (11480): gspca - m5602-mt9m111: Remove lots of redundant sensor reads Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 2ed3bf306745578b0cc862a12492fb2a7a8e2adc Author: Erik Andr?n Date: Mon Jan 12 13:50:29 2009 -0300 V4L/DVB (11479): gspca - m5602-mt9m111: More magic constants replacement Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 7662dbb373380903f58190dbc514c3db3bfee956 Author: Erik Andr?n Date: Mon Jan 12 13:43:42 2009 -0300 V4L/DVB (11478): gspca - m5602-mt9m111: Replace various magic constants with defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 926d5038072c951629bcadbe78f8e251e174cd25 Author: Erik Andr?n Date: Sun Jan 11 15:23:46 2009 -0300 V4L/DVB (11477): gspca - m5602-po1030: Set the blue balance in the init not red balance twice Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 86c9fb5118820af4740ef1d0896fdd4f0923039f Author: Erik Andr?n Date: Sun Jan 11 13:39:41 2009 -0300 V4L/DVB (11476): gspca - m5602: Add some more register defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d8a3e35150829ebc3fae2ff18eb16eefef504ef0 Author: Erik Andr?n Date: Sun Jan 11 13:00:15 2009 -0300 V4L/DVB (11475): gspca - m5602-po1030: Lower the default blue and gain balance Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3e5cbad030f6c12983f697ecff9fbd8f5a6bee7b Author: Erik Andr?n Date: Sun Jan 11 12:52:10 2009 -0300 V4L/DVB (11474): gspca - m5602-po1030: Fix sensor probing. The po1030 read sensor are currently returning the contents of the address+1 fix the probing of the sensor to cope with this. Obviously this needs to be tracked down and fixed. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d9a11e28c862dd1f05193659025a99712bb507e9 Author: Erik Andr?n Date: Sun Jan 11 12:46:51 2009 -0300 V4L/DVB (11473): gspca - m5602-po1030: Release reset when init is done. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 65df609b63836d96b0485a0823a81e87f628d3f1 Author: Erik Andr?n Date: Sat Jan 10 10:55:07 2009 -0300 V4L/DVB (11472): gspca - m5602-mt9m111: Remove lots of redundant init code Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d9cb33bd974a6de94c251c0048c682070ed99dbb Author: Erik Andr?n Date: Fri Jan 9 14:10:19 2009 -0300 V4L/DVB (11471): gspca - m5602-mt9m111: Remove more redundant init Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b154044a020072c031c7175d2711adc2c6049e93 Author: Erik Andr?n Date: Fri Jan 9 14:03:27 2009 -0300 V4L/DVB (11470): gspca - m5602-mt9m111: Implement an auto white balancing control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 320aaab872474e4b1c3c3d9807dfe304a7850681 Author: Erik Andr?n Date: Fri Jan 9 13:53:20 2009 -0300 V4L/DVB (11469): gspca - m5602-mt9m111: More redundant init cleanup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 60b1d3e3de6921fb44661e4772f85ae8d8942f6e Author: Erik Andr?n Date: Fri Jan 9 13:41:28 2009 -0300 V4L/DVB (11468): gspca - m5602-mt9m111: Remove redundant init sequences Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 36e756c5cc024174fec48ba21f1011aed5707e25 Author: Erik Andr?n Date: Fri Jan 9 13:35:00 2009 -0300 V4L/DVB (11467): gspca - m5602: Move all dump_sensor to the init function Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit cf811d506a3ed5721e3f22c77309aff489ce54c7 Author: Erik Andr?n Date: Fri Apr 3 02:49:10 2009 -0300 V4L/DVB (11466): gspca - m5602: Let all ctrls on all sensors be static All hail the static keyword Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d4a389a39bb9586219641144ab0c79706bbc8bcc Author: Erik Andr?n Date: Fri Jan 9 03:30:54 2009 -0300 V4L/DVB (11465): gspca - m5602-s5k4aa: Set all v4l2 ctrls on sensor init. Reset all v4l2 ctrls on the s5k4aa init. The prevents all ctrls to be reset during resume from ram. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit dd3ec39871ba83fb47364a26b1caaac4494deb7b Author: Erik Andr?n Date: Thu Jan 8 18:11:05 2009 -0300 V4L/DVB (11464): gspca - m5602-mt9m111: Set the cached v4l2 ctrl values When we resume the machine we want the previously set values, not the default values. Fix this for the mt9m111 sensor Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6e5ccf83eff19dee5aba11aa484dd4426adbbfdf Author: Erik Andr?n Date: Thu Jan 8 14:22:51 2009 -0300 V4L/DVB (11463): gspca - m5602-po1030: Remove unneeded init sequences po1030: There's a lot of redundant writes to the bridge and sensor. Remove them. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit c996b36809af0e5ee441b411f947c3b53d43a104 Author: Erik Andr?n Date: Thu Jan 8 14:15:06 2009 -0300 V4L/DVB (11462): gspca - m5602-po1030: Split up the init into init and start Split up the po1030 init into start and init. Add a start function. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit fcb981080a08c033cf6f1e7e5c4ff706a37a659d Author: Erik Andr?n Date: Thu Jan 8 04:04:19 2009 -0300 V4L/DVB (11461): gspca - m5602-po1030: Probe read only register at probe time Currently, we're probing r/w registers at probe time. This is potentially dangerous, probe some read only registers instead. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 31e1715f9765206711c3a10556428e9d8fa2acad Author: Erik Andr?n Date: Thu Jan 8 04:01:23 2009 -0300 V4L/DVB (11460): gspca - m5602-po1030: Remove unnecessary error check Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3b9ae658ec77180d13152913a1f63b6f1b2756c2 Author: Erik Andr?n Date: Thu Jan 8 03:53:50 2009 -0300 V4L/DVB (11459): gspca - m5602-po1030: Add auto white balancing control Add a po1030 auto white balancing control that's disabled by default Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit cb29e691977ac7677ca62c13cc9aa1eab2463075 Author: Erik Andr?n Date: Wed Jan 7 18:05:08 2009 -0300 V4L/DVB (11458): gspca - m5602-po1030: Set all v4l2 controls at sensor init Previously many of the v4l2 ctrls were set to their initial values at resume from ram/disk. This patch enforces the values stored in the ctrl cache. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 274290822e22bf4d5394ce029c867a4051342d38 Author: Erik Andr?n Date: Wed Jan 7 17:41:47 2009 -0300 V4L/DVB (11457): gspca - m5602-po1030: Simplify register defines This patch renames some register defines in the ov9650 sensor. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit bb9460eb96571c3f0ad493e54b28f04e33df6041 Author: Erik Andr?n Date: Wed Jan 7 13:54:13 2009 -0300 V4L/DVB (11456): gspca - m5602-po1030: Rename register defines, add missing ones. The po1030 register defines are unnecessarily complex, simplify them and also add some missing ones. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6f02d76161e7d1b52e4994d83177209a5a93bc7e Author: Erik Andr?n Date: Tue Jan 6 12:58:50 2009 -0300 V4L/DVB (11455): gspca - m5602-ov9650: Improve the vflip quirk handling. Regardless of the actual sensor orientation vflip = 0 is normal, and vflip = 1 is upside down. This patch makes that happen Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 09a7480ec127d26cade353b49f912c3348f6532e Author: Erik Andr?n Date: Tue Jan 6 11:59:42 2009 -0300 V4L/DVB (11454): gspca - m5602-mt9m111: Remove the unused power_down struct member The power_down sensor struct member is almost has no purpose in the current driver abstraction. Remove it. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit a594fb4866ddebcb413577974654be8cffc37a1b Author: Erik Andr?n Date: Tue Jan 6 11:37:03 2009 -0300 V4L/DVB (11453): gspca - m5602-s5k4aa: Convert to use the v4l2 ctrl cache Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 05d7d9ced6fa6153735123412ba8bef329f80a53 Author: Erik Andr?n Date: Tue Jan 6 06:39:11 2009 -0300 V4L/DVB (11452): gspca - m5602-po1030: Convert to have a v4l2 ctrl cache Let the po1030 have a local v4l2 ctrl cache as this minimizes the load on reading the registers and improves performance. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit ac3d5bfecc362a91f38ad864f5d34c639f894214 Author: Luk?? Karas Date: Fri Apr 3 02:45:56 2009 -0300 V4L/DVB (11451): gspca - m5602-s5k83a: Add rotation, ctrl cache. Rename some ctrls. s5k83a sensor mounted on many acer laptops have a swiwel allowing it to be rotated. When the camera is in its rotated state, the image needs to be flipped. The only way to check for if the camera has been flipped is to continously poll a register in the m5602. This patch creates a kernel thread which does this. This patch renames some v4l2 ctrls and finally implements a cache in order to prevent unnecessary sensor reads. Signed-off-by: Luk?? Karas Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 04f15655f6cd99ba7d7c9ef8f969a71061a1fbac Author: Erik Andr?n Date: Sun Jan 4 16:52:48 2009 -0300 V4L/DVB (11450): gspca - m5602-mt9m111: Convert the mt9m111 to use a v4l2 ctrl cache Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 881cd41882fa5762e3f831dd997368fef5257274 Author: Jean-Francois Moine Date: Sun Apr 5 04:01:13 2009 -0300 V4L/DVB (11449): gspca - zc3xx: Bad probe of many webcams since adcm2700 addition. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2444163122c42f0f25db9b49a5e55c28eaf0b0f2 Author: Hans de Goede Date: Fri Mar 27 16:08:20 2009 -0300 V4L/DVB (11448): gspca - main: Use usb interface as parent. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5d3fa30ddcc93bb5e0078f67cfe8d277f6334c57 Author: Alexey Klimov Date: Fri Mar 27 15:57:46 2009 -0300 V4L/DVB (11447): gspca - mr97310a: Return good error code in mod_init. Signed-off-by: Alexey Klimov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dd72cb3eda68067f27e928a44aa40d82f972669a Author: Jean-Francois Moine Date: Thu Mar 12 04:40:19 2009 -0300 V4L/DVB (11446): gspca - t613: Do sensor reset only for sensor om6802. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2f38d70fb4e97e7d00e12eaac45790cf6ebd7b22 Author: Oleg Nesterov Date: Tue Jun 16 22:07:46 2009 +0200 shift current_cred() from __f_setown() to f_modown() Shift current_cred() from __f_setown() to f_modown(). This reduces the number of arguments and saves 48 bytes from fs/fcntl.o. [ Note: this doesn't clear euid/uid when pid is set to NULL. But if f_owner.pid == NULL we never use f_owner.uid/euid. Otherwise we'd have a bug anyway: we must not send signals if pid was reset to NULL. ] Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: Linus Torvalds commit 00e95830a4d6e49f764fdb19896a89199bc0aa3b Author: Li Zefan Date: Tue Jun 16 16:39:41 2009 +0800 tracing/filters: fix race between filter setting and module unload Module unload is protected by event_mutex, while setting filter is protected by filter_mutex. This leads to the race: echo 'bar == 0 || bar == 10' \ | > sample/filter | | insmod sample.ko add_pred("bar == 0") | -> n_preds == 1 | add_pred("bar == 100") | -> n_preds == 2 | | rmmod sample.ko | insmod sample.ko add_pred("&&") | -> n_preds == 1 (should be 3) | Now event->filter->preds is corrupted. An then when filter_match_preds() is called, the WARN_ON() in it will be triggered. To avoid the race, we remove filter_mutex, and replace it with event_mutex. [ Impact: prevent corruption of filters by module removing and loading ] Signed-off-by: Li Zefan LKML-Reference: <4A375A4D.6000205@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 57be88878e7aa38750384704d811485a607bbda4 Author: Li Zefan Date: Tue Jun 16 16:39:12 2009 +0800 tracing/filters: free filter_string in destroy_preds() filter->filter_string is not freed when unloading a module: # insmod trace-events-sample.ko # echo "bar < 100" > /mnt/tracing/events/sample/foo_bar/filter # rmmod trace-events-sample.ko [ Impact: fix memory leak when unloading module ] Signed-off-by: Li Zefan LKML-Reference: <4A375A30.9060802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit fa7439531dee58277748c819785a44d3203c4b51 Author: Steven Rostedt Date: Tue Jun 16 12:37:57 2009 -0400 ring-buffer: use commit counters for commit pointer accounting The ring buffer is made up of three sets of pointers. The head page pointer, which points to the next page for the reader to get. The commit pointer and commit index, which points to the page and index of the last committed write respectively. The tail pointer and tail index, which points to the page and the index of the last reserved data respectively (non committed). The commit pointer is only moved forward by the outer most writer. If a nested writer comes in, it will not move the pointer forward. The current implementation has a flaw. It assumes that the outer most writer successfully reserved data. There's a small race window where the outer most writer could find the tail pointer, but a nested writer could come in (via interrupt) and move the tail forward, and even the commit forward. The outer writer would not realized the commit moved forward and the accounting will break. This patch changes the design to use counters in the per cpu buffers to keep track of commits. The counters are incremented at the start of the commit, and decremented at the end. If the end commit counter is 1, then it moves the commit pointers. A loop is made to check for races between checking and moving the commit pointers. Only the outer commit should move the pointers anyway. The test of knowing if a reserve is equal to the last commit update is still needed to know for time keeping. The time code is much less racey than the commit updates. This change not only solves the mentioned race, but also makes the code simpler. [ Impact: fix commit race and simplify code ] Signed-off-by: Steven Rostedt commit 263294f3e1e883b9dcbf0c09a54b644918f7729d Author: Steven Rostedt Date: Tue Jun 16 11:50:18 2009 -0400 ring-buffer: remove unused variable Fix the compiler error: kernel/trace/ring_buffer.c: In function 'rb_move_tail': kernel/trace/ring_buffer.c:1236: warning: unused variable 'event' Signed-off-by: Steven Rostedt commit e56e2dcd381d9ec35379328f332221581eda4787 Author: Tony Luck Date: Mon Jun 15 16:22:09 2009 -0700 [IA64] ia64 does not need umount2() syscall ia64 doesn't have old and new versions of the umount system call. It just has the new version. Fixes this build warning: :395:2: warning: #warning syscall umount2 not implemented Signed-off-by: Tony Luck commit 97de6ad196db75a26077171014493c9d26be8a5d Author: Tony Luck Date: Mon Jun 15 16:11:43 2009 -0700 [IA64] hook up new rt_tgsigqueueinfo syscall Assign syscall #1321 for rt_tgsigqueueinfo. Signed-off-by: Tony Luck commit b3fec0fe35a4ff048484f1408385a27695d4273b Merge: e1f5b94 722f2a6 Author: Linus Torvalds Date: Tue Jun 16 13:09:51 2009 -0700 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits) signal: fix __send_signal() false positive kmemcheck warning fs: fix do_mount_root() false positive kmemcheck warning fs: introduce __getname_gfp() trace: annotate bitfields in struct ring_buffer_event net: annotate struct sock bitfield c2port: annotate bitfield for kmemcheck net: annotate inet_timewait_sock bitfields ieee1394/csr1212: fix false positive kmemcheck report ieee1394: annotate bitfield net: annotate bitfields in struct inet_sock net: use kmemcheck bitfields API for skbuff kmemcheck: introduce bitfield API kmemcheck: add opcode self-testing at boot x86: unify pte_hidden x86: make _PAGE_HIDDEN conditional kmemcheck: make kconfig accessible for other architectures kmemcheck: enable in the x86 Kconfig kmemcheck: add hooks for the page allocator kmemcheck: add hooks for page- and sg-dma-mappings kmemcheck: don't track page tables ... commit e1f5b94fd0c93c3e27ede88b7ab652d086dc960f Merge: 6fd0330 1b6ed69 Author: Linus Torvalds Date: Tue Jun 16 13:06:10 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: (143 commits) USB: xhci depends on PCI. USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. USB: xhci: Respect critical sections. USB: xHCI: Fix interrupt moderation. USB: xhci: Remove packed attribute from structures. usb; xhci: Fix TRB offset calculations. USB: xhci: replace if-elseif-else with switch-case USB: xhci: Make xhci-mem.c include linux/dmapool.h USB: xhci: drop spinlock in xhci_urb_enqueue() error path. USB: Change names of SuperSpeed ep companion descriptor structs. USB: xhci: Avoid compiler reordering in Link TRB giveback. USB: xhci: Clean up xhci_irq() function. USB: xhci: Avoid global namespace pollution. USB: xhci: Fix Link TRB handoff bit twiddling. USB: xhci: Fix register write order. USB: xhci: fix some compiler warnings in xhci.h USB: xhci: fix lots of compiler warnings. USB: xhci: use xhci_handle_event instead of handle_event USB: xhci: URB cancellation support. USB: xhci: Scatter gather list support for bulk transfers. ... commit 6fd03301d76bc439382710e449f58efbb233df1b Merge: cd5232b e4792aa Author: Linus Torvalds Date: Tue Jun 16 12:57:37 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: (64 commits) debugfs: use specified mode to possibly mark files read/write only debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. xen: remove driver_data direct access of struct device from more drivers usb: gadget: at91_udc: remove driver_data direct access of struct device uml: remove driver_data direct access of struct device block/ps3: remove driver_data direct access of struct device s390: remove driver_data direct access of struct device parport: remove driver_data direct access of struct device parisc: remove driver_data direct access of struct device of_serial: remove driver_data direct access of struct device mips: remove driver_data direct access of struct device ipmi: remove driver_data direct access of struct device infiniband: ehca: remove driver_data direct access of struct device ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device hvcs: remove driver_data direct access of struct device xen block: remove driver_data direct access of struct device thermal: remove driver_data direct access of struct device scsi: remove driver_data direct access of struct device pcmcia: remove driver_data direct access of struct device PCIE: remove driver_data direct access of struct device ... Manually fix up trivial conflicts due to different direct driver_data direct access fixups in drivers/block/{ps3disk.c,ps3vram.c} commit cd5232bd6be2d215a800f3d88c287ca791debfbe Merge: 300df7d f7c52fd Author: Linus Torvalds Date: Tue Jun 16 12:23:52 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: fix regression preventing coalescing of extents commit 300df7dc89cc276377fc020704e34875d5c473b6 Merge: 661adc4 9af0b38 Author: Linus Torvalds Date: Tue Jun 16 12:11:57 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2/net: Use wait_event() in o2net_send_message_vec() ocfs2: Adjust rightmost path in ocfs2_add_branch. ocfs2: fdatasync should skip unimportant metadata writeout ocfs2: Remove redundant gotos in ocfs2_mount_volume() ocfs2: Add statistics for the checksum and ecc operations. ocfs2 patch to track delayed orphan scan timer statistics ocfs2: timer to queue scan of all orphan slots ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories ocfs2: Fix possible deadlock in quota recovery ocfs2: Fix possible deadlock with quotas in ocfs2_setattr() ocfs2: Fix lock inversion in ocfs2_local_read_info() ocfs2: Fix possible deadlock in ocfs2_global_read_dquot() ocfs2: update comments in masklog.h ocfs2: Don't printk the error when listing too many xattrs. commit 661adc423d70203a56723701aaf255e16950dfdb Merge: 15bdb56 3b13b5c Author: Linus Torvalds Date: Tue Jun 16 12:10:31 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: ALSA: ctxfi - Fix deadlock with xfi-timer ALSA: intel8x0 - Fix PCM position craziness ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII ASoC: magician: fix PXA SSP clock polarity ASoC: Instantiate any forgotten DAPM widgets ASoC: Revert duplicated code in SSM2602 driver ALSA: hda - Add quirk for Acer Aspire 6935G ALSA: ctxfi - Replace atc lock to mutex ASoC: Remove odd bit clock ratios for WM8903 commit 15bdb5652689d51cc0316de61774d2732472d9e1 Merge: 98523d4 1a2c4b3 Author: Linus Torvalds Date: Tue Jun 16 12:03:43 2009 -0700 Merge branch 'serial' * serial: imx: Check for NULL pointer deref before calling tty_encode_baud_rate atmel_serial: fix hang in set_termios when crtscts is enabled MAINTAINERS: update 8250 section, give Alan Cox a name tty: fix sanity check pty: Narrow the race on ldisc locking tty: fix unused warning when TCGETX is not defined ldisc: debug aids ldisc: Make sure the ldisc isn't active when we close it tty: Fix leaks introduced by the shift to separate ldisc objects Fix conflicts in drivers/char/pty.c due to earlier version of the ldisc race narrowing. commit 1a2c4b3147ac0645605d6def2855478861d9361b Author: Sascha Hauer Date: Tue Jun 16 17:02:15 2009 +0100 imx: Check for NULL pointer deref before calling tty_encode_baud_rate Signed-off-by: Sascha Hauer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ccad87012c6c2e7446e4dc0f0894cf182a5270a Author: Haavard Skinnemoen Date: Tue Jun 16 17:02:03 2009 +0100 atmel_serial: fix hang in set_termios when crtscts is enabled After enabling hardware flow control, any subsequent termios call may hang waiting for the transmitter to drain. This appears to be caused by a busy-loop in set_termios() waiting for the transmitter to become empty, which may take a very long time (or hang indefinitely) if the device at the other end is blocking us. A quick look through the tty and serial_core code indicates that any necessary flushing (which is optional) has already been done at this point, so there's no need for the driver to flush the transmitter on its own. Fix it by removing the busy-loop altogether. Tested-by: Eirik Aanonsen Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit dc9879291be479e096c5cfac33effc2ade74309b Author: Joe Perches Date: Tue Jun 16 17:01:52 2009 +0100 MAINTAINERS: update 8250 section, give Alan Cox a name Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1aa4bed82a684308f54bf782cffaecd4b1dc3cf4 Author: Alan Cox Date: Tue Jun 16 17:01:33 2009 +0100 tty: fix sanity check The WARN_ON() that was added to tty_reopen can be triggered in the specific case of a hangup occurring during a re-open of a tty which is not in the middle of being otherwise closed. In that case however the WARN() is bogus as we don't hold the neccessary locks to make a correct decision. The case we should be checking is "if the ldisc is not changing and reopen is occuring". We could drop the WARN_ON but for the moment the debug is more valuable even if it means taking a mutex as it will find any other cases. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 762faaed91e4ea4a3c34bc58f3221d9487acb470 Author: Alan Cox Date: Tue Jun 16 17:01:13 2009 +0100 pty: Narrow the race on ldisc locking The pty code has always been buggy on its ldisc handling. The recent changes made the window for the race much bigger. Pending fixing it properly which is not at all trivial, at least make the race small again so we don't disrupt other dev work. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5dca607bcf10d3f08d07ffeac664c6769c336145 Author: Mike Frysinger Date: Tue Jun 16 17:01:02 2009 +0100 tty: fix unused warning when TCGETX is not defined If TCGETX is not defined, we end up with this warning: drivers/char/tty_ioctl.c: In function ‘tty_mode_ioctl’: drivers/char/tty_ioctl.c:950: warning: unused variable ‘ktermx’ Since the variable is only used in one case statement, push it down to the local case scope. Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 677ca3060c474d7d89941948e32493d9c18c52d2 Author: Alan Cox Date: Tue Jun 16 17:00:53 2009 +0100 ldisc: debug aids Signed-off-by: Linus Torvalds commit 52856ed732aeab5e8e0b7c9e2a7a3d31736218ab Author: Alan Cox Date: Tue Jun 16 17:00:40 2009 +0100 ldisc: Make sure the ldisc isn't active when we close it Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8d2ead743dd54dff1fe3d0f4933e5da8bfe07472 Author: Alan Cox Date: Tue Jun 16 17:00:26 2009 +0100 tty: Fix leaks introduced by the shift to separate ldisc objects Gold star for the kmemleak detector. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 98523d4630865c407d3787fd592e5e399488b93b Merge: 8d6cea5 aaa7e2f Author: Linus Torvalds Date: Tue Jun 16 11:52:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (30 commits) sparc64: Update defconfig. sparc: Wire up sys_rt_tgsigqueueinfo(). openprom: Squelch useless GCC warning. sparc: replace uses of CPU_MASK_ALL_PTR sparc64: Add proper dynamic ftrace support. sparc: Simplify code using is_power_of_2() routine. sparc: move of_device common code to of_device_common sparc: remove dma-mapping_{32|64}.h sparc: use dma_map_page instead of dma_map_single sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h p9100: use standard fields for framebuffer physical address and length leo: use standard fields for framebuffer physical address and length cg6: use standard fields for framebuffer physical address and length cg3: use standard fields for framebuffer physical address and length cg14: use standard fields for framebuffer physical address and length bw2: use standard fields for framebuffer physical address and length sparc64: fix and optimize irq distribution sparc64: Use new dynamic per-cpu allocator. sparc64: Only allocate per-cpu areas for possible cpus. ... commit 8d6cea5111f2daea8acf79d7b4b384a14175ecc1 Merge: 6a454f7 61cdd7a Author: Linus Torvalds Date: Tue Jun 16 11:49:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (27 commits) Blackfin: hook up new rt_tgsigqueueinfo syscall Blackfin: improve CLKIN_HZ config default Blackfin: initial support for ftrace grapher Blackfin: initial support for ftrace Blackfin: enable support for LOCKDEP Blackfin: add preliminary support for STACKTRACE Blackfin: move custom sections into sections.h Blackfin: punt unused/wrong mutex-dec.h Blackfin: add support for irqflags Blackfin: add support for bzip2/lzma compressed kernel images Blackfin: convert Kconfig style to def_bool Blackfin: bf548-ezkit: update smsc911x resources Blackfin: update aedos-ipipe code to upstream 1.10-00 Blackfin: bf537-stamp: update ADP5520 resources Blackfin: bf518f-ezbrd: fix SPI CS for SPI flash Blackfin: define SPI IRQ in board resources Blackfin: do not configure the UART early if on wrong processor Blackfin: fix deadlock in SMP IPI handler Blackfin: fix flag storage for irq funcs Blackfin: push down exception oops checking ... commit 6a454f71d795368c00d9c329b60cc4d58929e7bc Merge: d613839 155af2f Author: Linus Torvalds Date: Tue Jun 16 11:48:13 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: (33 commits) [S390] s390: hibernation support for s390 [S390] pm: dcssblk power management callbacks. [S390] pm: monreader power management callbacks. [S390] pm: monwriter power management callbacks. [S390] pm: memory hotplug power management callbacks [S390] pm: con3270 power management callbacks. [S390] pm: smsgiucv power management callbacks. [S390] pm: hvc_iucv power management callbacks [S390] PM: af_iucv power management callbacks. [S390] pm: netiucv power management callbacks. [S390] pm: iucv power management callbacks. [S390] iucv: establish reboot notifier [S390] pm: power management support for SCLP drivers. [S390] pm: tape power management callbacks [S390] pm: vmlogrdr power management callbacks [S390] pm: vmur driver power management callbacks [S390] pm: appldata power management callbacks [S390] pm: vmwatchdog power management callbacks. [S390] pm: zfcp driver power management callbacks [S390] pm: claw driver power management callbacks ... commit d613839ef987d20f7c9347732b452efd921b97d9 Merge: 609106b e212d6f Author: Linus Torvalds Date: Tue Jun 16 11:46:45 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: remove some includings of blktrace_api.h mg_disk: seperate mg_disk.h again block: Introduce helper to reset queue limits to default values cfq: remove extraneous '\n' in blktrace output ubifs: register backing_dev_info btrfs: properly register fs backing device block: don't overwrite bdi->state after bdi_init() has been run cfq: cleanup for last_end_request in cfq_data commit f7c52fd17a7dda42fc9e88c2b2678403419bfe63 Author: Dave Kleikamp Date: Tue Jun 16 13:43:22 2009 -0500 jfs: fix regression preventing coalescing of extents Commit fec1878fe952b994125a3be7c94b1322db586f3b caused a regression in which contiguous blocks being allocated to the end of an extent were getting a new extent created. This typically results in files entirely made up of 1-block extents even though the blocks are contiguous on disk. Apparently grub doesn't handle a jfs file being fragmented into too many extents, since it refuses to boot a kernel from jfs that was created by the 2.6.30 kernel. Signed-off-by: Dave Kleikamp Reported-by: Alex commit 609106b9ac968adbc76ce78c979fc3903a56e16c Merge: 69257ca 42e27bf Author: Linus Torvalds Date: Tue Jun 16 11:30:37 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (38 commits) ps3flash: Always read chunks of 256 KiB, and cache them ps3flash: Cache the last accessed FLASH chunk ps3: Replace direct file operations by callback ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL() ps3: Correct debug message in dma_ioc0_map_pages() drivers/ps3: Add missing annotations ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices block/ps3: remove driver_data direct access of struct device ps3vram: Make ps3vram_priv.reports a void * ps3vram: Remove no longer used ps3vram_priv.ddr_base ps3vram: Replace mutex by spinlock + bio_list block: Add bio_list_peek() powerpc: Use generic atomic64_t implementation on 32-bit processors lib: Provide generic atomic64_t implementation powerpc: Add compiler memory barrier to mtmsr macro powerpc/iseries: Mark signal_vsp_instruction() as maybe unused powerpc/iseries: Fix unused function warning in iSeries DT code ... commit 69257cae20640a396f03aa0bf169b815ba66a58a Merge: 23059a0 978d910 Author: Linus Torvalds Date: Tue Jun 16 11:30:16 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: always update root items for fs trees at commit time commit 23059a0df5fad3d83b9a21fc2696a39148f49617 Merge: 4858704 21bea49 Author: Linus Torvalds Date: Tue Jun 16 11:29:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: split fat_generic_ioctl FAT: add 'errors' mount option commit 4858704da75ba84ce21e6d4b3b974e8b8594c9f2 Merge: 86ade88 036533e Author: Linus Torvalds Date: Tue Jun 16 11:29:17 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: therm_windtunnel: Convert to a new-style i2c driver therm_adt746x: Convert to a new-style i2c driver windfarm: Convert to new-style i2c drivers therm_pm72: Convert to a new-style i2c driver i2c-viapro: Add new PCI device ID for VX855 i2c/chips: Move max6875 to drivers/misc/eeprom i2c: Do not give adapters a default parent i2c: Do not probe for TV chips on Voodoo3 adapters i2c: Retry automatically on arbitration loss i2c: Remove void casts commit 86ade88e15b0852fa437e816037ecb266ae990ad Merge: 9bd47bf 52b5226 Author: Linus Torvalds Date: Tue Jun 16 11:28:50 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (max6650) Add support for alarms hwmon: (f71882fg) Add support for the F71858F hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000 hwmon: (f71882fg) Sanity check f8000 pwm settings hwmon: (f71882fg) Cleanup f8000 pwm handling hwmon: PCI quirk for hwmon access on MSI MS-7031 board hwmon: (w83627ehf) Add W83627DHG-P support hwmon: (tmp401) Add documentation hwmon: (tmp401) Add support for TI's TMP411 sensors chip hwmon: (tmp401) Add support for TI's TMP401 sensor chip hwmon: (ibmaem) Automatically load on HC10 blade hwmon: Fix more __devexit_p glitches commit 9bd47bf9324d4c6a49292d98019938b04791a35d Merge: 46a5066 d6a1cd4 Author: Linus Torvalds Date: Tue Jun 16 11:24:23 2009 -0700 Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits) ACPICA: Update version to 20090521. ACPICA: Disable preservation of SCI enable bit (SCI_EN) ACPICA: Region deletion: Ensure region object is removed from handler list ACPICA: Eliminate extra call to NsGetParentNode ACPICA: Simplify internal operation region interface ACPICA: Update Load() to use operation region interfaces ACPICA: New: AcpiInstallMethod - install a single control method ACPICA: Invalidate DdbHandle after table unload ACPICA: Fix reference count issues for DdbHandle object ACPICA: Simplify and optimize NsGetNextNode function ACPICA: Additional validation of _PRT packages (resource mgr) ACPICA: Fix DebugObject output for DdbHandle objects ACPICA: Fix allowable release order for ASL mutex objects ACPICA: Mutex support: Fix release ordering issue and current sync level ACPICA: Update version to 20090422. ACPICA: Linux OSL: cleanup/update/merge ACPICA: Fix implementation of AML BreakPoint operator (break to debugger) ACPICA: Fix miscellaneous warnings under gcc 4+ ACPICA: Miscellaneous lint changes ACPICA: Fix possible dereference of null pointer ... commit 46a50661fc95d4acf5e4c203f7889234238ce642 Author: Alan Cox Date: Mon Jun 15 16:28:29 2009 +0100 tty: Fix leaks introduced by the shift to separate ldisc objects Gold star for the kmemleak detector. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cbcb6d66af4c6169ce1c2d01a3ab345f04b8359d Author: Alan Cox Date: Mon Jun 15 16:27:29 2009 +0100 pty: Narrow the race on ldisc locking The pty code has always been buggy on its ldisc handling. The recent changes made the window for the race much bigger. Pending fixing it properly which is not at all trivial, at least make the race small again so we don't disrupt other dev work. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b231125af7811a2f68c455d3bda95ac170ee4fa6 Author: Linus Torvalds Date: Tue Jun 16 11:07:14 2009 -0700 printk: add KERN_DEFAULT loglevel to print_modules() Several WARN_ON() messages omit the '\n' at the end of the string, which is a simple (and understandable) error. The next line printed after that warning line is usually the current module list, and that printk does not have a log-level marker - resulting in one long mixed-up line. Adding this loglevel marker will now avoid this unreadable mess. Signed-off-by: Linus Torvalds commit e28d713704117bca0820c732210df6075b09f13b Author: Linus Torvalds Date: Tue Jun 16 11:02:28 2009 -0700 printk: Add KERN_DEFAULT printk log-level This adds a KERN_DEFAULT loglevel marker, for when you cannot decide which loglevel you want, and just want to keep an existing printk with the default loglevel. The difference between having KERN_DEFAULT and having no log-level marker at all is two-fold: - having the log-level marker will now force a new-line if the previous printout had not added one (perhaps because it forgot, but perhaps because it expected a continuation) - having a log-level marker is required if you are printing out a message that otherwise itself could perhaps otherwise be mistaken for a log-level. Signed-of-by: Linus Torvalds commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f Author: Linus Torvalds Date: Tue Jun 16 10:57:02 2009 -0700 printk: clean up handling of log-levels and newlines It used to be that we would only look at the log-level in a printk() after explicit newlines, which can cause annoying problems when the previous printk() did not end with a '\n'. In that case, the log-level marker would be just printed out in the middle of the line, and be seen as just noise rather than change the logging level. This changes things to always look at the log-level in the first bytes of the printout. If a log level marker is found, it is always used as the log-level. Additionally, if no newline existed, one is added (unless the log-level is the explicit KERN_CONT marker, to explicitly show that it's a continuation of a previous line). Acked-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 9086c7b90abbf4ec29543e8f2424e3ecd14e955d Author: Steven Rostedt Date: Tue Jun 16 11:46:09 2009 -0400 ring-buffer: have benchmark test handle discarded events With the addition of commit: c7b0930857e2278f2e7714db6294e94c57f623b0 ring-buffer: prevent adding write in discarded area The ring buffer may now add discarded events when a write passes the end of a buffer page. Before, a discarded event was only added when the tracer deliberately created one. The ring buffer benchmark test does not handle discarded events when it reads the buffer and fails when it encounters one. Also fix the increment for large data entries (luckily, the test did not add any yet). [ Impact: fix false failure of ring buffer self test ] Signed-off-by: Steven Rostedt commit 3b13b5ce8c1b52379aff80666d31d4354354b2d4 Merge: b909005 d9e89bf Author: Takashi Iwai Date: Tue Jun 16 17:38:50 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII commit b909005ce15886e9f3283b876e17901f8057d2f7 Merge: 7998d90 f708eb1 Author: Takashi Iwai Date: Tue Jun 16 17:38:46 2009 +0200 Merge branch 'topic/intel8x0' into for-linus * topic/intel8x0: ALSA: intel8x0 - Fix PCM position craziness commit 7998d90a143d0f8fbbb45282d5900a844de9bc16 Merge: 3d2aa66 e46b0c8 Author: Takashi Iwai Date: Tue Jun 16 17:38:43 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Add quirk for Acer Aspire 6935G commit 3d2aa66ddaa3008ae2c71bca07eb5e8b08170c4a Merge: 21ce3cd 8dca419 Author: Takashi Iwai Date: Tue Jun 16 17:38:40 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Fix deadlock with xfi-timer ALSA: ctxfi - Replace atc lock to mutex commit 21ce3cd63365b0d07794adeb4325944bfa86fb4e Merge: e3f86d3 33745fb Author: Takashi Iwai Date: Tue Jun 16 17:38:36 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: magician: fix PXA SSP clock polarity ASoC: Instantiate any forgotten DAPM widgets ASoC: Revert duplicated code in SSM2602 driver ASoC: Remove odd bit clock ratios for WM8903 commit 14ebaf81e13ce66bff275380b246796fd16cbfa1 Author: David S. Miller Date: Tue Jun 16 05:40:30 2009 -0700 x25: Fix sleep from timer on socket destroy. If socket destuction gets delayed to a timer, we try to lock_sock() from that timer which won't work. Use bh_lock_sock() in that case. Signed-off-by: David S. Miller Tested-by: Ingo Molnar commit aaa7e2f74f11b5f7e30483807b896d7b3369586f Author: David S. Miller Date: Tue Jun 16 04:59:53 2009 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit d1ae4ce3d0db5153435558f0f3f4ef8f4c790dee Author: David S. Miller Date: Tue Jun 16 04:17:58 2009 -0700 sparc: Wire up sys_rt_tgsigqueueinfo(). Signed-off-by: David S. Miller commit 32e5897da1fc5180aa817c81e6aca74a8f6b6957 Author: David S. Miller Date: Tue Jun 16 03:46:54 2009 -0700 openprom: Squelch useless GCC warning. drivers/sbus/char/openprom.c: In function ‘openprom_sunos_ioctl’: drivers/sbus/char/openprom.c:306: warning: ‘opp’ may be used uninitialized in this function Signed-off-by: David S. Miller commit 6ac5c610828c051666f667d2bdbd51fc15a59e98 Author: Stephen Rothwell Date: Mon Jun 15 03:06:18 2009 -0700 sparc: replace uses of CPU_MASK_ALL_PTR 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). [Description by Rusty Russell] Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 9be12f9b1c4fd5f18cc82c170a32bfe1713ba76d Author: David S. Miller Date: Sat Jun 13 01:03:24 2009 -0700 sparc64: Add proper dynamic ftrace support. Signed-off-by: David S. Miller Acked-by: Steven Rostedt Acked-by: Ingo Molnar commit 949e82744b31b555dd6dba40758e05338f305233 Author: Robert P. J. Day Date: Fri Apr 24 03:58:24 2009 +0000 sparc: Simplify code using is_power_of_2() routine. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit c9f5b7e77c30da25104a3f7f26ac46c07d7b5cb6 Author: Robert Reif Date: Thu Jun 4 02:00:02 2009 -0700 sparc: move of_device common code to of_device_common This patch moves code common to of_device_32.c and of_device_64.c into of_device_common.h and of_device_common.c. The only functional difference is in sparc32 where of_bus_default_map is used in place of of_bus_sbus_map because they are equivelent. There is still room for further code consolidation with some minor refactoring. Boot tested on sparc32 and compile tested on sparc64. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit d69864158e24f323e818403c6b89ad4871aea6f6 Author: FUJITA Tomonori Date: Thu May 14 16:23:11 2009 +0000 sparc: remove dma-mapping_{32|64}.h This modifies SPARC32 to use struct dma_map ops. It means that we can remove dma-mapping_{32|64}.h. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 797a75686528e9f6f9bfee2a719a00b47868c999 Author: FUJITA Tomonori Date: Thu May 14 16:23:10 2009 +0000 sparc: use dma_map_page instead of dma_map_single 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. map_page can be used to implement map_single but the opposite is impossible. Having only dma_map_page in struct dma_ops is enough. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 2e8fcfe2e51b2ee0fef3313e3c9ec25b9d6ed255 Author: FUJITA Tomonori Date: Thu May 14 16:23:09 2009 +0000 sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops This adds sync_single_for_device() and sync_sg_for_device() to struct dma_ops in order to unify dma-mpping_{32|64}.h. dma-mpping_32.h needs them though dma-mpping_64.h doesn't. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit b9f69f4f4a953b2b5299fff7fc98e69221e29514 Author: FUJITA Tomonori Date: Thu May 14 16:23:08 2009 +0000 sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 0d76cb2606cbb2e21f3832773458bb0241f99c6d Author: Krzysztof Helt Date: Mon May 4 10:42:57 2009 +0000 p9100: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 8803f7afe6370af8cd97991bde0c3b53eca4e8da Author: Krzysztof Helt Date: Mon May 4 10:41:56 2009 +0000 leo: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 963b916c1cb42450c7a061b13fcce6c9a2cdea28 Author: Krzysztof Helt Date: Mon May 4 10:39:45 2009 +0000 cg6: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 9fbfd4b8a4d8c097bcb0efd14a84a6869c0ac4d5 Author: Krzysztof Helt Date: Mon May 4 10:37:46 2009 +0000 cg3: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit de4dc48ee26ccc9dbc6a86b0710f7fd408149056 Author: Krzysztof Helt Date: Mon May 4 10:36:50 2009 +0000 cg14: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 3f06cd29358dd390d62afcde14fde54cec9deef9 Author: Krzysztof Helt Date: Mon May 4 10:35:36 2009 +0000 bw2: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 280ff97494e0fef4124bee5c52e39b23a18dd283 Author: Hong H. Pham Date: Thu Jun 4 02:10:11 2009 -0700 sparc64: fix and optimize irq distribution irq_choose_cpu() should compare the affinity mask against cpu_online_map rather than CPU_MASK_ALL, since irq_select_affinity() sets the interrupt's affinity mask to cpu_online_map "and" CPU_MASK_ALL (which ends up being just cpu_online_map). The mask comparison in irq_choose_cpu() will always fail since the two masks are not the same. So the CPU chosen is the first CPU in the intersection of cpu_online_map and CPU_MASK_ALL, which is always CPU0. That means all interrupts are reassigned to CPU0... Distributing interrupts to CPUs in a linearly increasing round robin fashion is not optimal for the UltraSPARC T1/T2. Also, the irq_rover in irq_choose_cpu() causes an interrupt to be assigned to a different processor each time the interrupt is allocated and released. This may lead to an unbalanced distribution over time. A static mapping of interrupts to processors is done to optimize and balance interrupt distribution. For the T1/T2, interrupts are spread to different cores first, and then to strands within a core. The following is some benchmarks showing the effects of interrupt distribution on a T2. The test was done with iperf using a pair of T5220 boxes, each with a 10GBe NIU (XAUI) connected back to back. TCP | Stock Linear RR IRQ Optimized IRQ Streams | 2.6.30-rc5 Distribution Distribution | GBits/sec GBits/sec GBits/sec --------+----------------------------------------- 1 0.839 0.862 0.868 8 1.16 4.96 5.88 16 1.15 6.40 8.04 100 1.09 7.28 8.68 Signed-off-by: Hong H. Pham Signed-off-by: David S. Miller commit 4fd78a5f1edf62ab1ca3d23efee4a8a336edb2b6 Author: David S. Miller Date: Wed Apr 8 20:32:02 2009 -0700 sparc64: Use new dynamic per-cpu allocator. Signed-off-by: David S. Miller commit 0c243ad81f234672bebb72cf3dd014b9c841781d Author: David S. Miller Date: Wed Apr 1 16:22:27 2009 -0700 sparc64: Only allocate per-cpu areas for possible cpus. This gets us real close to the generic implementation of setup_per_cpu_areas() except: 1) We store the per-cpu offset into the trap_block[], whereas the generic code has it's own static array. 2) We have to initialize the %g5 register to hold the boot cpu's per-cpu area offset. 3) The OBP/MDESC cpu info scan is performed at the end. Signed-off-by: David S. Miller commit 73fffc037e2383a0ed126d57bdcda9b369769ae8 Author: David S. Miller Date: Wed Apr 1 16:15:20 2009 -0700 sparc64: Get rid of real_setup_per_cpu_areas(). Now that we defer the cpu_data() initializations to the end of per-cpu setup, we can get rid of this local hack we had to setup the per-cpu areas eary. This is a necessary step in order to support HAVE_DYNAMIC_PER_CPU_AREA since the per-cpu setup must run when page structs are available. Signed-off-by: David S. Miller commit b696fdc259f0d94348a9327bed352fac44d4883d Author: David S. Miller Date: Tue May 26 22:37:25 2009 -0700 sparc64: Defer cpu_data() setup until end of per-cpu data initialization. Signed-off-by: David S. Miller commit a2094502dce23e9ace04d49702aa7a4d5996df55 Author: David S. Miller Date: Wed Apr 1 03:15:11 2009 -0700 sparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer. Signed-off-by: David S. Miller commit 890db403d59fbeaf273ed019d0b1862223d80a9a Author: David S. Miller Date: Wed Apr 1 03:13:15 2009 -0700 sparc: Call OF and MD cpu scanning explicitly from paging_init() We need to split up the cpu present mask setup from the cpu_data initialization, and this is a first step towards that. Signed-off-by: David S. Miller commit 5052f525fde2dcb550cc3b4f15d2bfdd2a5c8782 Author: David S. Miller Date: Wed Apr 8 19:55:47 2009 -0700 sparc64: Refactor MDESC cpu scanning code using an iterator. Signed-off-by: David S. Miller commit 9bab54143ca16592536c9d35f43cfac0a2a28ea8 Author: David S. Miller Date: Tue May 26 21:46:14 2009 -0700 sparc64: Refactor OBP cpu scanning code using an iterator. With feedback from Sam Ravnborg. Signed-off-by: David S. Miller commit 8249778908783f329a8852285b083ce86437e089 Author: David S. Miller Date: Wed Apr 1 01:57:36 2009 -0700 sparc64: Use BUILD_BUG_ON() in trap_init(). Signed-off-by: David S. Miller commit 5a5488d3bb9a23d9884572e5d85dfeefe8749d3d Author: David S. Miller Date: Wed Apr 1 01:47:10 2009 -0700 sparc64: Store per-cpu offset in trap_block[] Surprisingly this actually makes LOAD_PER_CPU_BASE() a little more efficient. Signed-off-by: David S. Miller commit 19f0fa3fb3499d8c5fb861933959f546d05fc202 Author: David S. Miller Date: Wed Apr 1 01:26:43 2009 -0700 sparc64: Move trap_block[] definitions into a new header file. Later we're going to want to get at these definitions from asm/percpu.h and that's not possible via cpudata.h because of the set of dependencies the non-trap_block[] stuff has. Signed-off-by: David S. Miller commit 557fe0e8842e919aeacedeb5f35444c78232b3c8 Author: David S. Miller Date: Tue Mar 31 17:15:40 2009 -0700 sparc64: Reclaim trap_block[]->hdesc This really isn't necessary at all, a local variable suits the job just fine. This frees up 8 bytes in the trap_block[] that we can use later to store the per-cpu base addresses. Signed-off-by: David S. Miller commit 8a4a6182fd43c46ed8c12e26b4669854bcad300a Merge: 5dfaf90 6a047d8 Author: Ingo Molnar Date: Tue Jun 16 11:51:24 2009 +0200 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit a1870b9cc280fe16fed13994810f8a1687be3bcf Merge: 6cc90a5 1fa6f4a Author: David S. Miller Date: Tue Jun 16 02:27:12 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6cc90a5a6061428358d0f726a53fb44af5254111 Author: Stephen Hemminger Date: Thu Jun 11 07:03:47 2009 +0000 sky2: don't look for VPD size The code to compute VPD size didn't handle some systems that use chip without VPD. Also some of the newer chips use some additional registers to store the actual size, and wasn't worth putting the additional complexity in, so just remove the code. No big loss since the code to set the VPD size was only a convenience so that utilities would not read the extra space past the end of the available VPD. Move the first PCI config read earlier to detect bad hardware where it returns all ones and refuse loading driver before furthur damage. Signed-off-by: Stephen Hemminger Tested-by: Andy Whitcroft Signed-off-by: David S. Miller commit e212d6f25084e8e9b02a04ba514d7bb1e4a4924a Author: Li Zefan Date: Tue Jun 16 11:19:36 2009 +0200 block: remove some includings of blktrace_api.h When porting blktrace to tracepoints, we changed to trace/block.h for trace prober declarations. Signed-off-by: Li Zefan Signed-off-by: Jens Axboe commit 155af2f95f905c830688dd0ca7c7cac4107334fd Author: Hans-Joachim Picht Date: Tue Jun 16 10:30:52 2009 +0200 [S390] s390: hibernation support for s390 This patch introduces the hibernation backend support to the s390 architecture. Now it is possible to suspend a mainframe Linux guest using the following command: echo disk > /sys/power/state Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit c369527f18f8560bd3580be2676cb55b54b02ee6 Author: Gerald Schaefer Date: Tue Jun 16 10:30:51 2009 +0200 [S390] pm: dcssblk power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 2b1e3e5558b9de0f85ed9183a7adb2d61aab363b Author: Gerald Schaefer Date: Tue Jun 16 10:30:50 2009 +0200 [S390] pm: monreader power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit fb78140cedcd2805e5cfec12af59c0a6dfa112db Author: Gerald Schaefer Date: Tue Jun 16 10:30:49 2009 +0200 [S390] pm: monwriter power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 039979049834bde56f67f8078c802b416bd4763c Author: Gerald Schaefer Date: Tue Jun 16 10:30:48 2009 +0200 [S390] pm: memory hotplug power management callbacks Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 4b214a0c7720bfcfaca936047a359f8859fc8424 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:47 2009 +0200 [S390] pm: con3270 power management callbacks. Introduce the power management callbacks to the 3270 driver. On suspend the current 3270 view is deactivated and for non-console 3270 device the release callback is done. This disconnects the current tty / fullscreen application from the 3270 device. On resume the current view is reactivated, on the tty you get a fresh login. If the system panics before the 3270 device has been resumed, the ccw device for the 3270 console is reactivated with ccw_device_force_console. Signed-off-by: Martin Schwidefsky commit 6a1d96dced593bc17d7a17fdb93c99b275e71eba Author: Martin Schwidefsky Date: Tue Jun 16 10:30:46 2009 +0200 [S390] pm: smsgiucv power management callbacks. Create dummy iucv-device to get control when the system is suspended and resumed. Server the smsg iucv path on suspend, reestablish the path on resume. Signed-off-by: Martin Schwidefsky commit 0259162ecd083f1ce0f6022e669f393330b06f4d Author: Hendrik Brueckner Date: Tue Jun 16 10:30:45 2009 +0200 [S390] pm: hvc_iucv power management callbacks The patch adds supporting for suspending and resuming IUCV HVC terminal devices from disk. The obligatory Linux device driver interfaces has been added by registering a device driver on the IUCV bus. For each IUCV HVC terminal device the driver creates a respective device on the IUCV bus. To support suspend and resume, the PM freeze callback severs any established IUCV communication path and triggers a HVC tty hang-up when the system image is restored. IUCV communication path are no longer valid when the z/VM guest is halted. The device driver initialization has been updated to register devices and the a new routine has been extracted to facilitate the hang-up of IUCV HVC terminal devices. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit c23cad923bfebd295ec49dc9265569993903488d Author: Ursula Braun Date: Tue Jun 16 10:30:44 2009 +0200 [S390] PM: af_iucv power management callbacks. Patch establishes a dummy afiucv-device to make sure af_iucv is notified as iucv-bus device about suspend/resume. The PM freeze callback severs all iucv pathes of connected af_iucv sockets. The PM thaw/restore callback switches the state of all previously connected sockets to IUCV_DISCONN. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 1175b257c8a2cb384823621cad0c1e0945f74300 Author: Ursula Braun Date: Tue Jun 16 10:30:43 2009 +0200 [S390] pm: netiucv power management callbacks. Patch establishes a dummy netiucv device to make sure iucv is notified about suspend/resume even if netiucv is the only loaded iucv-exploting module without any real net_device defined. The PM freeze callback closes all open netiucv connections. Thus the corresponding iucv path is removed. The PM thaw/restore callback re-opens previously closed netiucv connections. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 672e405b603af0bed99a4c173cdfce9bbf81c963 Author: Ursula Braun Date: Tue Jun 16 10:30:42 2009 +0200 [S390] pm: iucv power management callbacks. Patch calls the PM callback functions of iucv-bus devices, which are responsible for removal of their established iucv pathes. The PM freeze callback for the first iucv-bus device disables all iucv interrupts except the connection severed interrupt. The PM freeze callback for the last iucv-bus device shuts down iucv. The PM thaw callback for the first iucv-bus device re-enables iucv if it has been shut down during freeze. If freezing has been interrupted, it re-enables iucv interrupts according to the needs of iucv-exploiters. The PM restore callback for the first iucv-bus device re-enables iucv. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 6c005961c15ff85fe1047c197d50b843567c89f8 Author: Ursula Braun Date: Tue Jun 16 10:30:41 2009 +0200 [S390] iucv: establish reboot notifier To guarantee a proper cleanup, patch adds a reboot notifier to the iucv base code, which disables iucv interrupts, shuts down established iucv pathes, and removes iucv declarations for z/VM. Checks have to be added to the iucv-API functions, whether iucv-buffers removed at reboot time are still declared. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 62b7494209495847269a6ce0504cbefd23d42eb1 Author: Michael Holzheu Date: Tue Jun 16 10:30:40 2009 +0200 [S390] pm: power management support for SCLP drivers. The SCLP base driver defines a new notifier call back for all upper level SCLP drivers, like the SCLP console, etc. This guarantees that in suspend first the upper level drivers are suspended and afterwards the SCLP base driver. For resume it is the other way round. The SCLP base driver itself registers a new platform device at the platform bus and gets PM notifications via the dev_pm_ops. In suspend, the SCLP base driver switches off the receiver and sender mask This is done in sclp_deactivate(). After suspend all new requests will be rejected with -EIO and no more interrupts will be received, because the masks are switched off. For resume the sender and receiver masks are reset in the sclp_reactivate() function. When the SCLP console is suspended, all new messages are cached in the sclp console buffers. In resume, all the cached messages are written to the console. In addition to that we have an early resume function that removes the cached messages from the suspend image. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3ef32e62cb55785f6f1b5ad7290744f74bdadaf0 Author: Frank Munzert Date: Tue Jun 16 10:30:39 2009 +0200 [S390] pm: tape power management callbacks Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 9f62fa1618987e9fadb2eef86d35ef168ddf5a1f Author: Stefan Weinhuber Date: Tue Jun 16 10:30:38 2009 +0200 [S390] pm: vmlogrdr power management callbacks Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit b241f7bcc603babd3de903fa855d418ee7c4751d Author: Frank Munzert Date: Tue Jun 16 10:30:37 2009 +0200 [S390] pm: vmur driver power management callbacks Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 524dbcdad7a84a054b4458aa94e152ffb2bfabbd Author: Gerald Schaefer Date: Tue Jun 16 10:30:36 2009 +0200 [S390] pm: appldata power management callbacks Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 58872d5f367876a81dcda82465381d80d321a81d Author: Christian Borntraeger Date: Tue Jun 16 10:30:35 2009 +0200 [S390] pm: vmwatchdog power management callbacks. This patch implements suspend/hibernation for the vmwatchdog driver. The pm_notifier_callchain is used to get control on PM events. Since watchdog operation and suspend cannot work together in a reliable fashion, the open flag is also used to prevent suspend and open from happening at the same time. The watchdog can also be active with no open file descriptor. This patch adds another flag which is only changed in vmwdt_keep_alive and vmwdt_disable. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit daa70fa960fb5625d762988cca7e4733573d90a3 Author: Martin Petermann Date: Tue Jun 16 10:30:34 2009 +0200 [S390] pm: zfcp driver power management callbacks Signed-off-by: Martin Petermann Signed-off-by: Martin Schwidefsky commit 88efc2c503e82072a19b531d54e02f22de14a132 Author: Frank Blaschka Date: Tue Jun 16 10:30:33 2009 +0200 [S390] pm: claw driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit b8a2d42a8276d4dbc5a5c99f4422132c43ce3e1d Author: Frank Blaschka Date: Tue Jun 16 10:30:32 2009 +0200 [S390] pm: ctcm driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit bbcfcdc8324e75532c4d2592a545a91fcb45f229 Author: Frank Blaschka Date: Tue Jun 16 10:30:31 2009 +0200 [S390] pm: qeth driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit cbb2aec3e7271f4cefcba2942aecc658d5841307 Author: Klaus-Dieter Wacket Date: Tue Jun 16 10:30:30 2009 +0200 [S390] pm: lcs driver power management callbacks Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Martin Schwidefsky commit 77812a27577dba6adb71b1de8ee690ced5002067 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:29 2009 +0200 [S390] pm: con3215 power management callbacks Introduce the power management callbacks to the 3215 console. On suspend the console buffer is flushed to the 3215 device to have an empty console buffer. Printks done while the 3215 device is suspended are buffered in the 64K buffer of the 3215 device. If the buffer is full new messages will push out the oldest messages to make room for the most recent message. On resume the buffered messages are printed. If the system panics before the 3215 device is resumed ccw_device_force_console is used to get the console working again. Signed-off-by: Martin Schwidefsky commit 6664845cef13b0a224f43f6c46eddd0b3e018c04 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:28 2009 +0200 [S390] cio: force console function If something goes wrong in a suspend / resume cycle a ccw based console if very likely in the suspended state and cannot print anything. Introduce ccw_device_force_console to force the wake up of the console device to be able to print the oops message. The console device drivers should use this function only if the system paniced. Signed-off-by: Martin Schwidefsky commit 14532095dfe9e8faf2d314d9c2170f64737c7dff Author: Michael Holzheu Date: Tue Jun 16 10:30:27 2009 +0200 [S390] pm: xpram driver power management callbacks Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 7db11a363fc41cec170a94a3542031e5e64bb333 Author: Hans-Joachim Picht Date: Tue Jun 16 10:30:26 2009 +0200 [S390] pm: add kernel_page_present Fix the following build failure caused by make allyesconfig using CONFIG_HIBERNATION and CONFIG_DEBUG_PAGEALLOC kernel/built-in.o: In function `saveable_page': kernel/power/snapshot.c:897: undefined reference to `kernel_page_present' kernel/built-in.o: In function `safe_copy_page': kernel/power/snapshot.c:948: undefined reference to `kernel_page_present' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit d41dd122acf960db78c9ddc87684b43751dd36d9 Author: Stefan Haberland Date: Tue Jun 16 10:30:25 2009 +0200 [S390] pm: dasd power management callbacks. Introduce the power management callbacks to the dasd driver. On suspend the dasd devices are stopped and removed from the focus of alias management. On resume they are reinitialized by rereading the device characteristics and adding the device to the alias management. In case the device has gone away during suspend it will caught in the suspend state with stopped flag set to UNRESUMED. After it appears again the restore function is called again. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit ad285ae9fc6b9c0058f2a558b43fe8817685ebfa Author: Cornelia Huck Date: Tue Jun 16 10:30:24 2009 +0200 [S390] pm: chsc subchannel driver power management callbacks Signed-off-by: Cornelia Huck Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 93a275921daf83e6e4efbafdd82712bcaa93f491 Author: Cornelia Huck Date: Tue Jun 16 10:30:23 2009 +0200 [S390] pm: io subchannel driver power management callbacks Signed-off-by: Cornelia Huck Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit dcbd16d5111258df7c821ec1e4124fe6ffbf3c16 Author: Sebastian Ott Date: Tue Jun 16 10:30:22 2009 +0200 [S390] pm: css bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 7e597a21a1470b12428cb0edd03c40986026451f Author: Sebastian Ott Date: Tue Jun 16 10:30:21 2009 +0200 [S390] pm: ccwgroup bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 823d494ac11111064cf39abd4178ce299414c771 Author: Sebastian Ott Date: Tue Jun 16 10:30:20 2009 +0200 [S390] pm: ccw bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 5dfaf90f8052327c92fbe3c470a2e6634be296c0 Author: Ingo Molnar Date: Tue Jun 16 10:23:32 2009 +0200 x86: mm: Read cr2 before prefetching the mmap_lock Prefetch instructions can generate spurious faults on certain models of older CPUs. The faults themselves cannot be stopped and they can occur pretty much anywhere - so the way we solve them is that we detect certain patterns and ignore the fault. There is one small path of code where we must not take faults though: the #PF handler execution leading up to the reading of the CR2 (the faulting address). If we take a fault there then we destroy the CR2 value (with that of the prefetching instruction's) and possibly mishandle user-space or kernel-space pagefaults. It turns out that in current upstream we do exactly that: prefetchw(&mm->mmap_sem); /* Get the faulting address: */ address = read_cr2(); This is not good. So turn around the order: first read the cr2 then prefetch the lock address. Reading cr2 is plenty fast (2 cycles) so delaying the prefetch by this amount shouldnt be a big issue performance-wise. [ And this might explain a mystery fault.c warning that sometimes occurs on one an old AMD/Semptron based test-system i have - which does have such prefetch problems. ] Cc: Mathieu Desnoyers Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Nick Piggin Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Hugh Dickins LKML-Reference: <20090616030522.GA22162@Krystal> Signed-off-by: Ingo Molnar commit 6a047d8b9efc4b7d0c57ca4835f7e519e5c90d3f Author: Chris Wright Date: Tue Jun 16 03:01:37 2009 -0400 amd-iommu: resume cleanup Now that enable_iommus() will call iommu_disable() for each iommu, the call to disable_iommus() during resume is redundant. Also, the order for an invalidation is to invalidate device table entries first, then domain translations. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 39f4490c70eae62cfed62081243110607069d3f9 Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:44:10 2009 +0000 sh: Revised clock function in highlander Clock function was changed, but highlander used old function. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 02a146dffa471fec4c095c3810645df26ac86d5d Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:43:21 2009 +0000 sh: Update r7780mp defconfig Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 15ba400ebb9d958afb3d2a7aa079a56e9ad2fe7a Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:42:20 2009 +0000 sh: Add support mtd mapping for highlander Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit fbb704efb784e2c8418e34dc3013af76bdd58101 Author: raz ben yehuda Date: Tue Jun 16 17:02:05 2009 +1000 md: raid0 :Enables chunk size other than powers of 2. Maintain two flows, one for pow2 chunk sizes (which uses masks and shift), and a flow for the general case (which uses sector_div). This is for the sake of performance. - introduce map_sector and is_io_in_chunk_boundary to encapsulate those two flows better for raid0_make_request - fix blk_mergeable to support the two flows. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 2ac06c3332898103210b478c5a17c20e28929287 Author: raz ben yehuda Date: Tue Jun 16 17:01:42 2009 +1000 md: prepare for non-power-of-two chunk sizes Remove chunk size check from md as this is now performed in the run function in each personality. Replace chunk size power 2 code calculations by a regular division. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 740da44918680a0c72411ae4ccdd1861069afcc4 Author: raz ben yehuda Date: Tue Jun 16 17:01:36 2009 +1000 md: raid5: chunk size check in setup_conf have raid5 check chunk size in run/reshape method instead of in md Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 964e7913b0d25b988e27a7cd9378bc55cc572bb4 Author: raz ben yehuda Date: Tue Jun 16 17:01:22 2009 +1000 md: raid10: chunk size check in run have raid10 check chunk size in run method instead of in md Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 92e59b6ba21845fadd2cce725010a9351740b76e Author: raz ben yehuda Date: Tue Jun 16 17:00:57 2009 +1000 md: raid0: chunk size check in raid0_run have raid0 check chunk size in run method instead of in md. This is part of a series moving the checks from common code to the personalities where they belong. hardsect is short and chunksize is an int, so it is safe to use %. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 46994191ae8fdf1cbcc1f29282576b269a638c69 Author: raz ben yehuda Date: Tue Jun 16 17:00:54 2009 +1000 md: have raid0 report its formation Report to the user what are the raid zones Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 1b9614291eb319fad96de45392eb4452ad39f0ee Author: raz ben yehuda Date: Tue Jun 16 16:57:40 2009 +1000 md: have raid0 compile with MD_DEBUG on Because of the removal of the device list from the strips raid0 did not compile with MD_DEBUG flag on Signed-off-by: NeilBrown commit aece3d1f40879759f641dfbfdbb9e2593adeb43c Author: Sandeep K Sinha Date: Tue Jun 16 16:57:08 2009 +1000 md: Binary search in linear raid Replace the linear search with binary search in which_dev. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 4db7cdc859f56ecf0a186e0cfb238b5bb3af2efb Author: Sandeep K Sinha Date: Tue Jun 16 16:56:13 2009 +1000 md: Removing num_sector and replacing start_sector with end_sector Remove num_sectors from dev_info and replace start_sector with end_sector. This makes a lot of comparisons much simpler. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 45d4582f219619e368ea91ea1189085e1c5f1969 Author: Sandeep K Sinha Date: Tue Jun 16 16:55:26 2009 +1000 md: Removal of hash table in linear raid Get rid of sector_div and hash table for linear raid and replace with a linear search in which_dev. The hash table adds a lot of complexity for little if any gain. Ultimately a binary search will be used which will have smaller cache foot print, a similar number of memory access, and no divisions. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 070ec55d07157a3041f92654135c3c6e2eaaf901 Author: NeilBrown Date: Tue Jun 16 16:54:21 2009 +1000 md: remove mddev_to_conf "helper" macro Having a macro just to cast a void* isn't really helpful. I would must rather see that we are simply de-referencing ->private, than have to know what the macro does. So open code the macro everywhere and remove the pointless cast. Signed-off-by: NeilBrown commit a6b3deafe0c50e3e873e8ed5cc8abfcb25c05eff Author: NeilBrown Date: Tue Jun 16 16:54:07 2009 +1000 md: raid0: remove setting of segment boundary. This setting doesn't seem to make sense (half the chunk size??) and shouldn't be needed. The segment boundary exported by raid0 should simply be the minimum of the segment boundary of all component devices. And we already get that right. Signed-off-by: NeilBrown commit b414579f4573b6dc8583e31b01dcffd13f49fd62 Author: NeilBrown Date: Tue Jun 16 16:50:52 2009 +1000 md: raid0: remove ->dev pointer from strip_zone structure If we treat conf->devlist more like a 2 dimensional array, we can get the devlist for a particular zone simply by indexing that array, so we don't need to store the pointers to subarrays in strip_zone. This makes strip_zone smaller and so (hopefully) searches faster. Signed-of-by: NeilBrown commit 49f357a22b3fa3eeac042dfa0a6cae920c174e48 Author: NeilBrown Date: Tue Jun 16 16:50:35 2009 +1000 md: raid0: remove ->sectors from the strip_zone structure. storing ->sectors is redundant as is can be computed from the difference z->zone_end - (z-1)->zone_end The one place where it is used, it is just as efficient to use a zone_end value instead. And removing it makes strip_zone smaller, so they array of these that is searched on every request has a better chance to say in cache. So discard the field and get the value from elsewhere. Signed-off-by: NeilBrown commit fb5ab4b5d6e16fd5006c9f800d0116f3547cb760 Author: Andre Noll Date: Tue Jun 16 16:48:19 2009 +1000 md: raid0: Fix a memory leak when stopping a raid0 array. raid0_stop() removes all references to the raid0 configuration but misses to free the ->devlist buffer. This patch closes this leak, removes a pointless initialization and fixes a coding style issue in raid0_stop(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit ed7b00380d957ec770b5e90380d012c6062c13cc Author: Andre Noll Date: Tue Jun 16 16:47:36 2009 +1000 md: raid0: Allocate all buffers for the raid0 configuration in one function. Currently the raid0 configuration is allocated in raid0_run() while the buffers for the strip_zone and the dev_list arrays are allocated in create_strip_zones(). On errors, all three buffers are freed in raid0_run(). It's easier and more readable to do the allocation and cleanup within a single function. So move that code into create_strip_zones(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 5568a6035d9fca2cd8f1ef7005e215eae4e65fab Author: Andre Noll Date: Tue Jun 16 16:47:21 2009 +1000 md: raid0: Make raid0_run() return a proper error code. Currently raid0_run() always returns -ENOMEM on errors. This is incorrect as running the array might fail for other reasons, for example because not all component devices were available. This patch changes create_strip_zones() so that it returns a proper error code (either -ENOMEM or -EINVAL) rather than 1 on errors and makes raid0_run(), its single caller, return that value instead of -ENOMEM. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 8f79cfcdb65472f1504ade2f53e5f2bfdaeb95da Author: Andre Noll Date: Tue Jun 16 16:47:10 2009 +1000 md: raid0: Remove hash spacing and sector shift. The "sector_shift" and "spacing" fields of struct raid0_private_data were only used for the hash table lookups. So the removal of the hash table allows get rid of these fields as well which simplifies create_strip_zones() and raid0_run() quite a bit. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 09770e0b6ee649313611a2d6a9b44f456072dbd6 Author: Andre Noll Date: Tue Jun 16 16:46:48 2009 +1000 md: raid0: Remove hash table. The raid0 hash table has become unused due to the changes in the previous patch. This patch removes the hash table allocation and setup code and kills the hash_table field of struct raid0_private_data. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d27a43abd7be0ab4b2337e4587feca8c7340e5f9 Author: NeilBrown Date: Tue Jun 16 16:46:46 2009 +1000 md/raid0: two cleanups in create_stripe_zones. 1/ remove current_start. The same value is available in zone->dev_start and storing it separately doesn't gain anything. 2/ rename curr_zone_start to curr_zone_end as we are now more focused on the 'end' of each zone. We end up storing the same number though - the old name was a little confusing (and what does 'current' mean in this context anyway). Signed-off-by: NeilBrown commit 5ced504b1bd1979378de35c56aa5d3d79fb5033f Author: unsik Kim Date: Tue Jun 16 08:40:20 2009 +0200 mg_disk: seperate mg_disk.h again eec9462088a26c046d4db3100796a340a50890b8 fold mg_disk.h into mg_disk.c, but mg_disk platform driver needs private data for operation. This also make mg_disk.c as machine independent. Seperate only needed structure and defines to mg_disk.h Signed-off-by: unsik Kim Signed-off-by: Jens Axboe commit e475bba2fdee9c3dbfe25f026f8fb8de69508ad2 Author: Martin K. Petersen Date: Tue Jun 16 08:23:52 2009 +0200 block: Introduce helper to reset queue limits to default values DM reuses the request queue when swapping in a new device table Introduce blk_set_default_limits() which can be used to reset the the queue_limits prior to stacking devices. Signed-off-by: Martin K. Petersen Acked-by: Alasdair G Kergon Acked-by: Mike Snitzer Signed-off-by: Jens Axboe commit 6923715ae39ed39ac2fc1993e5061668f4f71ad0 Author: Jeff Moyer Date: Fri Jun 12 15:29:30 2009 +0200 cfq: remove extraneous '\n' in blktrace output I noticed a blank line in blktrace output. This patch fixes that. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit a979eff1811a07f5fd331c5f6f727370747b42ad Author: Jens Axboe Date: Fri May 29 09:19:23 2009 +0200 ubifs: register backing_dev_info Signed-off-by: Jens Axboe commit ad081f1430515d0b727eba99ec435a526c61a599 Author: Jens Axboe Date: Fri Jun 12 14:43:40 2009 +0200 btrfs: properly register fs backing device btrfs assigns this bdi to all inodes on that file system, so make sure it's registered. This isn't really important now, but will be when we put dirty inodes there. Even now, we miss the stats when the bdi isn't visible. Also fixes failure to check bdi_init() return value, and bad inherit of ->capabilities flags from the default bdi. Acked-by: Chris Mason Signed-off-by: Jens Axboe commit 0989a025d2f4f9f51ea641bd26c563c53dc63f55 Author: Jens Axboe Date: Fri Jun 12 14:42:56 2009 +0200 block: don't overwrite bdi->state after bdi_init() has been run Move the defaults to where we do the init of the backing_dev_info. Signed-off-by: Jens Axboe commit 81be834713a7d6b9463663145d493fe9daee2d61 Author: Gui Jianfeng Date: Fri Jun 12 15:27:50 2009 +0200 cfq: cleanup for last_end_request in cfq_data Actually, last_end_request in cfq_data isn't used now. So lets just remove it. Signed-off-by: Gui Jianfeng Signed-off-by: Jens Axboe commit dc58266385e51420298275c90a616c34f1473a73 Author: Andre Noll Date: Tue Jun 16 16:18:43 2009 +1000 md: raid0: Replace hash table lookup by looping over all strip_zones. The number of strip_zones of a raid0 array is bounded by the number of drives in the array and is in fact much smaller for typical setups. For example, any raid0 array containing identical disks will have only a single strip_zone. Therefore, the hash tables which are used for quickly finding the strip_zone that holds a particular sector are of questionable value and add quite a bit of unnecessary complexity. This patch replaces the hash table lookup by equivalent code which simply loops over all strip zones to find the zone that holds the given sector. In order to make this loop as fast as possible, the zone->start field of struct strip_zone has been renamed to zone_end, and it now stores the beginning of the next zone in sectors. This allows to save one addition in the loop. Subsequent cleanup patches will remove the hash table structure. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f Author: Paul Mundt Date: Thu Apr 30 17:30:02 2009 +0900 USB: xhci depends on PCI. While it looks like xhci was written with both PCI and non-PCI in mind, apparently only the former has seen any testing. xhci-mem.o can be "fixed" with a linux/dmapool.h include, but there are still parts of the code that make use of struct pci_dev directly. So, at least more work is needed before this can be turned on for non-PCI builds: CC drivers/usb/host/xhci-mem.o drivers/usb/host/xhci-mem.c: In function 'xhci_segment_alloc': drivers/usb/host/xhci-mem.c:45: error: implicit declaration of function 'dma_pool_alloc' drivers/usb/host/xhci-mem.c:45: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c: In function 'xhci_segment_free': drivers/usb/host/xhci-mem.c:67: error: implicit declaration of function 'dma_pool_free' drivers/usb/host/xhci-mem.c: In function 'xhci_alloc_virt_device': drivers/usb/host/xhci-mem.c:239: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c:248: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c: In function 'xhci_mem_cleanup': drivers/usb/host/xhci-mem.c:578: error: implicit declaration of function 'dma_pool_destroy' drivers/usb/host/xhci-mem.c: In function 'xhci_mem_init': drivers/usb/host/xhci-mem.c:657: error: implicit declaration of function 'dma_pool_create' drivers/usb/host/xhci-mem.c:658: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c:663: warning: assignment makes pointer from integer without a cast make[3]: *** [drivers/usb/host/xhci-mem.o] Error 1 CC drivers/usb/host/xhci-pci.o drivers/usb/host/xhci-pci.c: In function 'xhci_pci_reinit': drivers/usb/host/xhci-pci.c:39: error: implicit declaration of function 'pci_set_mwi' drivers/usb/host/xhci-pci.c: At top level: drivers/usb/host/xhci-pci.c:151: error: 'usb_hcd_pci_probe' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:152: error: 'usb_hcd_pci_remove' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:155: error: 'usb_hcd_pci_shutdown' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:159: warning: function declaration isn't a prototype drivers/usb/host/xhci-pci.c:164: warning: function declaration isn't a prototype make[3]: *** [drivers/usb/host/xhci-pci.o] Error 1 Cc: Sarah Sharp Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit eb6bab138d8b1172edf67ef7bd2032f476b7c6ad Author: Sarah Sharp Date: Wed Apr 29 19:07:13 2009 -0700 USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. Add Makefile and Kconfig entries for the xHCI host controller driver. List Sarah Sharp as the maintainer for the xHCI driver. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f88ba78d9ac0e1f583da4cada80b8816ca761a3f Author: Sarah Sharp Date: Thu May 14 11:44:22 2009 -0700 USB: xhci: Respect critical sections. Narrow down time spent holding the xHCI spinlock so that it's only used to protect the xHCI rings, not as mutual exclusion. Stop allocating memory while holding the spinlock and calling xhci_alloc_virt_device() and xhci_endpoint_init(). The USB core should have locking in it to prevent device state to be manipulated by more than one kernel thread. E.g. you can't free a device while you're in the middle of setting a new configuration. So removing the locks from the sections where xhci_alloc_dev() and xhci_reset_bandwidth() touch xHCI's representation of the device should be OK. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a4d88302268d1e458f7c6eb7855f1ba4b3a7cffc Author: Sarah Sharp Date: Thu May 14 11:44:26 2009 -0700 USB: xHCI: Fix interrupt moderation. Mask off the lower 16 bits of the interrupt control register, instead of masking off the upper 16 bits. The interrupt moderation interval field is the lower 16 bytes, and is set to 0x4000 (1ms) by default. The previous code was adding 40 us to the default value, instead of setting it to 40 us. This makes performance really bad. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 98441973105b80e133fcaa47ebf17be1e024ea30 Author: Sarah Sharp Date: Thu May 14 11:44:18 2009 -0700 USB: xhci: Remove packed attribute from structures. The packed attribute allows gcc to muck with the alignment of data structures, which may lead to byte-wise writes that break atomicity of writes. Packed should only be used when the compile may add undesired padding to the structure. Each element of the structure will be aligned by C based on its size and the size of the elements around it. E.g. a u64 would be aligned on an 8 byte boundary, the next u32 would be aligned on a four byte boundary, etc. Since most of the xHCI structures contain only u32 bit values, removing the packed attribute for them should be harmless. (A future patch will change some of the twin 32-bit address fields to one 64-bit field, but all those places have an even number of 32-bit fields before them, so the alignment should be correct.) Add BUILD_BUG_ON statements to check that the compiler doesn't add padding to the data structures that have a hardware-defined layout. While we're modifying the registers, change the name of intr_reg to xhci_intr_reg to avoid global conflicts. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6071d8363b7b284038069f1795a98372fbc1a48e Author: Sarah Sharp Date: Thu May 14 11:44:14 2009 -0700 usb; xhci: Fix TRB offset calculations. Greg KH introduced a bug into xhci_trb_virt_to_dma() when he changed the type of offset to dma_addr_t from unsigned int and dropped the casts to unsigned int around the virtual address pointer subtraction. trb and seg->trbs are both valid pointers to virtual addresses, so the compiler will mod the subtraction by the size of union trb (16 bytes). segment_offset is an unsigned long, which is guaranteed to be at least as big as a void *. Drop the void * casts in the first if statement because trb and seg->trbs are both pointers of the same type (pointers to union trb). Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7dd19e69d131ea34f74397559b422511e54d2911 Author: Viral Mehta Date: Tue May 5 15:54:23 2009 +0530 USB: xhci: replace if-elseif-else with switch-case Replace if-elseif-else with switch-case to keep the code consistent which is semantically same Switch-case is used here, http://www.spinics.net/lists/linux-usb/msg17201.html Making consistent at other places in usb/core Also easier to read and maintain when USB4.0, 5.0, ... comes Signed-off-by: Viral Mehta Tested-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 527c6d7f188f116852141f50b4d008f966bb17f8 Author: Sarah Sharp Date: Wed Apr 29 19:06:56 2009 -0700 USB: xhci: Make xhci-mem.c include linux/dmapool.h xhci-mem.c includes calls to dma_pool_alloc() and other functions defined in linux/dmapool.h. Make sure to include that header file. Reported-by: Randy Dunlap Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c7959fb265d8d5e00eb6d30717eb63e6189a1f07 Author: Sarah Sharp Date: Wed Apr 29 19:06:36 2009 -0700 USB: xhci: drop spinlock in xhci_urb_enqueue() error path. Make sure the error path in xhci_urb_enqueue() releases the spinlock before it returns. Reported by Oliver in http://marc.info/?l=linux-usb&m=124091637311832&w=2 Reported-by: Oliver Neukum Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f0058c627855ecb3b6c7185b7ad1910463c24c42 Author: Sarah Sharp Date: Wed Apr 29 19:06:20 2009 -0700 USB: Change names of SuperSpeed ep companion descriptor structs. Differentiate between SuperSpeed endpoint companion descriptor and the wireless USB endpoint companion descriptor. Make all structure names for this descriptor have "ss" (SuperSpeed) in them. David Vrabel asked for this change in http://marc.info/?l=linux-usb&m=124091465109367&w=2 Reported-by: David Vrabel Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b7116ebca4e1a898f30ae474151fd6474327257c Author: Sarah Sharp Date: Wed Apr 29 19:05:58 2009 -0700 USB: xhci: Avoid compiler reordering in Link TRB giveback. Force the compiler to write the cycle bit of the Link TRB last. This ensures that the hardware doesn't think it owns the Link TRB before we set the chain bit. Reported by Oliver in this thread: http://marc.info/?l=linux-usb&m=124091532410219&w=2 Reported-by: Oliver Neukum Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c96a2b81f3747e6924307714666aa2368bc1718b Author: Sarah Sharp Date: Wed Apr 29 19:05:40 2009 -0700 USB: xhci: Clean up xhci_irq() function. Drop spinlock in xhci_irq() error path. This fixes the issue reported by Oliver Neukum on this thread: http://marc.info/?l=linux-usb&m=124090924401444&w=2 Remove unnecessary register read reported by Viral Mehta: http://marc.info/?l=linux-usb&m=124091326007398&w=2 Reported-by: Oliver Neukum Reported-by: Viral Mehta Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 23e3be113f42790736319c049c78e5f9a4394c02 Author: Sarah Sharp Date: Wed Apr 29 19:05:20 2009 -0700 USB: xhci: Avoid global namespace pollution. Make all globally visible functions start with xhci_ and mark functions as static if they're only called within the same C file. Fix some long lines while we're at it. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 06e7a1487b61e1ae909c4a4c264b4428c55beb7e Author: Sarah Sharp Date: Wed Apr 29 19:04:59 2009 -0700 USB: xhci: Fix Link TRB handoff bit twiddling. Make sure to preserve all bits *except* the TRB_CHAIN bit when giving a Link TRB to the hardware. We need to save things like TRB type and the toggle bit in the control dword. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3841d56ebb9730c786a59bf3207529c35214df26 Author: Sarah Sharp Date: Wed Apr 29 19:04:32 2009 -0700 USB: xhci: Fix register write order. The 0.95 xHCI spec says that if the xHCI HW support 64-bit addressing, you must write the whole 64-bit address as one atomic operation, or write the low 32 bits, and then the high 32 bits. I had the register writes swapped in some places. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 045f123d9c83b9a18c9d43a9afbf52bf0799640d Author: Greg Kroah-Hartman Date: Wed Apr 29 19:12:44 2009 -0700 USB: xhci: fix some compiler warnings in xhci.h This fixes the warning: drivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type drivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type Reported-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 700e2052c6814b1b1d2714225d568c5c64bc49ae Author: Greg Kroah-Hartman Date: Wed Apr 29 19:14:08 2009 -0700 USB: xhci: fix lots of compiler warnings. Turns out someone never built this code on a 64bit platform. Someone owes me a beer... Reported-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b7258a4aba2b24d5c27a0f6674795e83e7771969 Author: Stephen Rothwell Date: Wed Apr 29 19:02:47 2009 -0700 USB: xhci: use xhci_handle_event instead of handle_event The former is way to generic for a global symbol. Fixes this build error: drivers/usb/built-in.o: In function `.handle_event': (.text+0x67dd0): multiple definition of `.handle_event' drivers/pcmcia/built-in.o:(.text+0xcfcc): first defined here drivers/usb/built-in.o: In function `handle_event': (.opd+0x5bc8): multiple definition of `handle_event' drivers/pcmcia/built-in.o:(.opd+0xed0): first defined here Signed-off-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ae636747146ea97efa18e04576acd3416e2514f5 Author: Sarah Sharp Date: Wed Apr 29 19:02:31 2009 -0700 USB: xhci: URB cancellation support. Add URB cancellation support to the xHCI host controller driver. This currently supports cancellation for endpoints that do not have streams enabled. An URB is represented by a number of Transaction Request Buffers (TRBs), that are chained together to make one (or more) Transaction Descriptors (TDs) on an endpoint ring. The ring is comprised of contiguous segments, linked together with Link TRBs (which may or may not be chained into a TD). To cancel an URB, we must stop the endpoint ring, make the hardware skip over the TDs in the URB (either by turning them into No-op TDs, or by moving the hardware's ring dequeue pointer past the last TRB in the last TD), and then restart the ring. There are times when we must drop the xHCI lock during this process, like when we need to complete cancelled URBs. We must ensure that additional URBs can be marked as cancelled, and that new URBs can be enqueued (since the URB completion handlers can do either). The new endpoint ring variables cancels_pending and state (which can only be modified while holding the xHCI lock) ensure that future cancellation and enqueueing do not interrupt any pending cancellation code. To facilitate cancellation, we must keep track of the starting ring segment, first TRB, and last TRB for each URB. We also need to keep track of the list of TDs that have been marked as cancelled, separate from the list of TDs that are queued for this endpoint. The new variables and cancellation list are stored in the xhci_td structure. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 8a96c052283e68fe91a6c657c175b39bfed80bed Author: Sarah Sharp Date: Mon Apr 27 19:59:19 2009 -0700 USB: xhci: Scatter gather list support for bulk transfers. Add support for bulk URBs that pass scatter gather lists to xHCI. This allows xHCI to more efficiently enqueue these transfers, and allows the host controller to take advantage of USB 3.0 "bursts" for bulk endpoints. Use requested length to calculate the number of TRBs needed for a scatter gather list transfer, instead of using the number of sglist entries. The application can pass down a scatter gather list that is bigger than it needs for the requested transfer. Scatter gather entries can cross 64KB boundaries, so be careful to setup TRBs such that no buffer crosses a 64KB boundary. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit e04748e3a87271fcf30d383e3780c5d3ee1c1618 Author: Sarah Sharp Date: Mon Apr 27 19:59:01 2009 -0700 USB: Push scatter gather lists down to host controller drivers. This is the original patch I created before David Vrabel posted a better patch (http://marc.info/?l=linux-usb&m=123377477209109&w=2) that does basically the same thing. This patch will get replaced with his (modified) patch later. Allow USB device drivers that use usb_sg_init() and usb_sg_wait() to push bulk endpoint scatter gather lists down to the host controller drivers. This allows host controller drivers to more efficiently enqueue these transfers, and allows the xHCI host controller to better take advantage of USB 3.0 "bursts" for bulk endpoints. This patch currently only enables scatter gather lists for bulk endpoints. Other endpoint types that use the usb_sg_* functions will not have their scatter gather lists pushed down to the host controller. For periodic endpoints, we want each scatterlist entry to be a separate transfer. Eventually, HCDs could parse these scatter-gather lists for periodic endpoints also. For now, we use the old code and call usb_submit_urb() for each scatterlist entry. The caller of usb_sg_init() can request that all bytes in the scatter gather list be transferred by passing in a length of zero. Handle that request for a bulk endpoint under xHCI by walking the scatter gather list and calculating the length. We could let the HCD handle a zero length in this case, but I'm not sure if the core layers in between will get confused by this. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b10de142119a676552df3f0d2e3a9d647036c26a Author: Sarah Sharp Date: Mon Apr 27 19:58:50 2009 -0700 USB: xhci: Bulk transfer support Allow device drivers to submit URBs to bulk endpoints on devices under an xHCI host controller. Share code between the control and bulk enqueueing functions when it makes sense. To get the best performance out of bulk transfers, SuperSpeed devices must have the bMaxBurst size copied from their endpoint companion controller into the xHCI device context. This allows the host controller to "burst" up to 16 packets before it has to wait for the device to acknowledge the first packet. The buffers in Transfer Request Blocks (TRBs) can cross page boundaries, but they cannot cross 64KB boundaries. The buffer must be broken into multiple TRBs if a 64KB boundary is crossed. The sum of buffer lengths in all the TRBs in a Transfer Descriptor (TD) cannot exceed 64MB. To work around this, the enqueueing code must enqueue multiple TDs. The transfer event handler may incorrectly give back the URB in this case, if it gets a transfer event that points somewhere in the first TD. FIXME later. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f94e0186312b0fc39f41eed4e21836ed74b7efe1 Author: Sarah Sharp Date: Mon Apr 27 19:58:38 2009 -0700 USB: xhci: Bandwidth allocation support Since the xHCI host controller hardware (xHC) has an internal schedule, it needs a better representation of what devices are consuming bandwidth on the bus. Each device is represented by a device context, with data about the device, endpoints, and pointers to each endpoint ring. We need to update the endpoint information for a device context before a new configuration or alternate interface setting is selected. We setup an input device context with modified endpoint information and newly allocated endpoint rings, and then submit a Configure Endpoint Command to the hardware. The host controller can reject the new configuration if it exceeds the bus bandwidth, or the host controller doesn't have enough internal resources for the configuration. If the command fails, we still have the older device context with the previous configuration. If the command succeeds, we free the old endpoint rings. The root hub isn't a real device, so always say yes to any bandwidth changes for it. The USB core will enable, disable, and then enable endpoint 0 several times during the initialization sequence. The device will always have an endpoint ring for endpoint 0 and bandwidth allocated for that, unless the device is disconnected or gets a SetAddress 0 request. So we don't pay attention for when xhci_check_bandwidth() is called for a re-add of endpoint 0. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 79abb1ab13cee5ba488210798b6e7bbae0b391ac Author: Sarah Sharp Date: Mon Apr 27 19:58:26 2009 -0700 USB: Support for bandwidth allocation. Originally, the USB core had no support for allocating bandwidth when a particular configuration or alternate setting for an interface was selected. Instead, the device driver's URB submission would fail if there was not enough bandwidth for a periodic endpoint. Drivers could work around this, by using the scatter-gather list API to guarantee bandwidth. This patch adds host controller API to allow the USB core to allocate or deallocate bandwidth for an endpoint. Endpoints are added to or dropped from a copy of the current schedule by calling add_endpoint() or drop_endpoint(), and then the schedule is atomically evaluated with a call to check_bandwidth(). This allows all the endpoints for a new configuration or alternate setting to be added at the same time that the endpoints from the old configuration or alt setting are dropped. Endpoints must be added to the schedule before any URBs are submitted to them. The HCD must be allowed to reject a new configuration or alt setting before the control transfer is sent to the device requesting the change. It may reject the change because there is not enough bandwidth, not enough internal resources (such as memory on an embedded host controller), or perhaps even for security reasons in a virtualized environment. If the call to check_bandwidth() fails, the USB core must call reset_bandwidth(). This causes the schedule to be reverted back to the state it was in just after the last successful check_bandwidth() call. If the call succeeds, the host controller driver (and hardware) will have changed its internal state to match the new configuration or alternate setting. The USB core can then issue a control transfer to the device to change the configuration or alt setting. This allows the core to test new configurations or alternate settings before unbinding drivers bound to interfaces in the old configuration. WIP: The USB core must add endpoints from all interfaces in a configuration to the schedule, because a driver may claim that interface at any time. A slight optimization might be to add the endpoints to the schedule once a driver claims that interface. FIXME This patch does not cover changing alternate settings, but it does handle a configuration change or de-configuration. FIXME The code for managing the schedule is currently HCD specific. A generic scheduling algorithm could be added for host controllers without built-in scheduling support. For now, if a host controller does not define the check_bandwidth() function, the call to usb_hcd_check_bandwidth() will always succeed. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 663c30d0829d556efabd5fbd98fb8473da7fe694 Author: Sarah Sharp Date: Mon Apr 27 19:58:14 2009 -0700 USB: Parse and store the SuperSpeed endpoint companion descriptors. The USB 3.0 bus specification added an "Endpoint Companion" descriptor that is supposed to follow all SuperSpeed Endpoint descriptors. This descriptor is used to extend the bus protocol to allow more packets to be sent to an endpoint per "microframe". The word microframe was removed from the USB 3.0 specification because the host controller does not send Start Of Frame (SOF) symbols down the USB 3.0 wires. The descriptor defines a bMaxBurst field, which indicates the number of packets of wMaxPacketSize that a SuperSpeed device can send or recieve in a service interval. All non-control endpoints may set this value as high as 16 packets (bMaxBurst = 15). The descriptor also allows isochronous endpoints to further specify that they can send and receive multiple bursts per service interval. The bmAttributes allows them to specify a "Mult" of up to 3 (bmAttributes = 2). Bulk endpoints use bmAttributes to report the number of "Streams" they support. This was an extension of the endpoint pipe concept to allow multiple mass storage device commands to be outstanding for one bulk endpoint at a time. This should allow USB 3.0 mass storage devices to support SCSI command queueing. Bulk endpoints can say they support up to 2^16 (65,536) streams. The information in the endpoint companion descriptor must be stored with the other device, config, interface, and endpoint descriptors because the host controller needs to access them quickly, and we need to install some default values if a SuperSpeed device doesn't provide an endpoint companion descriptor. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d0e96f5a71a032ced0c35f521c1cbd67e816922a Author: Sarah Sharp Date: Mon Apr 27 19:58:01 2009 -0700 USB: xhci: Control transfer support. Allow device drivers to enqueue URBs to control endpoints on devices under an xHCI host controller. Each control transfer is represented by a series of Transfer Descriptors (TDs) written to an endpoint ring. There is one TD for the Setup phase, (optionally) one TD for the Data phase, and one TD for the Status phase. Enqueue these TDs onto the endpoint ring that represents the control endpoint. The host controller hardware will return an event on the event ring that points to the (DMA) address of one of the TDs on the endpoint ring. If the transfer was successful, the transfer event TRB will have a completion code of success, and it will point to the Status phase TD. Anything else is considered an error. This should work for control endpoints besides the default endpoint, but that hasn't been tested. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6d65b78a093552fb42448480d4c66bf093a6d4cf Author: Sarah Sharp Date: Mon Apr 27 19:57:50 2009 -0700 USB: Support for submitting control URBs under xHCI. Warn users of URB_NO_SETUP_DMA_MAP about xHCI behavior. Device drivers can choose to DMA map the setup packet of a control transfer before submitting the URB to the USB core. Drivers then set the URB_NO_SETUP_DMA_MAP and pass in the DMA memory address in setup_dma, instead of providing a kernel address for setup_packet. However, xHCI requires that the setup packet be copied into an internal data structure, and we need a kernel memory address pointer for that. Warn users of URB_NO_SETUP_DMA_MAP that they should provide a valid pointer for setup_packet, along with the DMA address. FIXME: I'm not entirely sure how to work around this in the xHCI driver or USB core. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3ffbba9511b4148cbe1f6b6238686adaeaca8feb Author: Sarah Sharp Date: Mon Apr 27 19:57:38 2009 -0700 USB: xhci: Allocate and address USB devices xHCI needs to get a "Slot ID" from the host controller and allocate other data structures for every USB device. Make usb_alloc_dev() and usb_release_dev() allocate and free these device structures. After setting up the xHC device structures, usb_alloc_dev() must wait for the hardware to respond to an Enable Slot command. usb_alloc_dev() fires off a Disable Slot command and does not wait for it to complete. When the USB core wants to choose an address for the device, the xHCI driver must issue a Set Address command and wait for an event for that command. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c6515272b858742962c1de0f3bf497a048b9abd7 Author: Sarah Sharp Date: Mon Apr 27 19:57:26 2009 -0700 USB: Support for addressing a USB device under xHCI Add host controller driver API and a slot_id variable to struct usb_device. This allows the xHCI host controller driver to ask the hardware to allocate a slot for the device when a struct usb_device is allocated. The slot needs to be allocated at that point because the hardware can run out of internal resources, and we want to know that very early in the device connection process. Don't call this new API for root hubs, since they aren't real devices. Add HCD API to let the host controller choose the device address. This is especially important for xHCI hardware running in a virtualized environment. The guests running under the VM don't need to know which addresses on the bus are taken, because the hardware picks the address for them. Announce SuperSpeed USB devices after the address has been assigned by the hardware. Don't use the new get descriptor/set address scheme with xHCI. Unless special handling is done in the host controller driver, the xHC can't issue control transfers before you set the device address. Support for the older addressing scheme will be added when the xHCI driver supports the Block Set Address Request (BSR) flag in the Address Device command. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0f2a79300a1471cf92ab43af165ea13555c8b0a5 Author: Sarah Sharp Date: Mon Apr 27 19:57:12 2009 -0700 USB: xhci: Root hub support. Add functionality for getting port status and hub descriptor for xHCI root hubs. This is WIP because the USB 3.0 hub descriptor is different from the USB 2.0 hub descriptor. For now, we lie about the root hub descriptor because the changes won't effect how the core talks to the root hub. Later we will need to add the USB 3.0 hub descriptor for real hubs, and this code might change. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7206b00164a1c3ca533e01db285955617e1019f8 Author: Sarah Sharp Date: Mon Apr 27 19:54:49 2009 -0700 USB: Add route string to struct usb_device. This patch adds a hex route string to each USB device. The route string is used by the USB 3.0 host controller to send packets through the device tree. USB 3.0 hubs use this string to route packets to the correct port. This is fundamental bus change from USB 2.0, where all packets were broadcast across the bus. Devices (including hubs) under a root port receive the route string 0x0. Every four bits in the route string represent a port on a hub. This length works because USB 3.0 hubs are limited to 15 ports, and USB 2.0 hubs (with potentially more ports) will never see packets with a route string. A port number of 0 means the packet is destined for that hub. For example, a peripheral device might have a route string of 0x00097. This means the device is connected to port 9 of the hub at depth 1. The hub at depth 1 is connected to port 7 of a hub at depth 0. The hub at depth 0 is connected to a root port. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit e7b7717247f61e2cf18ec47f91999065c59d1607 Author: Sarah Sharp Date: Mon Apr 27 19:54:26 2009 -0700 USB: Don't reset USB 3.0 devices on port change detection. The USB 3.0 bus specification defines a new connection sequence for USB 3.0 hubs and roothubs. USB 3.0 devices are reset and link trained by the hub before the port status change notification is sent to the host OS. This means that an entire tree of devices can be trained in parallel on power up, and the OS no longer needs to reset USB 3.0 devices. Change the USB core's hub port init sequence so that it does not reset USB 3.0 devices. The port status change from the roothub and from the USB 3.0 hub will report the SuperSpeed connect correctly. This patch currently only handles the roothub case. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d2e9b4d6734db2327af3149d8ca7555307e10828 Author: Sarah Sharp Date: Mon Apr 27 19:55:01 2009 -0700 USB: Add USB 3.0 roothub support to USB core. Add USB 3.0 root hub descriptors. This is a kludge because I reused the old USB 2.0 descriptors, instead of using the new USB 3.0 hub descriptors with endpoint companion descriptors and other descriptors. I did this because I wasn't ready to add USB 3.0 hub changes to khubd. For now, a USB 3.0 roothub looks like a USB 2.0 roothub, with a higher speed. USB 3.0 hubs have no transaction translator (TT). Make USB core debugging handle super speed ports. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6b403b020c1f42180b14d28d832da61167cff822 Author: Sarah Sharp Date: Mon Apr 27 19:54:10 2009 -0700 USB: Add SuperSpeed to the list of USB device speeds. Modify the USB core to handle the new USB 3.0 speed, "SuperSpeed". This is 5.0 Gbps (wire speed). There are probably more places that check for speed that I've missed. SuperSpeed devices have a 512 byte endpoint 0 max packet size. This shows up as a bMaxPacketSize0 set to 0x09 (see table 9-8 of the USB 3.0 bus spec). xHCI spec says that the xHC can handle intervals up to 2^15 microframes. That might change when real silicon becomes available. Add FIXME note for SuperSpeed isochronous endpoints. They can transmit up to 16 packets in one "burst" before they wait for an acknowledgment of the packets. They can do up to 3 bursts per microframe (determined by the mult value in the endpoint companion descriptor). The xHCI driver doesn't have support for isoc yet, so fix this later. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7f84eef0dafb1d318263d8b71c38700aaf2d530d Author: Sarah Sharp Date: Mon Apr 27 19:53:56 2009 -0700 USB: xhci: No-op command queueing and irq handler. xHCI host controllers can optionally implement a no-op test. This simple test ensures the OS has correctly setup all basic data structures and can correctly respond to interrupts from the host controller hardware. There are two rings exercised by the no-op test: the command ring, and the event ring. The host controller driver writes a no-op command TRB to the command ring, and rings the doorbell for the command ring (the first entry in the doorbell array). The hardware receives this event, places a command completion event on the event ring, and fires an interrupt. The host controller driver sees the interrupt, and checks the event ring for TRBs it can process, and sees the command completion event. (See the rules in xhci-ring.c for who "owns" a TRB. This is a simplified set of rules, and may not contain all the details that are in the xHCI 0.95 spec.) A timer fires every 60 seconds to debug the state of the hardware and command and event rings. This timer only runs if CONFIG_USB_XHCI_HCD_DEBUGGING is 'y'. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a74588f94655263b96dacbbf14aac0958d8b7409 Author: Sarah Sharp Date: Mon Apr 27 19:53:42 2009 -0700 USB: xhci: Device context array allocation. Instead of keeping a "frame list" like older host controllers, the xHCI host controller keeps internal representations of the USB devices, with a transfer ring per endpoint. The host controller queues Transfer Request Blocks (TRBs) to the endpoint ring, and then "rings the doorbell" for that device. The host controller processes the transfer, places a transfer completion event on the event ring, and interrupts the system. The device context base address array must be allocated by the xHCI host controller driver, along with the device contexts it points to. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0ebbab37422315a5d0cb29792271085bafdf38c0 Author: Sarah Sharp Date: Mon Apr 27 19:52:34 2009 -0700 USB: xhci: Ring allocation and initialization. Allocate basic xHCI host controller data structures. For every xHC, there is a command ring, an event ring, and a doorbell array. The doorbell array is used to notify the host controller that work has been enqueued onto one of the rings. The host controller driver enqueues commands on the command ring. The HW enqueues command completion events on the event ring and interrupts the system (currently using PCI interrupts, although the xHCI HW will use MSI interrupts eventually). All rings and the doorbell array must be allocated by the xHCI host controller driver. Each ring is comprised of one or more segments, which consists of 16-byte Transfer Request Blocks (TRBs) that can be chained to form a Transfer Descriptor (TD) that represents a multiple-buffer request. Segments are linked into a ring using Link TRBs, which means they are dynamically growable. The producer of the ring enqueues a TD by writing one or more TRBs in the ring and toggling the TRB cycle bit for each TRB. The consumer knows it can process the TRB when the cycle bit matches its internal consumer cycle state for the ring. The consumer cycle state is toggled an odd amount of times in the ring. An example ring (a ring must have a minimum of 16 TRBs on it, but that's too big to draw in ASCII art): chain cycle bit bit ------------------------ | TD A TRB 1 | 1 | 1 |<------------- <-- consumer dequeue ptr ------------------------ | consumer cycle state = 1 | TD A TRB 2 | 1 | 1 | | ------------------------ | | TD A TRB 3 | 0 | 1 | segment 1 | ------------------------ | | TD B TRB 1 | 1 | 1 | | ------------------------ | | TD B TRB 2 | 0 | 1 | | ------------------------ | | Link TRB | 0 | 1 |----- | ------------------------ | | | | chain cycle | | bit bit | | ------------------------ | | | TD C TRB 1 | 0 | 1 |<---- | ------------------------ | | TD D TRB 1 | 1 | 1 | | ------------------------ | | TD D TRB 2 | 1 | 1 | segment 2 | ------------------------ | | TD D TRB 3 | 1 | 1 | | ------------------------ | | TD D TRB 4 | 1 | 1 | | ------------------------ | | Link TRB | 1 | 1 |----- | ------------------------ | | | | chain cycle | | bit bit | | ------------------------ | | | TD D TRB 5 | 1 | 1 |<---- | ------------------------ | | TD D TRB 6 | 0 | 1 | | ------------------------ | | TD E TRB 1 | 0 | 1 | segment 3 | ------------------------ | | | 0 | 0 | | <-- producer enqueue ptr ------------------------ | | | 0 | 0 | | ------------------------ | | Link TRB | 0 | 0 |--------------- ------------------------ Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 66d4eadd8d067269ea8fead1a50fe87c2979a80d Author: Sarah Sharp Date: Mon Apr 27 19:52:28 2009 -0700 USB: xhci: BIOS handoff and HW initialization. Add PCI initialization code to take control of the xHCI host controller away from the BIOS, halt, and reset the host controller. The xHCI spec says that BIOSes must give up the host controller within 5 seconds. Add some host controller glue functions to handle hardware initialization and memory allocation for the host controller. The current xHCI prototypes use PCI interrupts, but the xHCI spec requires MSI-X interrupts. Add code to support MSI-X interrupts, but use the PCI interrupts for now. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 74c6874199af98e602bb7c5fb1beb9cffda98729 Author: Sarah Sharp Date: Mon Apr 27 19:52:22 2009 -0700 USB: xhci: Support xHCI host controllers and USB 3.0 devices. This is the first of many patches to add support for USB 3.0 devices and the hardware that implements the eXtensible Host Controller Interface (xHCI) 0.95 specification. This specification is not yet publicly available, but companies can receive a copy by becoming an xHCI Contributor (see http://www.intel.com/technology/usb/xhcispec.htm). No xHCI hardware has made it onto the market yet, but these patches have been tested under the Fresco Logic host controller prototype. This patch adds the xHCI register sets, which are grouped into five sets: - Generic PCI registers - Host controller "capabilities" registers (cap_regs) short - Host controller "operational" registers (op_regs) - Host controller "runtime" registers (run_regs) - Host controller "doorbell" registers These some of these registers may be virtualized if the Linux driver is running under a VM. Virtualization has not been tested for this patch. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a92b63e7e4c185b4dd9e87762e2cb716e54482d0 Author: Greg Kroah-Hartman Date: Mon Jun 15 13:13:05 2009 -0700 USB: usbtmc: fix switch statment Steve Holland pointed out that we forgot to call break; in the switch statment. This probably resolves a lot of the bug reports I've gotten for the driver lately. Stupid me... Reported-by: Steve Holland Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3b6c023f831e3179c42bbcff189c73628cd5ea4c Author: Martin Fuzzey Date: Thu Jun 4 23:20:38 2009 +0200 USB: usbtest fix endless loop in unlink tests. In tests 11 and 12 if the URB completes with an error status (eg babble) the asynchrous unlink entered an endless loop trying to unlink a non resubmitted URB. Signed-off-by: Martin Fuzzey Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e60c65d35951ef3527596442338c371ea16d55ed Author: Nicolas Ferre Date: Fri Jun 5 17:46:16 2009 +0200 USB: atmel_usba_udc: change way of specifying bias function The toggle_bias() function was specified differently for avr32 and at91 architectures. Now, new at91 have the same behavior as avr32. Consequently, we change to a particular chip function definition: only for at91sam9rl. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 23a54e567534d4895056df558e2564114513524a Author: Frans Pop Date: Thu Jun 4 22:30:48 2009 +0200 USB: Avoid PM error messages during resume if a device was disconnected Currently if a laptop is suspended e.g. while docked and then resumed after undocking it, the following errors get generated because the USB hub in the docking station and the devices connected to it are no longer available: pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2 failed to resume: error -19 pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2.2 failed to resume: error -19 pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2.3 failed to resume: error -19 As the removal of USB devices while a system is suspended is a relatively common use case and in most cases not an error, just return success on -ENODEV. The user gets informed anyway as the USB subsystem generates regular disconnect messages for the devices shortly afterwards: usb 1-2: USB disconnect, address 3 usb 1-2.2: USB disconnect, address 4 usblp0: removed usb 1-2.3: USB disconnect, address 5 Signed-off-by: Frans Pop Acked-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 453f77558810ffa669ed5a510a7173ec49def396 Author: Hao Wu Date: Thu Jun 4 16:06:50 2009 +0800 USB: Add Intel Langwell USB OTG Transceiver Drive Description: This driver is used for Intel Langwell* USB OTG controller in Intel Moorestown* platform. It tries to implement host/device role switch according to OTG spec. The actual hsot and device functions are accomplished in modified EHCI driver and Intel Langwell USB OTG client controller driver. * Langwell and Moorestown are names used in development. They are not approved official name. Note: This patch is the first version Intel Langwell USB OTG Transceiver driver. The development is not finished, and the bug fixing is on going for some hardware and software issues. The main purpose of this submission is for code view. Supported features: - Data-line Pulsing SRP - Support HNP to switch roles - PCI D0/D3 power management support Known issues: - HNP is only tested with another Moorestown platform. - PCI D0/D3 power management support is not fully tested. - VBus Pulsing SRP is not support in current version. Signed-off-by: Hao Wu Signed-off-by: Greg Kroah-Hartman commit 5be19a9daa2df2507adf5b4676a7db8d131cf56e Author: Xiaochen Shen Date: Thu Jun 4 15:34:49 2009 +0800 USB: Add Intel Langwell USB Device Controller driver Intel Langwell USB Device Controller is a High-Speed USB OTG device controller in Intel Moorestown platform. It can work in OTG device mode with Intel Langwell USB OTG transceiver driver as well as device-only mode. The number of programmable endpoints is different through controller revision. NOTE: This patch is the first version Intel Langwell USB OTG device controller driver. The bug fixing is on going for some hardware and software issues. Intel Langwell USB OTG transceiver driver and EHCI driver patches will be submitted later. Supported features: - USB OTG protocol support with Intel Langwell USB OTG transceiver driver (turn on CONFIG_USB_LANGWELL_OTG) - Support control, bulk, interrupt and isochronous endpoints (isochronous not tested) - PCI D0/D3 power management support - Link Power Management (LPM) support Tested gadget drivers: - g_file_storage - g_ether - g_zero The passed tests: - g_file_storage: USBCV Chapter 9 tests - g_file_storage: USBCV MSC tests - g_file_storage: from/to host files copying - g_ether: ping, ftp and scp files from/to host - Hotplug, with and without hubs Known issues: - g_ether: failed part of USBCV chap9 tests - LPM support not fully tested TODO: - g_ether: pass all USBCV chap9 tests - g_zero: pass usbtest tests - Stress tests on different gadget drivers - On-chip private SRAM caching support Signed-off-by: Xiaochen Shen Signed-off-by: Greg Kroah-Hartman commit f9c99bb8b3a1ec81af68d484a551307326c2e933 Author: Alan Stern Date: Tue Jun 2 11:53:55 2009 -0400 USB: usb-serial: replace shutdown with disconnect, release This patch (as1254) splits up the shutdown method of usb_serial_driver into a disconnect and a release method. The problem is that the usb-serial core was calling shutdown during disconnect handling, but drivers didn't expect it to be called until after all the open file references had been closed. The result was an oops when the close method tried to use memory that had been deallocated by shutdown. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c706ebdfc8955b850e477255a8c0f93f9f14712d Author: Alan Stern Date: Tue Jun 2 11:54:11 2009 -0400 USB: usb-serial: call port_probe and port_remove at the right times This patch (as1253) prevents the usb-serial core from calling a driver's port_probe and port_remove methods more than once per port. It also removes some unnecessary try_module_get() calls and adds a missing port_remove method call in a failure path. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c6994e6f067cf0fc4c6cca3d164018b1150916f8 Author: Bryan Wu Date: Wed Jun 3 09:17:58 2009 -0400 USB: gadget: add USB Audio Gadget driver Funtions added: - setup all the USB audio class device descriptors - handle class specific setup request - receive data from USB host by ISO transfer - play audio data by ALSA sound card - open and setup playback PCM interface - set default playback PCM parameters - provide playback functions for USB audio driver - provide PCM parameters set/get functions Test on: - Host: Ubuntu 8.10, kernel 2.6.27 - Gadget: EZKIT-BF548 with ASoC AD1980 codec Todo: - add real Mute control code - add real Volume control code - maybe find another way to replace dynamic buffer handling with static buffer allocation - test on Windows system - provide control interface to handle mute/volume control - provide capture interface in the future - test on BF527, other USB device controler and other audio codec Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit c47d7b09891abb4f8b222317c89c7469bed8db3a Author: Bryan Wu Date: Wed Jun 3 09:17:57 2009 -0400 USB: audio: add USB audio class definitions Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 5b7d70c6dbf2db786395cbd21750a1a4ce222f84 Author: Ben Dooks Date: Tue Jun 2 14:58:06 2009 +0100 USB: Gadget driver for Samsung HS/OtG block Driver support for the new high-speed/OtG block that is in the newer line of Samsung SoC devices such as the S3C64XX series. This driver does not currntly have DMA support enabled due to issues with buffer alignment which need to be sorted out. Signed-off-by: Ben Dooks Signed-off-by: Greg Kroah-Hartman commit 54e4026b64a970303349b952866641a7804ef594 Author: Guennadi Liakhovetski Date: Wed Apr 15 14:25:33 2009 +0200 USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver This patch adds support for i.MX3x (only tested with i.MX31 so far) ARM SoCs to the fsl_usb2_udc driver. It also moves PHY configuration before controller reset, because otherwise an ULPI PHY doesn't get a reset and doesn't function after a reboot. The problem with longer control transfers is still not fixed. The patch renames the fsl_usb2_udc.c file to fsl_udc_core.c to preserve the same module name for user-space backwards compatibility. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Greg Kroah-Hartman commit 568d422e9cf52b7b26d2e026ae1617971f62b560 Author: Jason Wessel Date: Fri May 29 13:34:17 2009 -0500 USB: usb_serial: only allow sysrq on a console port The only time a sysrq should get processed is if the attached device is a console. This is intended to protect sysrq execution on a host connected with a terminal program. Here is the problem scenario: host A <-- rs232 link --> host B Host A is using mincom and a usb pl2303 device to connect to host b which is a linux system with a usb pl2303 device acting as the serial console. When host B is rebooted the pl2303 emits random junk characters on reset. These character sequences contain serial break signals most of the time and when translated to a sysrq have caused host A to get random processes killed, reboots or power down. It is true that in this setup with this patch host B might still have the same problem as host A if you reboot host A. In most cases host A is a development host which seldom gets rebooted, and you could turn off sysrq temporarily on host B if you need to reboot host A. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 430eb0d27c1b36c5191c16b2472b26137673a8d4 Author: Jason Wessel Date: Fri May 29 13:34:16 2009 -0500 USB: pl2303 usb_serial: implement sysrq handling on break Add callbacks to process the sysrq when using a pl2303 usb device as a console. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 830d1b188c997c4af094d4e20b194205ddbded13 Author: Maulik Mankad Date: Fri May 29 18:34:40 2009 +0530 USB: gadget : Fix RNDIS code to pass USB Compliance tests (USBCV) with g_ether This patch fixes a bug in the RNDIS code. Due to this bug gether_connect() fails as the port remains un-initialized. As a result following USB Compliance Tests were failing. (1)EndpointDescriptorTest_DeviceConfigured (2)Interface Descriptor Test. (3)Halt Endpoint Test. (4)SetConfigurationTest The fix aligns rndis code with the CDC ECM for xxx_set_alt(). The above listed USB Compliance test passes with this fix. Tested working fine on SDP with OMAP 3430. Signed-off-by: Maulik Mankad CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f17c5026ce27d0449903d34f9fca461a45fe1cb Author: Kir Kolyshkin Date: Thu May 28 20:33:58 2009 +0400 USB: cdc-acm: quirk for Alcatel OT-I650 This mobile phone fails to work as a modem, failing with: cdc_acm: Zero length descriptor references cdc_acm: probe of 1-6.1.3:1.1 failed with error -22 Tested to work fine with this patch. Signed-off-by: Kir Kolyshkin Cc: stable Signed-off-by: Greg Kroah-Hartman commit 680cc64557101eaaca706dc9a1a0777f35aac0da Author: Daniel Glöckner Date: Thu May 28 13:00:14 2009 +0200 USB: gadget: imx_udc: don't queue more data when zlp is to be sent When a zero-length packet has been requested and another packet is written into the fifo, the MX1 tends to send the first byte of the previous packet instead of the first byte of the current packet. The CRC is adjusted accordingly so that this packet is _not_ discarded by the host. Waiting for the ZLPS bit to clear avoids these bad packets. Signed-off-by: Daniel Glöckner Cc: Darius Augulis Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e25134122c25ebb0679b4bbd536fb46c669f9d7 Author: Daniel Glöckner Date: Thu May 28 12:53:24 2009 +0200 USB: gadget: g_serial: append zlp when tx buffer becomes empty Some usb serial host drivers expect a short packet before they forward the data to the application. This is caused by them trying to read more than one packet at a time. So when the gadget sends an exact multiple of the maximum packet size, it should append a zero-length packet. Signed-off-by: Daniel Glöckner Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9b8e7ba68ad0e4273f4897950de65bc311552cd1 Author: FUJITA Tomonori Date: Thu May 28 10:10:44 2009 +0900 USB: replace dma_sync_single and dma_sync_sg with dma_sync_single_for_cpu and dma_sync_sg_for_cpu This replaces dma_sync_single() and dma_sync_sg() with dma_sync_single_for_cpu() and dma_sync_sg_for_cpu() respectively because they is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ #define dma_sync_single dma_sync_single_for_cpu #define dma_sync_sg dma_sync_sg_for_cpu Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b18ffd49e86102a9ed0a1cc83fdafe3891e844e5 Author: Alan Stern Date: Wed May 27 18:21:56 2009 -0400 USB: EHCI: update toggle state for linked QHs This patch (as1245) fixes a bug in ehci-hcd. When an URB is queued for an endpoint whose QH is already in the LINKED state, the QH doesn't get refreshed. As a result, if usb_clear_halt() was called during the time that the QH was linked but idle, the data toggle value in the QH doesn't get reset. The symptom is that after a clear_halt, data gets lost and transfers time out. This problem is starting to show up now because the "ehci-hcd unlink speedups" patch causes QHs with no queued URBs to remain linked for a suitable time. The patch utilizes the new endpoint_reset mechanism to fix the problem. When an endpoint is reset, the new method forcibly unlinks the QH (if necessary) and safely updates the toggle value. This allows qh_update() to be simplified and avoids using usb_device's toggle bits in a rather unintuitive way. Signed-off-by: Alan Stern CC: David Brownell Tested-by: David Signed-off-by: Greg Kroah-Hartman commit 5effabbe9e6e0089f7afdde35cb51e8c8b4cf6bc Author: Yoshihiro Shimoda Date: Tue May 26 18:24:34 2009 +0900 USB: r8a66597-hcd: use platform_data instead of module_param CPU/board specific parameters (PLL clock, vif etc...) can be set by platform_data instead of module_param. v2: remove irq_sense member in platform_data because it can OR in IRQF_TRIGGER_LOW or IRQF_TRIGGER_FALLING against IORESOURCE_IRQ in the struct resource. Signed-off-by: Yoshihiro Shimoda Reviewed-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit 32ebbe7b6ad44ae9c276419710b56de6ba705303 Author: Josua Dietze Date: Sun May 24 23:21:42 2009 +0200 USB: usb-storage: add filter to "option_ms" to leave unrecognized devices alone Some unusual usb devices from the maker "Option" are switched from storage to serial/modem mode by sending a SCSI REZERO command. In one case a fairly common vendor/device ID is affected which led to problems for users of other modems or phones which are not supposed to be switched. The patch adds a filter by reading the vendor name with the SCSI INQUIRY command, and skips the switching code for all unrecognized entries. Further changes are cleanups and corrections pointed out by Alan Stern. Tested with two devices with the IDs 05c6:1000, one from "Option" and switchable, and one from Samsung (cell phone). Signed-off-by: Josua Dietze Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68335e816a92411649955a9903b1f30c388ea322 Author: Alan Stern Date: Fri May 22 17:02:33 2009 -0400 USB: EHCI: stagger frames for interrupt transfers This patch (as1243) tries to improve ehci-hcd's scheduling of interrupt transfers. Instead of trying to cram all transfers with the same period into the same frame, the new code will spread the transfers out among lots of different frames. This should reduce the periodic schedule load in any one frame -- some host controllers have trouble when there's too much work to do. A more thorough approach would stagger the uframe values as well. But this is enough to make a big improvement. Signed-off-by: Alan Stern Tested-by: Dwayne Fontenot Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit be475d9027a07069407a19980d1a4fcb7b18b23c Author: Alan Stern Date: Thu May 21 17:37:58 2009 -0400 USB: usb-storage: fix return values from init functions This patch (as1242) fixes the return values from the special init functions in usb-storage. They are supposed to return 0 for success, not USB_STOR_TRANSPORT_GOOD. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9a4b5e36ce58febdd2039dd4d129ee7edf4f5536 Author: Niilo Minkkinen Date: Mon May 18 17:54:16 2009 +0300 usb: musb: disable OTG AUTOIDLE only with omap3430 Omap3 MUSB AUTOIDLE functionality configured through OTG_SYSCONFIG register prevents the device from going into retention. This is a workaround (by Richard Woodruff/TI), as his comment : > A new MUSB bug which is a match to data below was identified very > recently (on hardware and in simulation). > This bug is in 3430 and not 3630. > As a priority test (and as new default) you should have engineers > disable autoidle for MUSB block. > This is the workaround which will show up in next errata. Signed-off-by: Niilo Minkkinen Signed-off-by: Richard Woodruff Signed-off-by: Greg Kroah-Hartman commit a2bfb4a346d2c2e25f84b35c6044ff53296be1ee Author: Oliver Neukum Date: Sat May 16 21:13:19 2009 +0200 USB: support for cdc-acm of single interface devices This implement support in cdc-acm for acm devices another popular OS can handle - adds support for autodetection of devices that use one interface - autodetection of endpoints - add a quirk for surpressing a setting that OS doesn't use - autoassume that quirk for single interface devices Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0b10395ab86c11bef10e882a4323367e6735c9b2 Author: Andrew Morton Date: Tue May 12 15:27:59 2009 -0700 + drivers-usb-serial-sierrac-fix-printk-warning.patch added to -mm tree drivers/usb/serial/sierra.c: In function 'sierra_write': drivers/usb/serial/sierra.c:375: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Signed-off-by: Andrew Morton Cc: Elina Pasheva Cc: Rory Filer Signed-off-by: Greg Kroah-Hartman commit 1e0abb7e1844a7cb499321a94d5d04347ef86d68 Author: Daniel Mack Date: Tue May 12 13:50:34 2009 -0700 USB: imx_udc: fix leak in imx_ep_alloc_request() cppcheck found another leak in drivers/usb/gadget/imx_udc.c Cc: Mike Lee Cc: Darius Augulis Signed-off-by: Daniel Mack Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5512966643adb17483efc5f61481a38fc33088bb Author: Kay Sievers Date: Mon May 4 19:48:32 2009 +0200 usb: convert endpoint devices to bus-less childs of the usb interface The endpoint devices look like simple attribute groups now, and no longer like devices with a specific subsystem. They will also no longer emit uevents. It also removes the device node requests for endpoint devices, which are not implemented for now. Signed-off-by: Kay Sievers Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9636b683769a6c3acfe121314ee9d7e19157f109 Author: Elina Pasheva Date: Tue May 12 13:12:54 2009 -0700 USB: serial: sierra driver sierra_calc_num_ports() fix - Removed potential kernel oops from sierra_calc_num_ports() function. Calling this function twice would likely have caused an oops because the function releases allocated memory after the first call. - Modified sierra_probe() function to reflect the changes in sierra_calc_num_ports(). Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit c76a23da8e9a39222c4a7c29b0c5348cd8902a2b Author: Elina Pasheva Date: Tue May 12 13:12:37 2009 -0700 USB: serial: sierra driver interrupt urb resubmit fix - Fixed a problem when re-submitting urb from interrupt callback in function sierra_instat_callback(). This suppresses also issuing of error messages in /var/log/kern.log - Removed redundant debug message at the beginning of sierra_instat_callback() function - Changed a debug message to be an error message Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 238ebd138c9704e1162030c1e600bc06142cb2c8 Author: Elina Pasheva Date: Tue May 12 13:12:24 2009 -0700 USB: serial: sierra driver zero length packet fix - Fixed a problem with transferring packets with size a multiple of Bulk Xfer size in function sierra_write(). Added transfer flag URB_ZERO_PACKET before submitting the urb to trigger Zero-length data transfer when packet size is a multiple of Bulk Xfer. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 72fda3ca6fc14662bb385d1e39e9e00af15b200d Author: Jason Wessel Date: Mon May 11 15:24:10 2009 -0500 USB: serial: ftd_sio: implement sysrq handling on break Change driver to make use of the new functions in include/linux/usb/serial.h so as to allow the driver to handle the sysrq Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a Author: Jason Wessel Date: Mon May 11 15:24:09 2009 -0500 USB: serial: usb_debug,usb_generic_serial: implement sysrq and serial break The usb_debug driver was modified to implement serial break handling by using a "magic" data packet comprised of the sequence: 0x00 0xff 0x01 0xfe 0x00 0xfe 0x01 0xff When the tty layer requests a serial break the usb_debug driver sends the magic packet. On the receiving side the magic packet is thrown away or a sysrq is activated depending on what kernel .config options have been set. The generic serial driver was modified as well as the usb serial headers to generically implement sysrq processing in the same way the non usb uart based drivers implement the sysrq handling. This will allow other usb serial devices to implement sysrq handling as desired. The new usb serial functions are named similarly and implemented similarly to the uart functions as follows: usb_serial_handle_break <-> uart_handle_break usb_serial_handle_sysrq_char <-> uart_handle_sysrq_char Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 87c1edd217a6742e48028db6664d7763de0449f6 Author: Jason Wessel Date: Mon May 11 15:24:08 2009 -0500 USB: serial: ftd_sio usb: move status check Alan Stern commented that the private driver counts must be updated regard less of the status return on the urb when the write call back is executed. This patch alters the behavior to update the private driver counts by simply moving the status check to after the driver count update. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 715b1dc01fe44537e8fce9566e4bb48d6821d84b Author: Jason Wessel Date: Mon May 11 15:24:07 2009 -0500 USB: usb_debug, usb_generic_serial: implement multi urb write The usb_debug driver, when used as the console, will always fail to insert the carriage return and new line sequence as well as randomly drop console output. This is a result of only having the single write_urb and that the tty layer will have a lock that prevents the processing of the back to back urb requests. The solution is to allow more than one urb to be outstanding and have a slightly deeper transmit queue. The idea and some code is borrowed from the ftdi_sio usb driver. The generic usb serial driver was modified so as to allow the classic method of 1 write urb, or a multi write urb scheme with N allowed outstanding urbs where N is controlled by max_in_flight_urbs. When max_in_flight_urbs in a "struct usb_serial_driver" is non zero the multi write urb scheme will be used. The size of 4000 was selected for the usb_debug driver so that the driver lowers possibility of losing the queued console messages during the kernel startup. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit b0cda8c5f7b652c6c27bcb3891d174534d2f1a91 Author: Elina Pasheva Date: Wed Apr 29 10:29:21 2009 -0700 USB: serial: sierra driver read path bug fix This patch fixes a problem in function sierra_indat_callback() which would stop receiving traffic from a modem if a number of URB failures occur. Failed URBs are not resubmitted for the next read and there is only a limited number of URBs allocated for the IN path. After this number of failures, the receive path stops working on a particular interface. Signed-off-by: Elina Pasheva commit 40d2ff32f102e69d482480265ec60ffb86b028de Author: Elina Pasheva Date: Wed Apr 29 10:26:46 2009 -0700 USB: serial: sierra driver write path improvements - Updated Copyright notice with new authors names - Version number set to 1.3.6 - Added a MAX_TRANSFER constant following Greg Kroah-Hartman's recommended setting of PAGE_SIZE-512 for USB transfer buffers and modified accordingly sierra_write() function. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit e05b8e6e1066e7583dbb6b00407508797b737995 Author: Pete Zaitcev Date: Wed Apr 29 16:02:18 2009 -0600 USB: janitor storage initializers We all know that pointless janitoring is bad, but this code is just offensive. So: - The error code goes directly to probe return, so don't return -1. - Don't return return internal usb-storage codes either. - usb_stor_control_msg takes timeout in milliseconds. - Sanitize messages. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit bf92c1906e4f294a48fafc15755c65af636195e0 Author: Randy Dunlap Date: Wed Apr 29 21:02:49 2009 -0700 USB: usb.h: change private: kernel-doc for new format requirement Use "/* private:" to mark struct members as private so that scripts/kernel-doc will handle them correctly. Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cac85a8b4e8e7c51bc0ce2980bba0e35cfec5c2e Author: Randy Dunlap Date: Wed Apr 29 21:04:19 2009 -0700 USB: composite.h: mark private struct members as private: Mark internal struct members as /* private: */ so that kernel-doc won't produce warnings about missing descriptions for them. Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5700f4c551f807576eec1d359575681e33057871 Author: Paul Mundt Date: Thu Apr 30 17:41:02 2009 +0900 wusb: hwa-hc: Drop unused pci_suspend/resume hooks. CC drivers/usb/host/hwa-hc.o drivers/usb/host/hwa-hc.c:601: warning: initialization from incompatible pointer type drivers/usb/host/hwa-hc.c:602: warning: initialization from incompatible pointer type The prototype for these changed, so the message itself was dropped. As the only thing these hooks were doing was printing out the message for debugging, there is not much point in keeping them around. So, just kill them off. Cc: Inaky Perez-Gonzalez Cc: Greg Kroah-Hartman Signed-off-by: Paul Mundt Acked-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit b4072f46e57fe7138f4337840fab736ec43293ca Author: Hermann Kneissel Date: Sun Apr 26 22:42:04 2009 +0200 USB: garmin_gps: removes usb_reset_device from garmin_close The following patch removes the call to usb_reset_device which may occur when closing the driver by implementing a new session initialization code based on the method used by gpsbabel. The patch is against linux-2.6.30-rc3-git1. Signed-off-by: Hermann Kneissel herkne@users.sourceforge.net Signed-off-by: Greg Kroah-Hartman commit 9685a59a2bc0e1e85d1848c744214dbe74e9ce7d Author: Richard Laager Date: Sun Apr 26 20:56:20 2009 -0500 USB: Identify Novatel MC760 in option driver Identify the Novatel MC760/U760/USB760 in the option USB serial driver. Signed-off-by: Richard Laager Signed-off-by: Greg Kroah-Hartman commit 6ec4beb5c701f728548b587082c83ef62eb36035 Author: Alan Stern Date: Mon Apr 27 13:33:41 2009 -0400 USB: new flag for resume-from-hibernation This patch (as1237) changes the way the PCI host controller drivers avoid retaining bogus hardware states during resume-from-hibernation. Previously we had reset the hardware as part of preparing to reinstate the memory image. But we can do better now with the new PM framework, since we know exactly which resume operations are from hibernation. The pci_resume method is changed to accept a flag indicating whether the system is resuming from hibernation. When this flag is set, the drivers will reset the hardware to get rid of any existing state. Similarly, the pci_suspend method is changed to remove the pm_message_t argument. It's no longer needed, since no special action has to be taken when preparing to reinstate the memory image. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit abb306416a7ec2386678de0da6b632a6cb068af0 Author: Alan Stern Date: Mon Apr 27 13:33:24 2009 -0400 USB: move PCI host controllers to new PM framework This patch (as1236) converts the USB PCI power management routines over to the new PM framework. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 00240c3839d843ccf07abd52806f421f7b87bbdc Author: Alan Stern Date: Mon Apr 27 13:33:16 2009 -0400 PCI: add power-state name strings This patch (as1235) adds an array of PCI power-state names, together with a simple inline accessor routine. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Acked-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 604eb89ffed9fba268582dc44d5b462ea94cc0ca Author: Alan Stern Date: Mon Apr 27 13:19:41 2009 -0400 USB: g_file_storage: use the "unaligned" accessors This patch (as1233) makes g_file_storage use the "unaligned" accessors. This is based on work originally done by Harvey Harrison. Signed-off-by: Alan Stern Acked-by: Harvey Harrison Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5d44b36120d5b67081419d9307a526a0dfd949fc Author: Elina Pasheva Date: Mon Apr 27 18:41:52 2009 -0700 USB: serial: sierra driver debug info visibility improvement - Version number set to 1.3.5 - Added "\n" at the end of each string in dev_dbg() code to improve the debug information visibility. Without this change the debug logs are very difficult to read. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit b748bb71b50fcea991e5c17bb3e10b5f38d21eaa Author: Elina Pasheva Date: Fri Apr 24 18:41:49 2009 -0700 USB: serial: sierra driver performance improvements - Version number set to 1.3.4 - Increased the number of input/output URBs for improved performance (numbers based on an measurement study triggered by a user request). We performed the testing using a network simulator that provided full speeds in the uplink and downlink directions and this combination of URBs provided the best throughput. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 820d7a253c5e59a786d5b608f6e8d0419fdc2f6e Author: Greg Kroah-Hartman Date: Mon Apr 27 13:17:21 2009 -0700 USB: remove unused usb_host class The usb_host class isn't used for anything anymore (it was used for debug files, but they have moved to debugfs a few kernel releases ago), so let's delete it before someone accidentally puts a file in it. Signed-off-by: Greg Kroah-Hartman commit ed14f0340a4954c1a9ffaff01c261428b5753e9d Author: Greg Kroah-Hartman Date: Mon Apr 27 13:15:38 2009 -0700 USB: EHCI: create sysfs companion files directly in the controller device The controller device is where we want this sysfs file, especially as the dev pointer is about to go away... Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 109833417cd0bf27089fcca5b0d6a44c8d592452 Author: Greg Kroah-Hartman Date: Mon Apr 27 13:12:58 2009 -0700 USB: OHCI: use the ohci structure directly in debugfs files. Right now we jump through some hoops to get to the struct ohci_hcd struct in the ohci debugfs files. Remove all of the fun casting around and just use the pointer directly. This is needed as the dev pointer in the hcd structure is going away, and it makes the code simpler and smaller Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 74675a58507e769beee7d949dbed788af3c4139d Author: Alan Stern Date: Thu Apr 30 10:08:18 2009 -0400 NLS: update handling of Unicode This patch (as1239) updates the kernel's treatment of Unicode. The character-set conversion routines are well behind the current state of the Unicode specification: They don't recognize the existence of code points beyond plane 0 or of surrogate pairs in the UTF-16 encoding. The old wchar_t 16-bit type is retained because it's still used in lots of places. This shouldn't cause any new problems; if a conversion now results in an invalid 16-bit code then before it must have yielded an undefined code. Difficult-to-read names like "utf_mbstowcs" are replaced with more transparent names like "utf8s_to_utf16s" and the ordering of the parameters is rationalized (buffer lengths come immediate after the pointers they refer to, and the inputs precede the outputs). Fortunately the low-level conversion routines are used in only a few places; the interfaces to the higher-level uni2char and char2uni methods have been left unchanged. Signed-off-by: Alan Stern Acked-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit a853a3d4eb2edb066248a39f0634f6f5858816a0 Author: Clemens Ladisch Date: Fri Apr 24 10:12:18 2009 +0200 usb: return device strings in UTF-8 Change the encoding of strings returned by usb_string() from ISO 8859-1 to UTF-8. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit 905c02acbd89f427c87a6d0a50fed757f6b3001c Author: Clemens Ladisch Date: Fri Apr 24 10:11:56 2009 +0200 nls: utf8_wcstombs: fix buffer overflow utf8_wcstombs forgot to include one-byte UTF-8 characters when calculating the output buffer size, i.e., theoretically, it was possible to overflow the output buffer with an input string that contains enough ASCII characters. In practice, this was no problem because the only user so far (VFAT) always uses a big enough output buffer. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit e27ecdd94d81e5bc3d1f68591701db5adb342f0d Author: Clemens Ladisch Date: Fri Apr 24 10:11:40 2009 +0200 nls: utf8_wcstombs: use correct buffer size in error case When utf8_wcstombs encounters a character that cannot be encoded, we must not decrease the remaining output buffer size because nothing has been written to the output buffer. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit 97d7b7a41bd462abceee7dbb2b3afacfd52438ed Author: Greg Kroah-Hartman Date: Fri Apr 24 15:16:04 2009 -0700 USB: add the usbfs devices file to debugfs People are very used to the devices file in usbfs. Now that we have moved usbfs to be an "embedded" option only, the developers miss the file, they had grown quite attached to it over all of these years. This patch brings it back and puts it in the usb debugfs directory, so that the developers don't feel sad anymore. Signed-off-by: Greg Kroah-Hartman commit f49ce96f11112a84c16ac217490ebd6f8d9a8977 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:15:49 2009 -0700 USB: usbmon: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit ec20df2e8907950f45fa538fa5c62a254e686875 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:15:00 2009 -0700 USB: UHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 485f4f397544a26ad10ec2a3c7fd9dfe009fe602 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:14:38 2009 -0700 USB: OHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 66536ab36895f7da718693c21f2bde3247c8cf07 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:14:25 2009 -0700 USB: FHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 08f4e586b9db4f398af1133a7b7457607539b958 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:13:18 2009 -0700 USB: EHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 00048b8bde5a6cbd9c3a76f272cc9ddb55705e37 Author: Greg Kroah-Hartman Date: Fri Apr 24 14:56:26 2009 -0700 USB: add usb debugfs directory Add a common usb directory in debugfs that the usb subsystem can use. Signed-off-by: Greg Kroah-Hartman commit 84fe6e799deaf14e2c7a941e805cd93d83f90927 Author: Tony Cook Date: Sat Apr 18 22:55:06 2009 +0930 USB: mos7840: fix debug log messages This patch removes all the unnecessary "\n"s that the debug print statements have, which result in everything appearing double spaced and unreadable in the logs. Signed-off-by: Tony Cook Signed-off-by: Greg Kroah-Hartman commit d0f830d30c24175b463fa725ba369a5117fbdd8f Author: H Hartley Sweeten Date: Wed Apr 22 16:03:05 2009 -0400 USB: hub.c: fix sparse warnings Fix sparse warning in drivers/usb/core/hub.c. The following sparse warning is seen when building on ARM due do the macro raw_local_irq_save(): warning: symbol 'temp' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit 96f90a8b0dc84538ee4a31d3a5b80d758916629e Author: H Hartley Sweeten Date: Wed Apr 22 16:18:59 2009 -0400 USB: host/ohci-hcd.c: fix sparse warnings Fix sparse warnings in drivers/usb/host/ohci-hcd.c. Four of the following sparse warning are seen when building on ARM due do the macro raw_local_irq_save(): warning: symbol 'temp' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit 367815eea4e483d9c3630f69ae0a57e1e32a92b0 Author: Robert Jarzmik Date: Tue Apr 21 20:41:03 2009 -0700 USB: pxa27x_udc: single-thread setup requests Since the PXA 27x UDC automatically ACK's some control packets such as SET_INTERFACE, the gadgets may not get a chance to process the request before another control packet is received. The Linux gadgets do not expect to receive setup callbacks out of order. The file storage gadget only saves the "highest" priority request. The PXA27x UDC driver must make sure it only sends one up at a time, allowing the gadget to make changes before continuing. In theory, the host would be NACK'd while the gadget processes the change but the UDC has already ACK'd the request. If another request is sent by the host that is not automatically ACK'd by the UDC, then the throttling happens properly to regain sync. The observed case was the file_storage gadget timing out on a BulkReset request because the SET_INTERFACE was being processed by the gadget. Since SET_INTERFACE is higher priority than BulkReset, the BulkReset was dropped. This was exacerbated by turning on the debug which delayed the fsg signal processing thread. This also fixes the "should never get in WAIT_ACK_SET_CONF_INTERF state here!!!" warning. Reported-by: Vernon Sauder Signed-off-by: Robert Jarzmik Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman index 51790b0..1937d8c 100644 commit 9f5351b743716c796d13235651699fb4ec7aa64f Author: Robert Jarzmik Date: Tue Apr 21 20:34:44 2009 -0700 USB: pxa27x_udc: compatibility with pxa320 SoC Got pxa27x_udc working on the pxa320 Nomad platform. The problem was that the pxa3xx UDC is not quite compatible with the pxa27x UDC in how it handles back-to-back control packets. The pxa27x probably drops them by default, but the pxa320 does not, and you have to detect it and set the OPC bit to clear the zero-length packet. Signed-off-by: Aric Blumer Signed-off-by: Robert Jarzmik Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f6d529f936672d341fab14ffb0d8eebeee2d8cd3 Author: David Brownell Date: Tue Apr 21 20:34:24 2009 -0700 USB: pxa27x_udc: introduce pxa27x_clear_otgph() Follow pxa27x change in OTGPH handling, and use the newly defined pxa27x_clear_otgph(). Signed-off-by: Robert Jarzmik Acked-by: Eric Miao Acked-by: David Brownell commit 1eba67a60d6c95f7eae94930ec369f2837bb5b12 Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:28 2009 +0200 USB: UHCI queue: use usb_endpoint_type() use usb_endpoint_type() instead of fiddling manually with bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fa4c86a0dda8dd508f2542d97febe674d2e686cc Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:32 2009 +0200 USB: gadgetfs: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9ab1565151dff37a7d7687bfe5cfafb62c7d5e49 Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:21 2009 +0200 USB: Goku-S: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 81c8d8d28d6f2750acd4e41de34aefeb9404431c Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:02 2009 +0200 USB: at91_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 71de6b63f15924e5aed2de0b975efc5117c0ca75 Author: Matthias Kaehlcke Date: Wed Apr 15 22:27:49 2009 +0200 USB: atmel_usba_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 15739bb5023ab9373e0c6c7c703dc8c50ead9eca Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:41 2009 +0200 USB: ci13xxx_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a864e3aa5d8e1278c05aa93c57dba0debbb46858 Author: H Hartley Sweeten Date: Wed Apr 15 21:34:40 2009 -0400 USB: core/sysfs: fix sparse warnings Fix 3 sparse warning in drivers/usb/core/sysfs.c. warning: symbol '__mptr' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit c5be1b52d9ea6ede4931691bf9f0bd454515aa52 Author: Pascal Terjan Date: Thu Apr 16 19:00:45 2009 +0200 USB: Ignore storage device in modem mode on DWN-652 D-Link DWN-652 in Modem mode exposes 3 interfaces - First one is the USB storage one - Second one is for both control and connection - Third one is unknown This patch avoids usb-storage trying to switch again when already in modem mode, and exposes only 2 ttyUSB instead of 3 by not attaching to the storage interface Signed-off-by: Pascal Terjan Signed-off-by: Greg Kroah-Hartman commit cc71329b3b89b4a5be849b617f2c4f151f0b9213 Author: Scott James Remnant Date: Tue Apr 21 17:21:40 2009 +0100 USB: usbfs: deprecate and hide option for !embedded Modern systems do not use usbfs; the entries within it are files, not device nodes, and do not support ACLs which are the default way to provide access to USB devices to untrusted users. It is replaced by device-nodes maintained by udev in /dev/bus/usb, libusb uses this device nodes. Mark the option as deprecated, and hide entirely for non-embedded builds (which may not be using udev but require raw USB device access). Signed-off-by: Scott James Remnant Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 91f8d063d30358fcb76831c238071f7d4b13c35e Author: Alan Stern Date: Thu Apr 16 15:35:09 2009 -0400 USB: consolidate usb_unbind_interface and usb_driver_release_interface This patch (as1230) consolidates code in usb_unbind_interface() and usb_driver_release_interface(). In fact, it makes release_interface call unbind_interface, thereby removing the need for duplicated code. It works like this: If the interface has already been registered with the driver core when a driver releases it, then the usual driver-core mechanism will call unbind_interface. If it hasn't been unregistered then we will make the call ourselves. As a nice bonus, drivers now don't have to worry about whether their disconnect method will get called when they release an interface -- it always will. Previously it would be called only if the interface was registered. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 895f28badce96cd903026b0076966e3571b6968e Author: Mark Adamson Date: Fri May 1 11:48:45 2009 +0100 USB: ftdi_sio: fix hi-speed device packet size calculation Added a function to set the packet size to be used based on the value from the device endpoint descriptor. The FT2232H and FT4232H hi-speed devices will have wMaxPacketSize of 512 bytes when connected to a USB 2.0 hi-speed host, but will use alternative descriptors with wMaxPacketSize of 64 bytes if connected to a USB 1.1 host or hub. All other FTDI devices have wMaxPacketSize of 64 bytes, except some FT232R and FT245R devices which customers have mistakenly programmed to have wMaxPacketSize of 0 - this is an error and will be overridden to use wMaxPacketSize of 64 bytes. The packet size used is important as it determines where the driver removes the status bytes from the incoming data. If it is incorrect, it will lead to data corruption. Signed-off-by: Mark J. Adamson Signed-off-by: Greg Kroah-Hartman commit 094c2e6db4be381f708ad8a2e0532d7782f05ea4 Author: Mark Adamson Date: Thu Apr 9 15:03:09 2009 +0100 USB: serial: FTDI: add high speed device support Added support for FTDI's USB 2.0 hi-speed devices - FT2232H (2 interfaces) and FT4232H (4 interfaces), including a new baud rate calculation for these devices which can now achieve up to 12Mbaud by turning off a divide by 2.5 in the baud rate generator of the chips. In order to achieve baud rates of <1200 baud, the divide by 2.5 must be active. The default product ID of the FT2232H is 0x6010 (same as the FT2232C IC). The default PID of the FT4232H is 0x6011. Signed-off-by: Mark J. Adamson Signed-off-by: Greg Kroah-Hartman commit a483d7068f661213e9586d4d132fc0e0287118b4 Author: Ajay Kumar Gupta Date: Fri Apr 3 16:16:17 2009 -0700 musb: add high bandwidth ISO support Tested on OMAP3 host side with Creative (Live! Cam Optia) USB camera which uses high bandwidth isochronous IN endpoints. FIFO mode 4 is updated to provide the needed 4K endpoint buffer without breaking the g_nokia composite gadget configuration. (This is the only gadget driver known to use enough endpoints to notice the change.) Signed-off-by: Ajay Kumar Gupta Signed-off-by: David Brownell commit d1043a2697effee3054451a9293a376bfb013e4b Author: Anand Gadiyar Date: Thu Apr 2 12:07:08 2009 -0700 musb: use dma mode 1 for TX if transfer size equals maxpacket (v2) Currently, with Inventra DMA, we use Mode 0 if transfer size is less than or equal to the endpoint's maxpacket size. This requires that we explicitly set TXPKTRDY for that transfer. However the musb_g_tx code will not set TXPKTRDY twice if the last transfer is exactly equal to maxpacket, even if request->zero is set. Using Mode 1 will solve this; a better fix might be in musb_g_tx(). Without this change, musb will not correctly send out a ZLP if the last transfer is the maxpacket size and request->zero is set. Signed-off-by: Anand Gadiyar Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ab983f2a1be582b00f706013f40f658769d0823a Author: David Brownell Date: Tue Mar 31 12:35:09 2009 -0700 musb: support disconnect after HNP roleswitch Adjust HNP state machines in MUSB driver so that they handle the case where the cable is disconnected. The A-side machine was very wrong (unrecoverable); the B-Side was much less so. - A_PERIPHERAL ... as usual, the non-observability of the ID pin through Mentor's registers makes trouble. We can't go directly to A_WAIT_VFALL to end the session and start the disconnect processing. We can however sense link suspending, go to A_WAIT_BCON, and from there use OTG timeouts to finally trigger that A_WAIT_VFALL transition. (Hoping that nobody reconnects quickly to that port and notices the wrong state.) - B_HOST ... actually clear the Host Request (HR) bit as the messages say, disconnect the peripheral from the root hub, and don't detour through a suspend state. (In some cases this would eventually have cleaned up.) Also adjust the A_SUSPEND transition to respect the A_AIDL_BDIS timeout, so if HNP doesn't trigger quickly enough the A_WAIT_VFALL transition happens as it should. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1de00dae8036dfee44ebea2c38f942fb6072e0b7 Author: David Brownell Date: Thu Apr 2 10:16:11 2009 -0700 musb: make initial HNP roleswitch work (v2) Minor HNP bugfixes, so the initial role switch works: - A-Device: * disconnect-during-suspend enters A_PERIPHERAL state * kill OTG timer after reset as A_PERIPHERAL ... * ... and also pass that reset to the gadget * once HNP succeeds, clear the "ignore_disconnect" flag * from A_PERIPHERAL, disconnect transitions to A_WAIT_BCON - B-Device: * kill OTG timer on entry to B_HOST state (HNP succeeded) * once HNP succeeds, clear "ignore_disconnect" flag * kick the root hub only _after_ the state is adjusted Other state transitions are left alone. Notably, exit paths from the "roles have switched" state ... A_PERIPHERAL handling of that stays seriously broken. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f7f9d63eac12b345d6243d1d608b7944a05be921 Author: David Brownell Date: Tue Mar 31 12:32:12 2009 -0700 musb: otg timer cleanup Minor cleanup of OTG timer handling: * unify decls for OTG time constants, in the core header * set up and use that timer in a more normal way * move to the driver struct, so it's usable outside core And tighten use and setup of T(a_wait_bcon) so that if it's used, it's always valid. (If that timer expires, the A-device will stop powering VBUS. For non-OTG systems, that will be a surprise.) No behavioral changes, other than more consistency when applying that core HNP timeout. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 84e250ffa76dddc1bad84e04248a27f442c25986 Author: David Brownell Date: Tue Mar 31 12:30:04 2009 -0700 musb: proper hookup to transceiver drivers Let the otg_transceiver in MUSB be managed by an external driver; don't assume it's integrated. OMAP3 chips need it to be external, and there may be ways to interact with the transceiver which add functionality to the system. Platform init code is responsible for setting up the transeciver, probably using the NOP transceiver for integrated transceivers. External ones will use whatever the board init code provided, such as twl4030 or something more hands-off. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cc835e321a9f3fa5e083436872e198095f4805b9 Author: David Brownell Date: Tue Mar 31 12:28:31 2009 -0700 USB: nop-usb-xceiv: behave when linked as a module The NOP OTG transceiver driver needs to be usable from modules. Make sure its symbols are always accessible at both compile and link time, and make sure the device instance is allocated from the heap so that device lifetime rules are obeyed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit def6f8b978618d50daaddb92331d398da9e141f1 Author: David Brownell Date: Tue Mar 31 12:26:10 2009 -0700 USB: twl4030-usb: fix minor reporting goofage Fix a reporting glitch in the twl4030 USB transceiver code. It wasn't properly distinguishing the two types of active USB link: ID grounded, vs not. In the current code that distinction doesn't much matter; in the future this bugfix should help support better USB controller communications. Provide a comment sorting out some of the cryptic bits of the manual: different sections use different names for key signals, and the register definitions don't help much without the explanations and diagrams. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dc2f2b7505c195a6963fc07b549e269eee417261 Author: Uwe Kleine-König Date: Sat Mar 28 00:26:33 2009 +0100 USB: move orion-ehci's probe function to .devinit.text A pointer to ehci_orion_drv_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: Ronen Shitrit Cc: Lennert Buytenhek Cc: Alan Stern Cc: David Brownell Cc: Nicolas Pitre Cc: Russell King Cc: Tzachi Perelstein Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8864bd8606508f6cb66bb0668250cc0672060b65 Author: Uwe Kleine-König Date: Sat Mar 28 00:27:00 2009 +0100 USB: move r8a66597_hcd's probe function to .devinit.text A pointer to r8a66597_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 Acked-by: Yoshihiro Shimoda Cc: Magnus Damm Cc: Stephen Rothwell Cc: Paul Mundt Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d8b175e78b9debdacd31fa74da5dedd6a6285f94 Author: Uwe Kleine-König Date: Sat Mar 28 00:27:13 2009 +0100 USB: move twl4030_usb's probe function to .devinit.text A pointer to twl4030_usb_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: Jouni Hogander Cc: Kalle Jokiniemi Cc: Andrew Morton Cc: David Brownell Cc: Tony Lindgren Cc: Kevin Hilman Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 91e9c4fec7ee777213859aa1a18bf0b885527637 Author: Sergei Shtylyov Date: Fri Mar 27 12:59:46 2009 -0700 musb: split out CPPI interrupt handler As DaVinci DM646x has a dedicated CPPI DMA interrupt, replace cppi_completion() (which has always been kind of layering violation) by a complete CPPI interrupt handler. [ dbrownell@users.sourceforge.net: only cppi_dma.c needs platform device header, not cppi_dma.h ] Signed-off-by: Dmitry Krivoschekov Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c9cd06b3d6ea825c62e277def929cc4315802b48 Author: Sergei Shtylyov Date: Fri Mar 27 12:58:31 2009 -0700 musb_host: refactor URB giveback As musb_advance_schedule() is now the only remaning caller of musb_giveback() (and the only valid context of such call), just fold the latter into the former and then rename __musb_giveback() into musb_giveback(). This is a net minor shrink. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 81ec4e4a5116c2bccec2dd1d350ceb4372846ba8 Author: Sergei Shtylyov Date: Fri Mar 27 12:57:50 2009 -0700 musb_host: streamline musb_cleanup_urb() calls The argument for the 'is_in' parameter of musb_cleanup_urb() is always extracted from an URB that's passed to the function. So that parameter is superfluous; remove it. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 22a0d6f1383c85a7a9759cb805fd06c848c9c4d3 Author: Sergei Shtylyov Date: Fri Mar 27 12:56:26 2009 -0700 musb_host: simplify check for active URB The existance of the scheduling list shouldn't matter in determining whether there's currectly an URB executing on a hardware endpoint. What should actually matter is the 'in_qh' or 'out_qh' fields of the 'struct musb_hw_ep' -- those are set in musb_start_urb() and cleared in musb_giveback() when the endpoint's URB list drains. Hence we should be able to replace the big *switch* statements in musb_urb_dequeue() and musb_h_disable() with mere musb_ep_get_qh() calls... While at it, do some more changes: - add 'is_in' variable to musb_urb_dequeue(); - remove the unnecessary 'epnum' variable from musb_h_disable(); - fix the comment style in the vicinity. This is a minor shrink of source and object code. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3e5c6dc71146c2c3f21d60d3b4b25dc7755d5339 Author: Sergei Shtylyov Date: Fri Mar 27 12:55:16 2009 -0700 musb_host: factor out musb_ep_{get|set}_qh() Factor out the often used code to get/set the active 'qh' pointer for the hardware endpoint. Change the way the case of a shared FIFO is handled by setting *both* 'in_qh' and 'out_qh' fields of 'struct musb_hw_ep'. That seems more consistent and makes getting to the current 'qh' easy when the code knows the direction beforehand. While at it, turn some assignments into intializers and fix declaration style in the vicinity. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 846099a61cf549f450178f1fb3e27adcbd9dcfc2 Author: Sergei Shtylyov Date: Fri Mar 27 12:54:21 2009 -0700 musb_host: refactor musb_save_toggle() (take 2) Refactor musb_save_toggle() as follows: - replace 'struct musb_hw_ep *ep' parameter by 'struct musb_qh *qh' to avoid re-calculating this value - move usb_settogle() call out of the *if* operator. This is a net minor shrink of source and object code. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37e3ee991091e08d4902e3d2694c723446a89a8d Author: Sergei Shtylyov Date: Fri Mar 27 12:53:32 2009 -0700 musb_gadget: suppress "parasitic" TX interrupts with CPPI Suppress "parasitic" endpoint interrupts in the DMA mode when using CPPI DMA driver; they're caused by the MUSB gadget driver using the DMA request mode 0 instead of the mode 1. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a5073b52833e4df8e16c93dc4cbb7e0c558c74a2 Author: Sergei Shtylyov Date: Fri Mar 27 12:52:43 2009 -0700 musb_gadget: fix unhandled endpoint 0 IRQs The gadget EP0 code routinely ignores an interrupt at end of the data phase because of musb_g_ep0_giveback() resetting the state machine to "idle, waiting for SETUP" phase prematurely. The driver also prematurely leaves the status phase on receiving the SetupEnd interrupt. As there were still unhandled endpoint 0 interrupts happening from time to time after fixing these issues, there turned to be yet another culprit: two distinct gadget states collapsed into one. The (missing) state that comes after STATUS IN/OUT states was typically indiscernible from them since the corresponding interrupts tend to happen within too little period of time (due to only a zero-length status packet in between) and so they got coalesced; yet this state is not the same as the next one which is associated with the reception of a SETUP packet. Adding this extra state seems to have fixed the rest of the unhandled interrupts that generic_interrupt() and davinci_interrupt() hid by faking their result and only emitting a debug message -- so, stop doing that. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 003051bfb62513842a9e9efde17afeba46519c95 Author: Bryan Wu Date: Tue Jun 2 03:25:58 2009 -0400 usb: misc: SiS usbvga dangle: accept MUSB_HDRC as a fast enough host controller Acked-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 334f9b0f23c9bb90589213279c9cfe19ebe4c0c6 Author: Michele Valzelli Date: Wed May 27 00:09:12 2009 +0200 USB: option.c: add Toshiba 3G HSDPA SM-Bus Minicard device id This patch adds support for the Toshiba HSDPA Minicard (which is just a rebranded Novatel EU870D) used in some Toshiba laptops. This is my first patch attempt, I hope I got the conventions right. Signed-off-by: Michele Valzelli Signed-off-by: Greg Kroah-Hartman commit d46130ab3ed3716db22bdd9881a60ec7e4365b63 Author: Daniel Suchy Date: Wed May 13 10:05:48 2009 +0200 USB: FTDI-SIO new device ids I would like to have added new device to usbserial/ftdi_sio driver. These ids used USB track device (http://www.l-and-b.dk/access_alt.html). They use differend device IDs, but it works as standard usb-serial conventer. From: Daniel Suchy Signed-off-by: Greg Kroah-Hartman commit e4792aa30f9d33584d7192685ed149cc5fee737f Author: Robin Getz Date: Tue Jun 2 03:00:47 2009 -0400 debugfs: use specified mode to possibly mark files read/write only In many SoC implementations there are hardware registers can be read or write only. This extends the debugfs to enforce the file permissions for these types of registers by providing a set of fops which are read or write only. This assumes that the kernel developer knows more about the hardware than the user (even root users) -- which is normally true. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Greg Kroah-Hartman commit 156f5a7801195fa2ce44aeeb62d6cf8468f3332a Author: GeunSik Lim Date: Tue Jun 2 15:01:37 2009 +0900 debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. Many developers use "/debug/" or "/debugfs/" or "/sys/kernel/debug/" directory name to mount debugfs filesystem for ftrace according to ./Documentation/tracers/ftrace.txt file. And, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is existed in kernel source like ftrace, DRM, Wireless, Documentation, Network[sky2]files to mount debugfs filesystem. debugfs means debug filesystem for debugging easy to use by greg kroah hartman. "/sys/kernel/debug/" name is suitable as directory name of debugfs filesystem. - debugfs related reference: http://lwn.net/Articles/334546/ Fix inconsistency of directory name to mount debugfs filesystem. * From Steven Rostedt - find_debugfs() and tracing_files() in this patch. Signed-off-by: GeunSik Lim Acked-by : Inaky Perez-Gonzalez Reviewed-by : Steven Rostedt Reviewed-by : James Smart CC: Jiri Kosina CC: David Airlie CC: Peter Osterlund CC: Ananth N Mavinakayanahalli CC: Anil S Keshavamurthy CC: Masami Hiramatsu Signed-off-by: Greg Kroah-Hartman commit 1b713e00500c6f03317742981674e89a21629399 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 xen: remove driver_data direct access of struct device from more drivers In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: xen-devel@lists.xensource.com Cc: virtualization@lists.osdl.org Acked-by: Chris Wright Cc: Jeremy Fitzhardinge Signed-off-by: Greg Kroah-Hartman commit 839214aeaae1866d55e745c676206825f8ba7e99 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 usb: gadget: at91_udc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-usb@vger.kernel.org Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8691b97b99d8b0ba7427afde1a50695cc4112938 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 uml: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: user-mode-linux-devel@lists.sourceforge.net Cc: Jeff Dike Signed-off-by: Greg Kroah-Hartman commit 5888fd30ac70fa50f08979c46f9206d01ca6ad49 Author: Roel Kluin Date: Tue May 5 10:41:19 2009 +0200 block/ps3: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Roel Kluin Acked-by: Geert Uytterhoeven Signed-off-by: Greg Kroah-Hartman commit dff59b64af94dc588044d70f3708cb835055c5b6 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 s390: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Thanks to Sebastian Ott for fixing a few typos in my original version of this patch. Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Sebastian Ott Cc: linux-s390@vger.kernel.org Cc: linux390@de.ibm.com Signed-off-by: Greg Kroah-Hartman commit 61616115d748e2eb76c43715383e602b09d9bf50 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 parport: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit d18dbfa7aaa8d50c2c1c66359f0ab6b085dfa03f Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 parisc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-parisc@vger.kernel.org Cc: Helge Deller Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit 3cf62a5a82f9819896d72b20f8c55e0858c7aec8 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 of_serial: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Acked-by: Stephen Rothwell Cc: Paul Mackerras Cc: Matthias Fuchs Signed-off-by: Greg Kroah-Hartman commit d7792065590ab1fd0a9f06ffaab3dc237a30b339 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 mips: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-mips@linux-mips.org Cc: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit 9de33df41f712712ccd3297c898e365b50fb91ef Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 ipmi: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: openipmi-developer@lists.sourceforge.net Acked-by: Corey Minyard Signed-off-by: Greg Kroah-Hartman commit f899c2ddd45f2515deb446e2b143e4a686a49aee Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 infiniband: ehca: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Sean Hefty Cc: Roland Dreier Cc: Hal Rosenstock Cc: general@lists.openfabrics.org Cc: Christoph Raisch Acked-by: Hoang-Nam Nguyen Signed-off-by: Greg Kroah-Hartman commit 559fde706873256903155b3a62b05d0f52d62ab9 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-scsi@vger.kernel.org Cc: James Bottomley Cc: Brian King Cc: Robert Jennings Signed-off-by: Greg Kroah-Hartman commit 317ccc4246bf205807c4d2f270d7fc8f024a9dc3 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 hvcs: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Paul Mackerras Acked-by: Stephen Rothwell Cc: Roel Kluin Cc: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit a1b4b12b372e76d22d4f3bf58b47e4cf2fb132fe Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 xen block: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: xen-devel@lists.xensource.com Cc: virtualization@lists.osdl.org Acked-by: Chris Wright Acked-by: Jeremy Fitzhardinge Signed-off-by: Greg Kroah-Hartman commit 0e968a3b6da710294a56460473cac32dc821fd4a Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 thermal: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman commit 78c55d76b84628862079351f77aa0f4aa3b65f58 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 scsi: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-scsi@vger.kernel.org Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit f3e7a7b64a79a3d82835ce83fb32616df762d456 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 pcmcia: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-pcmcia@lists.infradead.org Cc: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 8952f593ea66bff4a30f9e641dc6c79832ca64cf Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 PCIE: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-pci@vger.kernel.org Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 1902a9e62ba34a1071407ab61cef626e019a0923 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 mfd: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Samuel Ortiz Acked-by: Mark Brown Signed-off-by: Greg Kroah-Hartman commit 79510cdbc76265426c6d75326436624393694ea7 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 media: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Mauro Carvalho Chehab Acked-by: Mike Isely Cc: linux-media@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit 017596b61f324946299fa94d9ef6f08b7478a3d8 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 input: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Dmitry Torokhov Cc: linux-input@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit 3f7c58a05fe4aa71983ea27959b7ad840950537e Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 infiniband: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: general@lists.openfabrics.org Cc: Roland Dreier Cc: Hal Rosenstock Cc: Sean Hefty Signed-off-by: Greg Kroah-Hartman commit bab030595a4f84c679fe26e05263e3dc9f560391 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 ieee1394: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux1394-devel@lists.sourceforge.net Acked-by: Stefan Richter Cc: Ben Collins Signed-off-by: Greg Kroah-Hartman commit fcb5207723919ad85178420633d55efea80b652d Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 ide: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-ide@vger.kernel.org Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d961450da5e16dae8da276c0a234764872b2307b Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 firewire: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux1394-devel@lists.sourceforge.net Acked-by: Stefan Richter Cc: Kristian Hoegsberg Signed-off-by: Greg Kroah-Hartman commit 4b9d0d3b81ec0900971cbe8aba8ba0ae9c08a087 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 eisa: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman commit 2bdf914915e98fe82495d05741a57e37f4b604e8 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: bsg: add nodename for bsg driver This adds support to the BSG driver to report the proper device name to userspace for the bsg devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 1ce8a0d396288f28070483a8190843c23b8282f4 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: aoe: add nodename for aoe devices This adds support to the AOE core to report the proper device name to userspace for the AOE devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 02200d0664bc630b3525989cb8f49880bf8bda84 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: drm: add nodename for drm devices This adds support to the drm core to report the proper device name to userspace for the drm devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 6fd4693375b6e1001c69e78f5aefd44bf5aa7084 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: raw: add nodename for raw devices This adds support to the raw driver to report the proper device name to userspace for the raw devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 7a9d56f6a459472bc4383aeb85612d72e79d1818 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: sound: add nodename for sound drivers This adds support to the sound core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit aa5ed63e96656bb246a9439e06c7b67d455a5aa1 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: input: add nodename for input drivers This adds support to the input core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 8a8bdcc7533b104d789d9bb3ed90da9352515e21 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: dvb: add nodename for dvb drivers This adds support to the dvb core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 07e9bb8eebb04c81323cbd3eabf07a3f6f05b204 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: x86: add nodename for cpuid and msr drivers. This adds support to the x86 cpuid and msr drivers to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit b03f38b685e2e1db174fb8982930e789a516f414 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: block: add nodename support for block drivers. This adds support for block drivers to report their requested nodename to userspace. It also updates a number of block drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit f7a386c5b8ff34cd84ae922603d1c6f9d234edee Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: usb: add nodename support for usb drivers. This adds support for USB drivers to report their requested nodename to userspace. It also updates a number of USB drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit d405640539555b601e52f7d18f1f0b1345d18bf5 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: misc: add nodename support for misc devices. This adds support for misc devices to report their requested nodename to userspace. It also updates a number of misc drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 6fcf53acccf85b4b0d0260e66c692a341760f464 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: add nodename callbacks This adds the nodename callback for struct class, struct device_type and struct device, to allow drivers to send userspace hints on the device name and subdirectory that should be used for it. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit acc0e90fbccbc6e4d48184cba0983ea044e131af Author: Greg Kroah-Hartman Date: Tue Jun 2 15:39:55 2009 -0700 driver core: fix gcc 4.3.3 warnings about string literals This removes the warning: format not a string literal and no format arguments warnings in the driver core that gcc 4.3.3 complains about. Signed-off-by: Greg Kroah-Hartman commit d12b77afb4f0a06e9c7e82a0e88d5f011b862c10 Author: Greg Kroah-Hartman Date: Tue Jun 2 15:01:00 2009 -0700 firmware: remove broken example files The firmware example files are beyond broken, and will not work, and should not be used as an example at all. So lets remove them and hope someone writes new files sometime in the future. Signed-off-by: Greg Kroah-Hartman commit 5e8e9245f9bb4c6ed2a2f4af42f2ec9733dc5378 Author: Samuel Ortiz Date: Wed May 27 00:49:37 2009 +0200 firmware: FIRMWARE_NAME_MAX removal As we're allocating the firmware name dynamically, we no longer need this definition. This patch must be applied only after the 5 previous patches from this pacth set have been applied. Signed-off-by: Samuel Ortiz Signed-off-by: Greg Kroah-Hartman commit cadeba315cc91ae1b57632e61b0cec3a4ed7088d Author: John W. Linville Date: Wed May 27 00:49:36 2009 +0200 firmware: wireless/libertas: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch eplaces the shared FIRMWARE_NAME_MAX definition with a libertas local one. Signed-off-by: John W. Linville Acked-by: Dan Williams Acked-by: Samuel Ortiz Signed-off-by: Greg Kroah-Hartman commit ed62acec209fa7e104b9d7871c1e5307fab83bf0 Author: Samuel Ortiz Date: Wed May 27 00:49:35 2009 +0200 firmware: pcmcia/ds: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. With the FIRMWARE_NAME_MAX removal, the ds.c reference becomes useless as we dont need to check for the firmware name length anymore. Signed-off-by: Samuel Ortiz Cc: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 56aec8d874e222f68baffbda33322c9be4cbf2ea Author: Samuel Ortiz Date: Wed May 27 00:49:34 2009 +0200 firmware: dvb/dvb-usb: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch changes the dvb_usb_device_properties firmware field accordingly. Signed-off-by: Samuel Ortiz Reviewed-by: Michael Krufky Cc: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit 4327b77ed7e73336069c441f91df58a251c77975 Author: Samuel Ortiz Date: Wed May 27 00:49:33 2009 +0200 firmware: tuners/xc2028: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch gets rid of the xc2028 FIRMWARE_NAME_MAX reference. Signed-off-by: Samuel Ortiz Cc: Mauro Carvalho Chehab Cc: Michel Ludwig Signed-off-by: Greg Kroah-Hartman commit ade901d7a46e389197f028d12fb67d88f34cd8d5 Author: Samuel Ortiz Date: Wed May 27 00:49:32 2009 +0200 firmware: atm/ueagle-atm: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch replaces the shared FIRMWARE_NAME_MAX definition with a ueagle local one. Signed-off-by: Samuel Ortiz Cc: Damien Bergamini Signed-off-by: Greg Kroah-Hartman commit 976821d756c53b421d7c58a9ed60125016d330aa Author: Samuel Ortiz Date: Wed May 27 00:49:31 2009 +0200 firmware: allocate firmware id dynamically The firmware loader has a statically allocated 30 bytes long string for the firmware id (a.k.a. the firmware file name). There is no reason why we couldnt allocate it dynamically, and avoid having restrictions on the firmware names lengths. Signed-off-by: Samuel Ortiz Cc: Marcel Holtmann Cc: Zhu Yi , Cc: John Linville Signed-off-by: Greg Kroah-Hartman commit 7fcab099795812a8a08eb3b8c8ddb35c3685045f Author: Ming Lei Date: Fri May 29 11:33:19 2009 +0800 driver core: fix documentation of request_firmware_nowait request_firmware_nowait declares it can be called in non-sleep contexts, but kthead_run called by request_firmware_nowait may sleep. So fix its documentation and comment to make callers clear about it. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit c4c01684349ac0821ad8c27de9516fe493f3361d Author: Michal Marek Date: Tue May 26 14:19:35 2009 +0200 kobject: samples: make SAMPLE_KOBJECT module-only With SAMPLE_KOBJECT=y, it isn't even linked into the kernel image. Signed-off-by: Michal Marek Signed-off-by: Greg Kroah-Hartman commit 401097ea4b89846d66ac78f7f108d49c2e922d9c Author: Shaohua Li Date: Tue May 12 13:37:57 2009 -0700 driver core: synchronize device shutdown A patch series to make .shutdown execute asynchronously. Some drivers's shutdown can take a lot of time. The patches can help save some shutdown time. The patches use Arjan's async API. This patch: synchronize all tasks submitted by .shutdown Signed-off-by: Shaohua Li Cc: Arjan van de Ven Cc: Dmitry Torokhov Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 400ced61fa4914457d7e0a38e7c0fc6fd208694b Author: Jonathan Corbet Date: Mon May 25 10:15:27 2009 -0600 debugfs: fix docbook error Fix an error in debugfs_create_blob's docbook description It cannot actually be used to write a binary blob. Signed-off-by: Jonathan Corbet commit 9227c47bbdd87f276e08ed17877cc1649f5ed10a Author: Dave Young Date: Mon May 11 14:18:55 2009 +0800 driver-core: make sysdev_class_register check kobject_set_name return value sysdev_class_register should check the kobject_set_name return value. Add the return value checking code. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit d9cd8f37855b012757818f31390e8f84db251c89 Author: Dave Young Date: Mon May 11 14:17:45 2009 +0800 kobject: make kset_create check kobject_set_name return value kset_create should check the kobject_set_name return value. Add the return value checking code. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 59a3cd7f9da60ac4ba8ae5a4cddc48fe4a450129 Author: Dmitry Torokhov Date: Tue May 5 20:38:28 2009 -0700 Driver core: fix comment for device_attach() We are looking for matching drivers, not devices. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 56a83cc92991ed5bf76e224dd2ad53b5e9c00681 Author: Steven Rostedt Date: Sat Apr 25 00:39:40 2009 -0400 debugfs: dont stop on first failed recursive delete debugfs: dont stop on first failed recursive delete While running a while loop of removing a module that removes a debugfs directory with debugfs_remove_recursive, and at the same time doing a while loop of cat of a file in that directory, I would hit a point where somehow the cat of the file caused the remove to fail. The result is that other files did not get removed when the module was removed. I simple read of one of those file can oops the kernel because the operations to the file no longer exist (removed by module). The funny thing is that the file being cat'ed was removed. It was the siblings that were not. I see in the code to debugfs_remove_recursive there's a test that checks if the child fails to bail out of the loop to prevent an infinite loop. What this patch does is to still try any siblings in that directory. If all the siblings fail, or there are no more siblings, then we exit the loop. This fixes the above symptom, but... This is no full proof. It makes the debugfs_remove_recursive a bit more robust, but it does not explain why the one file failed. There may be some kind of delay deletion that makes the debugfs think it did not succeed. So this patch is more of a fix for the symptom but not the disease. This patch still makes the debugfs_remove_recursive more robust and until I can find out why the bug exists, this patch will keep the kernel from oopsing in most cases. Even after the cause is found I think this change can stand on its own and should be kept. [ Impact: prevent kernel oops on module unload and reading debugfs files ] Signed-off-by: Steven Rostedt Signed-off-by: Greg Kroah-Hartman commit c0afe7ba5e71d8ab66bc42f90b3e237581d3c509 Author: Linus Walleij Date: Mon Apr 27 02:38:16 2009 +0200 driver core: Const-correct platform getbyname functions This converts resource and IRQ getbyname functions for the platform bus to use const char *, I ran into compiler moanings when I tried using a const char * for looking up a certain resource. Signed-off-by: Linus Walleij Signed-off-by: Greg Kroah-Hartman commit 309b7d60a345f402bec3cf9caadb53de4028e2aa Author: Joerg Roedel Date: Fri Apr 24 14:57:00 2009 +0200 driver core: add BUS_NOTIFY_UNBOUND_DRIVER event This patch adds a new bus notifier event which is emitted _after_ a device is removed from its driver. This event will be used by the dma-api debug code to check if a driver has released all dma allocations for that device. Signed-off-by: Joerg Roedel Signed-off-by: Greg Kroah-Hartman commit 6acf70f078ca42a63397b8b84bf6383b01303009 Author: Ming Lei Date: Thu Apr 23 22:31:52 2009 +0800 driver core: firmware_class: replace kfree(dev) with put_device(dev) against v2.6.30-rc3-next tree. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 557411eb2ce61ef5e87bd759a6f86881586df857 Author: Armin Kuster Date: Wed Apr 29 07:29:59 2009 -1000 Sysfs: fix possible memleak in sysfs_follow_link There is the possiblity of a memory leak if a page is allocated and if sysfs_getlink() fails in the sysfs_follow_link. Signed-off-by: Armin Kuster Signed-off-by: Greg Kroah-Hartman commit b22813b373749d0878e7140e9a6eadf182298709 Author: Grant Likely Date: Fri Mar 6 14:05:39 2009 -0700 Driver Core: Warn driver authors about adding device attributes Add a blurb to the driver-model documentation about how (not) to add extra attributes to a struct device at driver probe time. Signed-off-by: Grant Likely Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3959214f971417f4162926ac52ad4cd042958caa Author: Kay Sievers Date: Tue Mar 24 15:43:30 2009 +0100 sched: delayed cleanup of user_struct During bootup performance tracing we see repeated occurrences of /sys/kernel/uid/* events for the same uid, leading to a, in this case, rather pointless userspace processing for the same uid over and over. This is usually caused by tools which change their uid to "nobody", to run without privileges to read data supplied by untrusted users. This change delays the execution of the (already existing) scheduled work, to cleanup the uid after one second, so the allocated and announced uid can possibly be re-used by another process. This is the current behavior, where almost every invocation of a binary, which changes the uid, creates two events: $ read START < /sys/kernel/uevent_seqnum; \ for i in `seq 100`; do su --shell=/bin/true bin; done; \ read END < /sys/kernel/uevent_seqnum; \ echo $(($END - $START)) 178 With the delayed cleanup, we get only two events, and userspace finishes a bit faster too: $ read START < /sys/kernel/uevent_seqnum; \ for i in `seq 100`; do su --shell=/bin/true bin; done; \ read END < /sys/kernel/uevent_seqnum; \ echo $(($END - $START)) 1 Acked-by: Dhaval Giani Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f6ee649f4b191d316a463ce7e514f9d12fa31c01 Author: Kay Sievers Date: Thu Apr 16 19:56:37 2009 +0200 driver core: set default SYSFS_DEPRECATED=n All recent distros depend on the non-deprecated sysfs layout, so change the default value of the option to reflect that. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 313485175da221c388f6a8ecf4c30062ba9bea17 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:59 2009 +0000 usb/ps3: Add missing annotations probe functions should be __devinit initialization functions should be __init Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Acked-by: Greg Kroah-Hartman Signed-off-by: Benjamin Herrenschmidt commit 2fae0a524b193e200b71778407ad29b22417056a Author: Benjamin Herrenschmidt Date: Sun Jun 14 16:16:10 2009 +0000 powerpc: Add memory clobber to mtspr() Without this clobber, mtspr can be re-ordered by gcc vs. surrounding memory accesses. While this might be ok for some cases, it's not in others and I'm not confident that all callers get it right (In fact I'm sure some of them don't). So for now, let's make mtspr() itself contain a memory clobber until we can audit and fix everything, at which point we can remove it if we think it's worth doing so. Signed-off-by: Benjamin Herrenschmidt commit 48c931125bf228a529b8d05218e9fdda899dfa93 Author: Benjamin Herrenschmidt Date: Sun Jun 14 14:45:50 2009 +0000 powerpc: Fix invalid construct in our CPU selection Kconfig commit 5b7c3c918c9c26c50d220b2b50359208cb5a1dbe introduced an invalid construct in our CPU selection. This caused warnings, though it still appeared to do the right thing. This fixes it properly by having separate formal definitions of PPC_BOOK3S_32 and PPC_BOOK3S_64 and one statement defining PPC_BOOK3S based on the two above. Signed-off-by: Benjamin Herrenschmidt commit c4b512bc832c6c6aab14acb2bd96940e867e5018 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:56 2009 +0000 ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Acked-by: James E.J. Bottomley Signed-off-by: Benjamin Herrenschmidt commit ba55bd74360ea4b8b95e73ed79474d37ff482b36 Author: Michael Ellerman Date: Tue Jun 9 20:48:51 2009 +0000 powerpc: Add configurable -Werror for arch/powerpc Add the option to build the code under arch/powerpc with -Werror. The intention is to make it harder for people to inadvertantly introduce warnings in the arch/powerpc code. It needs to be configurable so that if a warning is introduced, people can easily work around it while it's being fixed. The option is a negative, ie. don't enable -Werror, so that it will be turned on for allyes and allmodconfig builds. The default is n, in the hope that developers will build with -Werror, that will probably lead to some build breaks, I am prepared to be flamed. It's not enabled for math-emu, which is a steaming pile of warnings. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit eedacbf02df462d6c915d8d642b23fb450d485c7 Author: Dave Mitchell Date: Tue Jun 9 13:39:47 2009 +0000 of_serial: Add UPF_FIXED_TYPE flag This patch adds the UPF_FIXED_TYPE flag which will bypass the 8250's autoconfig probe for uart type. The uart type identified by the of_serial's parse of the flat device tree will be utilized as defined. Signed-off-by: Dave Mitchell Signed-off-by: Benjamin Herrenschmidt commit e364ca92770a84ab3a917359ba7fed69479a16e3 Author: Mike Frysinger Date: Wed Jun 10 09:42:30 2009 +0000 drivers/hvc: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 48dce82cd6df71c8e7cddc79d787735b109ee0a3 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:58 2009 +0000 net/ps3: gelic - Add missing annotations probe functions should be __devinit Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 9317726de42a157c377f7fe9110a63260800582f Author: Timur Tabi Date: Tue May 26 05:21:41 2009 +0000 powerpc: Introduce macro spin_event_timeout() The macro spin_event_timeout() takes a condition and timeout value (in microseconds) as parameters. It spins until either the condition is true or the timeout expires. It returns the result of the condition when the loop was terminated. This primary purpose of this macro is to poll on a hardware register until a status bit changes. The timeout ensures that the loop still terminates if the bit doesn't change as expected. This macro makes it easier for driver developers to perform this kind of operation properly. Signed-off-by: Timur Tabi Acked-by: Geoff Thorpe Signed-off-by: Benjamin Herrenschmidt commit 79290e4b692af8a76273bab38e41a3a385dedc7b Author: Sean MacLennan Date: Wed Jun 10 15:09:23 2009 +0000 powerpc/warp: Fix ISA_DMA_THRESHOLD default If no device is passed to __dma_alloc_coherent, it defaults to using ISA_DMA_THRESHOLD for the mask. This patch provides a reasonable default rather than 0. Signed-off-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit 247608234e944e3e8e4d503c54c19ccb63dd27f2 Author: Nate Case Date: Thu Jun 11 14:43:01 2009 -0500 powerpc/bootwrapper: Custom build options for XPedite52xx targets Some XPedite52xx boards have a legacy boot loader requiring some special care in the boot wrapper. The use of cuboot-85xx is needed to fix up embedded device trees, and a custom link address is specified to accommodate the boot loader and larger kernel image sizes used on X-ES MPC85xx platforms. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 6277597819f07945d8ef234518d970aa51ef17d8 Author: Nate Case Date: Thu Jun 11 14:43:00 2009 -0500 powerpc/85xx: Add defconfig for X-ES MPC85xx boards Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 317bf653a6700b0ae34cef5028b287d5205bdaf1 Author: Nate Case Date: Thu Jun 11 14:42:59 2009 -0500 powerpc/85xx: Add dts files for X-ES MPC85xx boards Add device tree source files for various MPC85xx boards from Extreme Engineering Solutions. Supported boards include XPedite5370, XPedite5200, XPedite5301, XPedite5330, and XCalibur1501. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 3038acf9091ff265609af3524ed94cce797d8485 Author: Nate Case Date: Thu Jun 11 14:42:58 2009 -0500 powerpc/85xx: Add platform support for X-ES MPC85xx boards Add support for X-ES single-board computers based on the Freescale MPC85xx processors. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 8159df72d43e237d5bfcff052a8337245b6ac53e Author: Heiko Schocher Date: Mon Jun 15 09:38:18 2009 +0200 83xx: add support for the kmeter1 board. The following series implements basic board support for the kmeter1 board from keymile, based on a MPC8360. This series provides the following functionality: - The board can boot with a serial console on UART1 - Ethernet: UCC1 in RGMII mode UCC2 in RGMII mode UCC4 in RMII mode UCC5 in RMII mode UCC6 in RMII mode UCC7 in RMII mode UCC8 in RMII mode following patch is necessary for working UCC in RMII mode: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/070804.html - Flash accessed via MTD layer On this hardware there is an Intel P30 flash, following patch series is necessary for working with this hardware: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/070624.html - I2C using I2C Bus 1 from the MPC8360 cpu Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit 40aa7353355f2d2766b2c960aff2f93e3dac4bfa Author: Kevin Hao Date: Wed May 27 10:05:05 2009 +0800 powerpc/85xx: Add nor flash partitions for mpc8569mds Add 4 partitions in nor flash. Also fix nor flash bank width bug. The flash is capable of x8/x16 width but is configured for x8. Signed-off-by: Kevin Hao Signed-off-by: Kumar Gala commit e86b4998f00b51f60b4baab9bbef5e07c9407614 Author: mware@internode.on.net Date: Wed Jun 10 17:01:19 2009 +0000 powerpc/fsl: Increase the number of possible localbus banks Currently the fsl,*lbc devices support 8 banks (ie OR and BR registers). This is adequate for most pq2 and pq3 processors, but not the MPC8280 which has 12 banks. Signed-Off-By: Mark Ware Signed-off-by: Kumar Gala commit 5f28c52003612cccf12dfcbac4d9f0692bd28e67 Author: Yang Li Date: Mon May 11 22:36:02 2009 +0000 rio: warn_unused_result warnings fix Adding failure path for the following two cases. warning: ignoring return value of 'device_add', declared with attribute warn_unused_result warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 7b9edb9d619a1b3ecd35d832d4a93803d4f0ca5f Author: Nate Case Date: Mon Jun 8 17:17:42 2009 -0500 powerpc/85xx: cuboot - Fix up ethernet3 MAC address on MPC85xx Some MPC85xx platforms do support 4 ethernet ports, so make sure the boot wrapper fixes up all of them in the fdt. Since MAC addresses are at the end of the bd_t structure there is no harm in expanding to support 4 MAC address on older 85xx systems that might not have that many. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit b45cc9eff72e0871ffb83ae32c3dbca382909706 Author: Dave Liu Date: Mon Jun 8 22:24:36 2009 +0800 serial: Make ucc_uart work in HW UART mode In HW UART mode the TxBD[READY] is not cleared by H/W (RISC engine) when the user send characters to Tx buffer of QE UART. So, these characters stay on the QE forever, never go to UART line. Signed-off-by: Dave Liu Signed-off-by: Kumar Gala commit f1f8b4948d19ae84fe37e36601ae064102dfa5ab Author: Gerhard Pircher Date: Sat Jun 6 11:12:36 2009 +0000 powerpc: Enable additional BAT registers in setup_745x_specifics() Currently the kernel expects the additional four IBAT and DBAT registers to be available, but doesn't enable these registers on 745x CPUs, which have them disabled after reset. Thus set the HIGH_BAT_EN bit in HID0 register, if the corresponding MMU feature is defined. Signed-off-by: Gerhard Pircher Signed-off-by: Kumar Gala commit b7d66c88c968379ebe683a28c4005895497ebbad Author: Peter Korsgaard Date: Tue Jun 9 13:43:32 2009 +0200 powerpc/mpc83xx: Fix usb mux setup for mpc834x usb0 and usb1 mux settings in the sicrl register were swapped (twice!) in mpc834x_usb_cfg(), leading to various strange issues with fsl-ehci and full speed devices. The USB port config on mpc834x is done using 2 muxes: Port 0 is always used for MPH port 0, and port 1 can either be used for MPH port 1 or DR (unless DR uses UTMI phy or OTG, then it uses both ports) - See 8349 RM figure 1-4.. mpc8349_usb_cfg() had this inverted for the DR, and it also had the bit positions of the usb0 / usb1 mux settings swapped. It would basically work if you specified port1 instead of port0 for the MPH controller (and happened to use ULPI phys), which is what all the 834x dts have done, even though that configuration is physically invalid. Instead fix mpc8349_usb_cfg() and adjust the dts files to match reality. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 4dc2a6cf82746c1e632aad0cd38615a35f8df075 Author: leon.woestenberg@gmail.com Date: Sat Jun 6 09:15:13 2009 -0700 powerpc/83xx: Add MSI interrupts to DTS of MPC8315E-RDB The PCIe MSI interrupts are missing from the device tree source, and thus were not enabled. This patch adds them. Tested to work on MPC8315E-RDB with custom FPGA PCIe device. Signed-off-by: Leon Woestenberg Tested-by: Leon Woestenberg Signed-off-by: Kumar Gala commit 7a5c62fbfb86e731eab0798a1a02ff0d915ea10a Author: Martyn Welch Date: Tue May 19 10:40:57 2009 +0100 powerpc/86xx: Add I2C device mappings in DTS for SBC610 Mappings for temperature sensors (adt7461 and lm92) are missing from the SBC610's DTS file. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit b4a31c94b6445b9e2cfe62efbb8109ac6ebd11aa Author: Haiying Wang Date: Tue Jun 2 10:04:16 2009 -0400 powerpc/85xx: Add UCC6 and UCC8 nodes in SGMII mode for MPC8569MDS Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 1a2eceaacd3721336bc08ffdca546e1a8ff2429d Author: Anton Vorontsov Date: Wed Jun 10 19:19:26 2009 +0400 powerpc/83xx: Update sdhci nodes per new bindings As of commit 404614728f857d0ac63d29c3a29d0cf392a15598 ("Update FSL esdhc binding"), we use "fsl,esdhc" compatible entry as a base match. U-Boot will use the same compatible to fixup esdhc nodes. This patch updates 83xx dts files so that they conform to the new bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cab888e678d0986ebce95464d3842a6aeca1e3d8 Author: Nate Case Date: Wed Jun 10 15:37:28 2009 -0500 powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs Some boot loaders may not enable L1 instruction/data cache. Check if data and instruction caches are enabled, and enable them if needed. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit c7a7a5b9a27e28ce5f800ead9091ce68d37e8088 Author: Wolfgang Denk Date: Tue May 12 21:06:14 2009 +0200 powerpc/mpc8272ads: fix device tree for 8 MB flash size The current device tree for the MPC8272ADS assumes a mapping of 32 MB of NOR flash at 0xFE00.0000, while there are actually only 8 MB on the boards, mapped at 0xFF80.0000. When booting an uImage with such a device tree, the kernel crashes because 0xFE00.0000 is not mapped. Also introduce aliases for serial[01] and ethernet[01]. Signed-off-by: Wolfgang Denk Cc: Scott Wood Signed-off-by: Kumar Gala commit 152d0182822e871a3fe1f6d97949d83fad950e26 Author: Kumar Gala Date: Fri May 15 00:37:35 2009 -0500 powerpc/85xx: Add SWIOTLB support to FSL boards Add the platform-specific code for enabling SWIOTLB if needed on P2020DS, MPC85xx DS, and MPC85xx MDS boards as they are capable of having >4G of memory. We determine if we need to enable swiotlb based on how much memory is in the board and if it exceeds 4G or what we can map via PCI inbound windows. Signed-off-by: Kumar Gala commit 5cef379b34ffcd96567066ddc1012bd40e6e7675 Author: Becky Bruce Date: Thu May 14 17:42:29 2009 -0500 powerpc: Add 86xx support for SWIOTLB This is the final bit of code to allow enabling swiotlb on mpc86xx. The platform-specific code is very small and consists of enabling SWIOTLB in the config file, registering the swiotlb_setup_bus_notifier initcall, and setting pci_dma_ops to point to swiotlb_pci_dma_ops if we have more memory than can be mapped by the inbound PCI windows. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 978d910d31c5202e251298bf3f603300a54605dd Author: Yan Zheng Date: Mon Jun 15 20:01:02 2009 -0400 Btrfs: always update root items for fs trees at commit time commit_fs_roots skips updating root items for fs trees that aren't modified. This is unsafe now that relocation code modifies root item's last_snapshot field without modifying corresponding fs tree. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 9af0b38ff3f4f79c62dd909405b113bf7c1a23aa Author: Sunil Mushran Date: Thu Jun 11 11:02:03 2009 -0700 ocfs2/net: Use wait_event() in o2net_send_message_vec() Replace wait_event_interruptible() with wait_event() in o2net_send_message_vec(). This is because this function is called by the dlm that expects signals to be blocked. Fixes oss bugzilla#1126 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1126 Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 6b791bcc8b2ae21daf95d18cff2f1eca7a64c9a5 Author: Tao Ma Date: Fri Jun 12 14:18:36 2009 +0800 ocfs2: Adjust rightmost path in ocfs2_add_branch. In ocfs2_add_branch, we use the rightmost rec of the leaf extent block to generate the e_cpos for the newly added branch. In the most case, it is OK but if the parent extent block's rightmost rec covers more clusters than the leaf does, it will cause kernel panic if we insert some clusters in it. The message is something like: (7445,1):ocfs2_insert_at_leaf:3775 ERROR: bug expression: le16_to_cpu(el->l_next_free_rec) >= le16_to_cpu(el->l_count) (7445,1):ocfs2_insert_at_leaf:3775 ERROR: inode 66053, depth 0, count 28, next free 28, rec.cpos 270, rec.clusters 1, insert.cpos 275, insert.clusters 1 [] ? ocfs2_do_insert_extent+0xb58/0xda0 [ocfs2] [] ? ocfs2_insert_extent+0x5bd/0x6ba [ocfs2] [] ? ocfs2_add_clusters_in_btree+0x37f/0x564 [ocfs2] ... The panic can be easily reproduced by the following small test case (with bs=512, cs=4K, and I remove all the error handling so that it looks clear enough for reading). int main(int argc, char **argv) { int fd, i; char buf[5] = "test"; fd = open(argv[1], O_RDWR|O_CREAT); for (i = 0; i < 30; i++) { lseek(fd, 40960 * i, SEEK_SET); write(fd, buf, 5); } ftruncate(fd, 1146880); lseek(fd, 1126400, SEEK_SET); write(fd, buf, 5); close(fd); return 0; } The reason of the panic is that: the 30 writes and the ftruncate makes the file's extent list looks like: Tree Depth: 1 Count: 19 Next Free Rec: 1 ## Offset Clusters Block# 0 0 280 86183 SubAlloc Bit: 7 SubAlloc Slot: 0 Blknum: 86183 Next Leaf: 0 CRC32: 00000000 ECC: 0000 Tree Depth: 0 Count: 28 Next Free Rec: 28 ## Offset Clusters Block# Flags 0 0 1 143368 0x0 1 10 1 143376 0x0 ... 26 260 1 143576 0x0 27 270 1 143584 0x0 Now another write at 1126400(275 cluster) whiich will write at the gap between 271 and 280 will trigger ocfs2_add_branch, but the result after the function looks like: Tree Depth: 1 Count: 19 Next Free Rec: 2 ## Offset Clusters Block# 0 0 280 86183 1 271 0 143592 So the extent record is intersected and make the following operation bug out. This patch just try to remove the gap before we add the new branch, so that the root(branch) rightmost rec will cover the same right position. So in the above case, before adding branch the tree will be changed to Tree Depth: 1 Count: 19 Next Free Rec: 1 ## Offset Clusters Block# 0 0 271 86183 SubAlloc Bit: 7 SubAlloc Slot: 0 Blknum: 86183 Next Leaf: 0 CRC32: 00000000 ECC: 0000 Tree Depth: 0 Count: 28 Next Free Rec: 28 ## Offset Clusters Block# Flags 0 0 1 143368 0x0 1 10 1 143376 0x0 ... 26 260 1 143576 0x0 27 270 1 143584 0x0 And after branch add, the tree looks like Tree Depth: 1 Count: 19 Next Free Rec: 2 ## Offset Clusters Block# 0 0 271 86183 1 271 0 143592 Signed-off-by: Tao Ma Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 9542b21e4f05a521a35752f49a522ef5a6221b4f Author: Jaswinder Singh Rajput Date: Wed Jun 10 12:45:01 2009 -0700 [IA64] msi_ia64.c dmar_msi_type should be static Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit fb824f4838c3110c282268a3620f41da67b3f3fb Author: Thomas Gleixner Date: Wed Jun 10 12:45:00 2009 -0700 [IA64] remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 86bc3dfe6a76eb2fd332694f5052c862a3314efd Author: Thomas Gleixner Date: Wed Jun 10 12:45:00 2009 -0700 [IA64] remove obsolete irq_desc_t typedef The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users and remove the typedef. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 8a7c3cd3123d9278d8c505a9c8d0f7a5d7a0b3ca Author: Thomas Gleixner Date: Wed Jun 10 12:44:59 2009 -0700 [IA64] remove obsolete no_irq_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup convert the last remaining users to no_irq_chip Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 78ddb274b9ad81e64f55b19baf83d4a67e351973 Author: Sam Ravnborg Date: Mon Jun 8 19:48:32 2009 +0200 [IA64] unexport fpswa.h fpswa.h is not relevant for userspace, so do not export it. Signed-off-by: Sam Ravnborg Signed-off-by: Tony Luck commit 66765fe1b62e4c0eee3b7e3aa1eb34e5428f52ec Author: Paul Mundt Date: Tue Jun 16 06:26:08 2009 +0900 sh: pci: SH7786 PCI ops. This adds in preliminary support for the SH7786 PCIe module PCI ops, and the corresponding module definitions. Signed-off-by: Paul Mundt commit 8c6b44d00aca45edf69b35220ba4dce962c482f8 Author: Paul Mundt Date: Tue Jun 16 06:01:58 2009 +0900 sh: pci: Allow register_pci_controller() to handle overlapping regions. Some host controllers (such as SH7786) have overlapping regions that are fixed in hardware. The resource allocator does the right thing in managing this space already, so the conflict case is non-fatal. Signed-off-by: Paul Mundt commit 724cfb944007b7f8d346523a7810b53a35921bc5 Author: Magnus Damm Date: Tue Apr 28 08:02:13 2009 +0000 sh: smsc911x support for the rsk7203 board This patch adds support for the LAN9118 ethernet on rsk7203. The LAN9118 controller is hooked up using a 16-bit data bus, but the rsk7203 board does not swap the byte lanes as needed between the sh7203 processor and the the ethernet controller. In the processor the CS memory window is configured in 16-bit mode but the smsc911x driver is told to do 32-bit accesses to improve performance. The SMSC911X_SWAP_FIFO flag is used to tell the driver to do software byte swapping of fifo data. Signed-off-by: Magnus Damm Acked-by: Steve Glendinning Signed-off-by: Paul Mundt commit 2c7eaa43c3bb7b3b9fe2051d17f308c1f0728c78 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 22:16:10 2009 +0200 ide: BUG() on unknown requests Unsupported requests should be never handed down to device drivers and the best thing we can do upon discovering such request inside driver's ->do_request method is to just BUG(). Signed-off-by: Bartlomiej Zolnierkiewicz commit a9c415090710a108edcd81b3392b90396f190a9a Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 22:13:45 2009 +0200 ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bfb151f1f565e6082304a30e8c81dfb6ed0b0c8 Author: Joao Ramos Date: Mon Jun 15 22:13:44 2009 +0200 ide: do not access ide_drive_t 'drive_data' field directly Change ide_drive_t 'drive_data' field from 'unsigned int' type to 'void *' type, allowing a wider range of values/types to be stored in this field. Added 'ide_get_drivedata' and 'ide_set_drivedata' helpers to get and set the 'drive_data' field. Fixed all host drivers to maintain coherency with the change in the 'drive_data' field type. Signed-off-by: Joao Ramos [bart: fix qd65xx build, cast to 'unsigned long', minor Coding Style fixups] Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fa6f4af9f55bc1b753af04276984429d6b5a613 Author: Johannes Berg Date: Mon Jun 15 18:13:58 2009 +0200 mac80211: fix wext bssid/ssid setting When changing to a new BSSID or SSID, the code in ieee80211_set_disassoc() needs to have the old data still valid to be able to disconnect and clean up properly. Currently, however, the old data is thrown away before ieee80211_set_disassoc() is ever called, so fix that by calling the function _before_ the old data is overwritten. This is (one of) the issue(s) causing mac80211 to hold cfg80211's BSS structs forever, and them thus being returned in scan results after they're long gone. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2015 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f0e9a8606ce60880249fd570fbebf4472c3d37c0 Author: Gabor Juhos Date: Mon Jun 15 17:49:11 2009 +0200 ath9k: process rx packet if we are waiting for CAB If we are in PS mode, we have to process the received frame if the SC_OP_WAIT_FOR_CAB bit is set. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7fe96a16486fb617a26b39a4895c7522c50fc555 Author: Gabor Juhos Date: Mon Jun 15 17:49:10 2009 +0200 ath9k: prevent sleeping while we are waiting for CAB We have to remain awake if the SC_OP_WAIT_FOR_CAB flag is set. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 3989279ccc838c7357c75af6090f56f5cb555158 Author: Gabor Juhos Date: Mon Jun 15 17:49:09 2009 +0200 ath9k: restore power mode on error path The ath9k_ps_{wakeup,restore} calls must be in balance. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 624f0de44afa9fbb4ec8396f88d8d54b96a57a7e Author: Johannes Berg Date: Mon Jun 15 16:26:47 2009 +0200 dell-laptop: fix rfkill conversion A polarity error snuck into the rfkill rewrite's dell-laptop conversion, fix it. Signed-off-by: Johannes Berg Tested-by: Oliver Hartkopp Signed-off-by: John W. Linville commit ce0879e324df007f12cc25227102847b92fcafb7 Author: Johannes Berg Date: Mon Jun 15 15:36:38 2009 +0200 rfkill: improve docs Now that the dust has settled a bit, improve the docs on rfkill and include more information about /dev/rfkill. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7e9debe9789456426ec8574ead879e33da19ee57 Author: Johannes Berg Date: Mon Jun 15 13:42:25 2009 +0200 mac80211: disconnect when user changes channel If we do not disconnect when a channel switch is requested, we end up eventually detection beacon loss from the AP and then disconnecting, without ever really telling the AP, so we might just as well disconnect right away. Additionally, this fixes a problem with iwlwifi where the driver will clear some internal state on channel changes like this and then get confused when we actually go clear that state from mac80211. It may look like this patch drops the no-IBSS check, but that is already handled by cfg80211 in the wext handler it provides for IBSS (cfg80211_ibss_wext_siwfreq). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit db2e6bd4e966a36c6b2f1921feb3537e8254415c Author: Johannes Berg Date: Sun Jun 14 17:37:39 2009 +0200 mac80211: add queue debugfs file I suspect that some driver bugs can cause queues to be stopped while they shouldn't be, but it's hard to find out whether that is the case or not without having any visible information about the queues. This adds a file to debugfs that allows us to see the queues' statuses. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b319aae4244f9b4758212605f67cf63207a4fa1 Author: Johannes Berg Date: Sat Jun 13 14:50:26 2009 +0530 ath9k: port to cfg80211 rfkill This ports the ath9k rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. ("With this series a kernel panic, which is a regression, during module unload disappears." -- Vasanthakumar Thiagarajan Other patches in the series: ath9k: Add helper to get ath9k specific current channel ath9k: Make sure we have current channel in ah_curchan before rf disable/enable -- JWL) Signed-off-by: Johannes Berg Cc: Luis Rodriguez Tested-by: Vasanthakumar Thiagarajan Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 159cd468bc885f7a2fbc75bbfe782782e52ef9c9 Author: Vasanthakumar Thiagarajan Date: Sat Jun 13 14:50:25 2009 +0530 ath9k: Make sure we have current channel in ah_curchan before rf disable/enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 82880a7cf9c059c11cd6ad1868c48969956f966b Author: Vasanthakumar Thiagarajan Date: Sat Jun 13 14:50:24 2009 +0530 ath9k: Add helper to get ath9k specific current channel Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 35edf8aae8f903b154d658b9a7eed0d5c1a4a814 Author: Nick Kossifidis Date: Fri Jun 12 16:09:53 2009 -0700 ath5k: fix mesh beaconing This patch is from Nick Kossifidis but he forgot to send it. It ensures that the beacon queue gets started in mesh mode as well, otherwise ath5k will not beacon in mesh point mode. At this time, we still need to issue a scan before mesh beaconing will work but that appears to be a separate problem. Signed-off-by: Andrey Yurovsky Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8a9b99267cb3b51d4e59693c03e1204d86b42445 Author: Abhijeet Kolekar Date: Fri Jun 12 13:22:52 2009 -0700 iwlwifi/iwl3945: fix suspend resume association bug Patch fixes the following bugs at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2005 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2007 If we suspend with an association and then resumed, we need to synchronize the active rxon with staging rxon, else we will get an error when iwl_alive_start try to commit rxon and staging is set to channel 0. Before going to suspend staging and active rxon are in sync. After resuming from the suspend, iwl_mac_start is called and it clears the staging rxon. Patch fixes the bug by not clearing the staging rxon in iwl_mac_start. Patch also adds similar fix to 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 611d3eb72aa7847a1081e6c1ac05fd2012652cde Author: Wey-Yi Guy Date: Fri Jun 12 13:22:51 2009 -0700 iwlwifi: check for channel location for 40MHz for both mixed and pure 40MHz, need to check for valid channel location. if the specified channel not allow the channel location requested (ABOVE, BELOW), then reject the Fat channel access This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1988 ("iwlwifi: checking for 40MHz mode" and "iwlwifi: check control channel for pure 40MHz" combine with this to address the above bug. -- JWL) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 508b08e7121f2083c9e9cd82f10b9088b6bc13fb Author: Wey-Yi Guy Date: Fri Jun 12 13:22:50 2009 -0700 iwlwifi: check control channel for pure 40MHz for pure 40MHz mode, set the control channel location if provided, but not like Mixed mode; if information is not provided, still allow 40MHz operation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8e8df3a08c6f3098b54639ee6892e3753ad5f210 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:49 2009 -0700 iwlwifi: checking for 40MHz mode when checking for 40MHz, compare ht_protection to IEEE80211_HT_OP_MODE_PROTECTION_20MHZ. ht_protection is not a bit-mask field Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d7129e190c3107db8ac11a9e51035641b68d2aa7 Author: Johannes Berg Date: Fri Jun 12 13:22:48 2009 -0700 iwlwifi: revamp bss_info_changed My earlier patch, "mac80211: unify config_interface and bss_info_changed" introduced a bug in iwlwifi where it will do some things incorrectly now when reassociating. Revamp iwl_bss_info_changed to fix that issue and make it easier to read. Also, while at it, add comments about things that it should do but currently doesn't. Finally, also improve the locking in the function. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 87e501b351ed9d837e63f6506b7e66331a69ed58 Author: Sebastian Andrzej Siewior Date: Fri Jun 12 21:37:31 2009 +0200 net/libertas: don't recursive spin lock in if_spi_e2h() |BUG: spinlock recursion on CPU#0, lbs_spi_thread/1030 | lock: dee9a1bc, .magic: dead4ead, .owner: lbs_spi_thread/1030, .owner_cpu: 0 |Call Trace: |[deec3eb0] [c0007220] show_stack+0x4c/0x15c (unreliable) |[deec3ef0] [c0187720] spin_bug+0x9c/0xb0 |[deec3f10] [c0187890] _raw_spin_lock+0x54/0x148 |[deec3f40] [c02d260c] _spin_lock_irqsave+0x2c/0x44 |[deec3f60] [e8671800] lbs_queue_event+0x7c/0x130 [libertas] |[deec3f80] [e8725f04] lbs_spi_thread+0x538/0x58c [libertas_spi] |[deec3fe0] [c004f270] kthread+0x4c/0x88 |[deec3ff0] [c000f33c] kernel_thread+0x4c/0x68 if_spi_e2h() is grabbing ->driver_lock just while calling lbs_queue_event() which is grabbing the same lock. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: John W. Linville commit b3781c74373489fa325ce64efdf72f6c8567b783 Author: Andrey Yurovsky Date: Fri Jun 12 12:45:36 2009 -0700 libertas: fix IEEE PS mode in GSPI driver The card firmware does not set the Command Download Ready interrupt bit when IEEE PS mode is enabled, preventing the driver from sending commands (such as the command to exit IEEE PS mode) since there is no indication that the card is ready to accept commands. This patch works around the problem by using the the TX Download Ready bit in place of the Command Download Ready Bit while in IEEE PS mode. TX Download Ready is set in IEEE PS mode. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 68f2d02669f7102be80aae47155f45e18950d223 Author: Jouni Malinen Date: Thu Jun 11 18:19:45 2009 +0300 mac80211: Do not try to associate with an empty SSID It looks like some programs (e.g., NM) are setting an empty SSID with SIOCSIWESSID in some cases. This seems to trigger mac80211 to try to associate with an invalid configuration (wildcard SSID) which will result in failing associations (or odd issues, potentially including kernel panic with some drivers) if the AP were to actually accept this anyway). Only start association process if the SSID is actually set. This speeds up connection with NM in number of cases and avoids sending out broken association request frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e1f8a19e6fc4f6d4267f6d3fe465553c3688f28e Author: Johannes Berg Date: Thu Jun 11 12:08:15 2009 +0200 sony: fix rfkill code again When the hard state changes, we shouldn't set the soft state to blocked as well -- we have no such indication from the device in that case so leave it untouched. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13458. Signed-off-by: Johannes Berg Reported-by: Reinette Chatre Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b27fc6de184d66347e4aceeb5c0a4262732cc03 Author: Paul Mundt Date: Tue Jun 16 03:58:25 2009 +0900 sh: Set EARLY_SCIF_CONSOLE_PORT sanely for SH7786. Signed-off-by: Paul Mundt commit 03347e2592078a90df818670fddf97a33eec70fb Merge: 19035e5 1dcd775 Author: Linus Torvalds Date: Mon Jun 15 10:38:06 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 compile error in arch/ia64/mm/extable.c commit 19035e5b5d1e3127b4925d86f6a77964f91f2c3c Merge: f9db6e0 eea08f3 Author: Linus Torvalds Date: Mon Jun 15 10:06:19 2009 -0700 Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: Logic to move non pinned timers timers: /proc/sys sysctl hook to enable timer migration timers: Identifying the existing pinned timers timers: Framework for identifying pinned timers timers: allow deferrable timers for intervals tv2-tv5 to be deferred Fix up conflicts in kernel/sched.c and kernel/timer.c manually commit f9db6e095115f9411b9647bdb9d81fe11f3d8b54 Merge: 3f27c0d c81fc2c Author: Linus Torvalds Date: Mon Jun 15 09:58:50 2009 -0700 Merge branch 'timers-for-linus-clockevents' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-clockevents' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: export register_device and delta2ns clockevents: tick_broadcast_device can become static commit 3f27c0d2a469673e0f1efc8004b6f42428aa5b94 Merge: 9aaa630 cd6d95d Author: Linus Torvalds Date: Mon Jun 15 09:58:33 2009 -0700 Merge branch 'timers-for-linus-clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: prevent selection of low resolution clocksourse also for nohz=on clocksource: sanity check sysfs clocksource changes commit 3779f818a42879038c4be8bc83123432b774279d Author: Sergei Shtylyov Date: Mon Jun 15 18:53:00 2009 +0200 sl82c105: implement test_irq() method Implement test_irq() method. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ec053e4ee98b6e5a9ecf97754837b6fc989774f0 Author: Sergei Shtylyov Date: Mon Jun 15 18:53:00 2009 +0200 siimage: implement test_irq() method Implement test_irq() method based on the driver's former dma_test_irq() methods. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e0321fbe6d34b4bb514fb6daff9e0859e5d76001 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:59 2009 +0200 pdc202xx_old: implement test_irq() method (take 2) Implement test_irq() method based on the driver's former dma_test_irq() method. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 628df2f33d99dace08838779d8a02bf1deaff100 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:59 2009 +0200 cmd64x: implement test_irq() method Convert the driver's two dma_test_irq() methods into test_irq() methods. The driver will now use the standard dma_test_irq() method implementation which allows to remove 'cmd54x_dma_ops' and 'cmd648_dma_ops' that become identical to 'sff_dma_ops'... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 87441db22f95f03d4a91e2e250d88eafb1622b22 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:58 2009 +0200 cmd640: implement test_irq() method Implement test_irq() method, adding the drive 2/3 interrupt bit definition. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f4d3ffa52a402ec9e8699571cf3811763d284459 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:58 2009 +0200 ide: move ack_intr() method into 'struct ide_port_ops' (take 2) Move the ack_intr() method into 'struct ide_port_ops', also renaming it to test_irq() while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eba8999cefb6b61704d8fa825b7694825a087765 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:57 2009 +0200 ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2) There are now two methods that clear the port interrupt: ack_intr() method, implemented only on M680x0 machines, that is called at the start of ide_intr(), and clear_irq() method, that is called somewhat later in this function. In order to stop this duplication, delegate the task of clearing the interrupt to clear_irq() method, only leaving to ack_intr() the task of testing for the port interrupt. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 74414a91204ee57528041f771da1fd1ee3ba64c4 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:57 2009 +0200 siimage: use ide_dma_test_irq() (take 2) Remove interrupt bit test (not trusted anyway) from siimage_io_dma_test_irq() and siimage_mmio_dma_test_irq() -- this allows to replace the former function with now identical ide_dma_test_irq()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 30e5ffc368ff7d96fbc7a51ede10809642b0a6df Author: Sergei Shtylyov Date: Mon Jun 15 18:52:56 2009 +0200 cmd64x: implement clear_irq() method (take 2) Convert the driver's two dma_end() methods into clear_irq() methods -- the driver will now use the standard dma_end() method implementation, ide_dma_end(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 53b987d5e7e8d5be3b84522149907fa7ac95526e Author: Sergei Shtylyov Date: Mon Jun 15 18:52:55 2009 +0200 ide: call clear_irq() method in ide_timer_expiry() Now the clear_irq() method is called only from ide_intr() but ide_timer_expiry() also should call this method in case when drive_is_ready() succeeds... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ccae50bcf9b8a2365e8050ccdd20b172db7b9be1 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:55 2009 +0200 sgiioc4: coding style cleanup Fix several errors and warnings given by checkpatch.pl: - space between the asterisk and parameter name; - inconsistent spacing between operator and operands; - space between *sizeof* and open parenthesis; - #include instead of #include - use of *typedef* instead of a structure tag; - line over 80 characters. In addition to these changes, also do the following: - indent with tabs instead of spaces; - put the function's result type and name/parameters on the same line; - join back the needlessly broken lines; - get rid of needless type cast in sgiioc4_checkirq(); - remove space between the type cast and the variable name; - remove commented out field initializer; - uppercase the acronyms, lowercase the normal words in the comments; - fix up the multi-line comment style... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5880b5de7101cc123778c5d17d4f3986351f3122 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:54 2009 +0200 ide: don't enable IORDY at a probe time * Add 'unsigned long port_flags' field to ide_hwif_t. * Add IDE_PFLAG_PROBING port flag and keep it set during probing. * Fix ide_pio_need_iordy() to not enable IORDY at a probe time (IORDY may lead to controller lock up on certain controllers if the port is not occupied). Loosely based on the recent libata's fix by Tejun, thanks to Alan for the hint that IDE may also need it. Signed-off-by: Bartlomiej Zolnierkiewicz commit c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:53 2009 +0200 ide: IORDY handling fixes Add ide_pio_need_iordy() helper and convert host drivers to use it. This fixes it8172, it8213, pdc202xx_old, piix, slc90e66 and siimage host drivers to handle IORDY correctly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dae44f9a55f13765c877687602cd2bf1a057cfd Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:52 2009 +0200 ata: add ata_id_pio_need_iordy() helper (v2) v2: Minor fixes per Sergei's review. Cc: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 79ca743f68a94443518f165355d4327bc0f87632 Author: Borislav Petkov Date: Mon Jun 15 07:32:04 2009 +0200 ide-tape: fix build issue This fixes drivers/ide/ide-tape.c: In function `idetape_chrdev_open': drivers/ide/ide-tape.c:1515: error: implicit declaration of function `idetape_read_position' make[1]: *** [drivers/ide/ide-tape.o] Error 1 Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aaa630503f20461bee65ebc4fd87ba8d7a2bd2c Merge: 2ed0e21 e13cf6e Author: Linus Torvalds Date: Mon Jun 15 09:43:24 2009 -0700 Merge branch 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ntp: fix comment typos ntp: adjust SHIFT_PLL to improve NTP convergence commit 2ed0e21b30b53d3a94e204196e523e6c8f732b56 Merge: 0fa2133 9cbc1cb Author: Linus Torvalds Date: Mon Jun 15 09:40:05 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: (1244 commits) pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US ipv4: Fix fib_trie rebalancing Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver Bluetooth: Fix Kconfig issue with RFKILL integration PIM-SM: namespace changes ipv4: update ARPD help text net: use a deferred timer in rt_check_expire ieee802154: fix kconfig bool/tristate muckup bonding: initialization rework bonding: use is_zero_ether_addr bonding: network device names are case sensative bonding: elminate bad refcount code bonding: fix style issues bonding: fix destructor bonding: remove bonding read/write semaphore bonding: initialize before registration bonding: bond_create always called with default parameters x_tables: Convert printk to pr_err netfilter: conntrack: optional reliable conntrack event delivery list_nulls: add hlist_nulls_add_head and hlist_nulls_del ... commit 52b5226f481c09cc499cc28b1e9347d314b340f1 Author: Christian Engelmayer Date: Mon Jun 15 18:39:52 2009 +0200 hwmon: (max6650) Add support for alarms Export the alarm flags provided by the MAX6650/MAX6651 fan-speed regulator and monitor chips via sysfs. Signed-off-by: Christian Engelmayer Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 09475d32e652fe60901fe8c9cd50f3f6db0c4933 Author: Hans de Goede Date: Mon Jun 15 18:39:52 2009 +0200 hwmon: (f71882fg) Add support for the F71858F Add support for the hwmon part of the Fintek F71858FG superio IC to the f71882fg driver. Many thanks to Jelle de Jong for lending me a motherboard with this superio on it. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit b6858bca8d7bf52e2564cba5a5ed87e1019d3fd9 Author: Hans de Goede Date: Mon Jun 15 18:39:51 2009 +0200 hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000 While working on f71852fg support I noticed that the f8000 sysfs attr table was missing entries for temp#_fault, which the f8000 does have and which we were already reading. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 996cadb2bf3787adcf4e164e1b351966c9e787f6 Author: Hans de Goede Date: Mon Jun 15 18:39:51 2009 +0200 hwmon: (f71882fg) Sanity check f8000 pwm settings We depend up on the pwm_enable register (0x96) not containing any reserved settings in various places. We were already checking to make sure there were no reserved settings in the register for the f71862fg, this patch adds the same checking for the f8000, while at it it also moves the code to a more apropriate place so we don't need to check if the fan/pwm part of the IC is enabled twice. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 3fc7838a20cdd9aab0077f355b8c44135cd4b6bd Author: Hans de Goede Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: (f71882fg) Cleanup f8000 pwm handling Currently we are using separate per model sysfs attr for the 3th pwm, because the 3th pwm of the f8000 only has automatic mode and not manual mode. Doing things this way was getting in the way for adding f71858fg support, so this patch makes the pwm attr identical for all models, and instead adds a check to store_pwm_enable() disallowing setting the 3th pwm to manual mode on a f8000 IC. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 2958b1ec6be1d71105d67d70de9d7d70f5e97151 Author: Jean Delvare Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: PCI quirk for hwmon access on MSI MS-7031 board The MSI MS-7031 is based on an ATI IXP300 south bridge. On this south bridge, accessible I/O ports must be enabled explicitly. Unfortunately the BIOS forgets to enable access to the hardware monitoring chip I/O ports, so hardware monitoring fails. Add a quirk enabling access to the required ports (0x295-0x296). This is exactly what MSI's own hardware monitoring application is doing, so it has to be the right way. Signed-off-by: Jean Delvare commit c1e48dce05ff06266cdfd0cba55fc5367cd499a5 Author: Jean Delvare Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: (w83627ehf) Add W83627DHG-P support Add support for the new incarnation of the Winbond/Nuvoton W83627DHG chip known as W83627DHG-P. It is basically the same as the original W83627DHG with an additional automatic can speed control mode (not supported by the driver yet.) Signed-off-by: Jean Delvare Tested-by: Madhu commit cd4e96c5dd4a72bdc54ea9981e02465708c204d3 Author: Andre Prendel Date: Mon Jun 15 18:39:49 2009 +0200 hwmon: (tmp401) Add documentation Documentation for the tmp401 driver. The documentation describes the tmp401 driver and the supported Texas Instruments TMP401 and TMP411 temperature sensor chips. Further documentation for new sysfs attributes supported by this driver is added to Documentation/hwmon/sysfs-interface. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit fce0758f5990b34af4ffba589b23f25c700beb2f Author: Andre Prendel Date: Mon Jun 15 18:39:47 2009 +0200 hwmon: (tmp401) Add support for TI's TMP411 sensors chip This adds support for TI's TMP411 sensor chip. Preliminary support were done by Gabriel Konat, Sander Leget and Wouter Willems. The chip is compatible with TI's TMP401 sensor chip. It has additional support for historical minimun/maximum measurements. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit ab2b79d5e22d3cdd2b191e479c60e69df528369a Author: Hans de Goede Date: Mon Jun 15 18:39:46 2009 +0200 hwmon: (tmp401) Add support for TI's TMP401 sensor chip This is a new hwmon driver for TI's TMP401 temperature sensor IC. This driver was written on behalf of an embedded systems vendor under the Linux driver project. It has been tested using a TI TMP401 sample attached to a i2c-tiny-usb adapter. Which was provided by Till Harbaum, many thanks to him for this! Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 8070408b5446232ba6eb6e0809a329da58a6ae52 Author: Darrick J. Wong Date: Mon Jun 15 18:39:46 2009 +0200 hwmon: (ibmaem) Automatically load on HC10 blade Enable auto-probing for the HC10 blade and amend the supported system list. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit cd659fd0d7c91b7830d1fea0c76a640e171d2d43 Author: Jean Delvare Date: Mon Jun 15 18:39:45 2009 +0200 hwmon: Fix more __devexit_p glitches Make sure __devexit and devexit_p() match in all hwmon drivers. Suggested by a similar fix from Mike Frysinger. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Acked-by: Jonathan Cameron commit 0fa213310cd8fa7a51071cdcf130e26fa56e9549 Merge: d3bf80b bc47ab0 Author: Linus Torvalds Date: Mon Jun 15 09:32:52 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (103 commits) powerpc: Fix bug in move of altivec code to vector.S powerpc: Add support for swiotlb on 32-bit powerpc/spufs: Remove unused error path powerpc: Fix warning when printing a resource_size_t powerpc/xmon: Remove unused variable in xmon.c powerpc/pseries: Fix warnings when printing resource_size_t powerpc: Shield code specific to 64-bit server processors powerpc: Separate PACA fields for server CPUs powerpc: Split exception handling out of head_64.S powerpc: Introduce CONFIG_PPC_BOOK3S powerpc: Move VMX and VSX asm code to vector.S powerpc: Set init_bootmem_done on NUMA platforms as well powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock powerpc/mm: Fix some SMP issues with MMU context handling powerpc: Add PTRACE_SINGLEBLOCK support fbdev: Add PLB support and cleanup DCR in xilinxfb driver. powerpc/virtex: Add ml510 reference design device tree powerpc/virtex: Add Xilinx ML510 reference design support powerpc/virtex: refactor intc driver and add support for i8259 cascading powerpc/virtex: Add support for Xilinx PCI host bridge ... commit d3bf80bff13597004b5724ee4549cd68eb0badf0 Merge: 9c7cb99 c8f1e50 Author: Linus Torvalds Date: Mon Jun 15 09:27:37 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: regulator/max1586: fix V3 gain calculation integer overflow regulator/max1586: support increased V3 voltage range regulator: lp3971 - fix driver link error when built-in. LP3971 PMIC regulator driver (updated and combined version) regulator: remove driver_data direct access of struct device regulator: Set MODULE_ALIAS for regulator drivers regulator: Support list_voltage for fixed voltage regulator regulator: Move regulator drivers to subsys_initcall() regulator: build fix for powerpc - renamed show_state regulator: add userspace-consumer driver Maxim 1586 regulator driver commit 1dcd775eb302f897865bbab8779ae4165c13cd7e Author: Rusty Russell Date: Sat Jun 13 14:50:15 2009 +0930 [IA64] fix compile error in arch/ia64/mm/extable.c ad6561dffa17f17bb68d7207d422c26c381c4313 ("module: trim exception table on init free.") put a bogus trim_init_extable() function into ia64 which didn't compile. Signed-off-by: Rusty Russell Signed-off-by: Tony Luck commit 9c7cb99a8202452d3e0440a5505c5c6d262771d9 Merge: 0a8eba9 c3a7abf Author: Linus Torvalds Date: Mon Jun 15 09:13:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (22 commits) nilfs2: support contiguous lookup of blocks nilfs2: add sync_page method to page caches of meta data nilfs2: use device's backing_dev_info for btree node caches nilfs2: return EBUSY against delete request on snapshot nilfs2: modify list of unsupported features in caveats nilfs2: enable sync_page method nilfs2: set bio unplug flag for the last bio in segment nilfs2: allow future expansion of metadata read out via get info ioctl NILFS2: Pagecache usage optimization on NILFS2 nilfs2: remove nilfs_btree_operations from btree mapping nilfs2: remove nilfs_direct_operations from direct mapping nilfs2: remove bmap pointer operations nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function nilfs2: move get block functions in bmap.c into btree codes nilfs2: remove nilfs_bmap_delete_block nilfs2: remove nilfs_bmap_put_block nilfs2: remove header file for segment list operations nilfs2: eliminate removal list of segments nilfs2: add sufile function that can modify multiple segment usages ... commit 036533e232922ec6667817de9b037d0b1ebd062e Author: Jean Delvare Date: Mon Jun 15 18:01:52 2009 +0200 therm_windtunnel: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the ppc therm_windtunnel driver to the new model or it will break. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 2e613e7f69226bd020987bbf0c2ee251c019ab33 Author: Jean Delvare Date: Mon Jun 15 18:01:51 2009 +0200 therm_adt746x: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the ppc therm_adt746x driver to the new model or it will break. Signed-off-by: Jean Delvare Tested-by: Andreas Schwab Tested-by: Paul Mackerras Cc: Benjamin Herrenschmidt commit 351ca3e31197929535418f5affc761cd9fb07428 Author: Jean Delvare Date: Mon Jun 15 18:01:51 2009 +0200 windfarm: Convert to new-style i2c drivers The legacy i2c binding model is going away soon, so convert the macintosh windfarm drivers to the new model or they will break. Signed-off-by: Jean Delvare Tested-by: Johannes Berg Tested-by: Paul Mackerras Cc: Benjamin Herrenschmidt commit 1b9f37d488f09342610b29ac1c8e734e540932ab Author: Jean Delvare Date: Mon Jun 15 18:01:50 2009 +0200 therm_pm72: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the macintosh therm_pm72 driver to the new model or it will break. This is really a quick and dirty conversion, that should do the trick for now, but no doubt that something cleaner can be done if anyone is interested. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Tested-by: Paul Mackerras commit a231591f0427cfb91ae247be974a7fa0e6b37389 Author: Harald Welte Date: Mon Jun 15 18:01:49 2009 +0200 i2c-viapro: Add new PCI device ID for VX855 The south bridge of the VIA VX855 chipset has a different PCI Device ID so i2c-viapro.c needs to be updated with this. Signed-off-by: Harald Welte Signed-off-by: Jean Delvare commit 4b364f230a5ef984818837ec7c2be0884eac191c Author: Wolfram Sang Date: Mon Jun 15 18:01:49 2009 +0200 i2c/chips: Move max6875 to drivers/misc/eeprom This driver only reads the user EEPROM of that chip, so we can move it to the eeprom-directory in order to further clean up (and later remove) drivers/i2c/chips. The Kconfig text was updated to match the current functionality, dropping the meanwhile obsoleted parts. Defconfigs have been adapted. Signed-off-by: Wolfram Sang Acked-by: Ben Gardner Signed-off-by: Jean Delvare commit c52cf01f5b35d77b2a918c319e22567de5c3c15f Author: Jean Delvare Date: Mon Jun 15 18:01:48 2009 +0200 i2c: Do not give adapters a default parent We don't need to give adapters a parent if they don't have one. The driver core will put them in the virtual device directory and all will be fine. Signed-off-by: Jean Delvare commit fa1b2ca4fa271f9300a764b9d505a027156f749b Author: Jean Delvare Date: Mon Jun 15 18:01:48 2009 +0200 i2c: Do not probe for TV chips on Voodoo3 adapters There's no point in giving the I2C bus of Voodoo3 adapters a class value, there's no video chip driver checking for it anymore. If support is ever needed, the video device should be instantiated explicitly rather than probed. To the best of my knowledge the only video chip that can be found on these boards is a BT869 video encoder, for which no support exists currently. Signed-off-by: Jean Delvare Acked-by: Krzysztof Helt commit 66b650f04576a6737579ec404446450026ff2e0b Author: Clifford Wolf Date: Mon Jun 15 18:01:46 2009 +0200 i2c: Retry automatically on arbitration loss Some small changes in i2c core to retry i2c xfers until either the maximum number of retries or the timeout is hit. Signed-off-by: Clifford Wolf Signed-off-by: Jean Delvare commit 1cf92b453a405f6e452737962933a19ec1582029 Author: Jack Stone Date: Mon Jun 15 18:01:46 2009 +0200 i2c: Remove void casts Remove uneeded void casts. Signed-off-by: Jack Stone Signed-off-by: Jean Delvare commit 8e7c25971b1590776a90b249de3d859dd45e7414 Author: Rusty Russell Date: Fri Jun 12 20:58:37 2009 +0930 [CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c Remove all old-style cpumask operators, and cpumask_t. Also: get rid of the unused define_siblings function. Signed-off-by: Rusty Russell Acked-by: Mark Langsdorf Tested-by: Mark Langsdorf Signed-off-by: Dave Jones commit 1ff6e97f1d993dff2f9b6f4a9173687370660232 Author: Rusty Russell Date: Fri Jun 12 20:55:37 2009 +0930 [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c cpumask: avoid playing with cpus_allowed in powernow-k8.c It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). I did not replace powernowk8_target; it needs fixing, but it grabs a mutex (so no smp_call_function_single here) but Mark points out it can be called multiple times per second, so work_on_cpu is too heavy. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Acked-by: Mark Langsdorf Tested-by: Mark Langsdorf Signed-off-by: Dave Jones commit e3f996c26ff6c4c084aaaa64dce6e54d31f517be Author: Rusty Russell Date: Thu Jun 11 22:59:58 2009 +0930 [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c Impact: don't play with current's cpumask It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). Use rdmsr_on_cpu and wrmsr_on_cpu instead. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Cc: Jeremy Fitzhardinge Signed-off-by: Dave Jones commit 394122ab144dae4b276d74644a2f11c44a60ac5c Author: Rusty Russell Date: Thu Jun 11 22:59:58 2009 +0930 [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c Impact: don't play with current's cpumask It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). We use smp_call_function_single: this had the advantage of being more efficient, too. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Cc: Dominik Brodowski Signed-off-by: Dave Jones commit e15bc4559b397a611441a135b1f5992f07d0f436 Author: Naga Chumbalkar Date: Thu Jun 11 15:26:54 2009 +0000 [CPUFREQ] powernow-k8: get drv data for correct CPU Make powernowk8_get() similar to powernowk8_target() and powernowk8_verify() in the way it obtains "powernow_data" for a given CPU. Cc: Andreas Herrmann Cc: Langsdorf, Mark Cc: Thomas Renninger Signed-off-by: Naga Chumbalkar Reviewed-by: Andreas Herrmann Tested-by: Andreas Herrmann Acked-by: Langsdorf, Mark Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 532cfee6ba0a8efcf7c3ce38b9881292d79d516e Author: Naga Chumbalkar Date: Thu Jun 11 15:26:48 2009 +0000 [CPUFREQ] powernow-k8: read P-state from HW By definition, "cpuinfo_cur_freq" should report the value from HW. So, don't depend on the cached value. Instead read P-state directly from HW, while taking into account the erratum 311 workaround for Fam 11h processors. Cc: Andreas Herrmann Cc: Langsdorf, Mark Cc: Thomas Renninger Signed-off-by: Naga Chumbalkar Reviewed-by: Andreas Herrmann Tested-by: Andreas Herrmann Acked-by: Langsdorf, Mark Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit b394f1dfc070e6f50f5f33694000815e50ef319d Author: Andrew Morton Date: Wed Jun 10 12:41:37 2009 -0700 [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[] This symbol doesn't need file-global scope. Cc: "Zhang, Rui" Cc: Dave Jones Cc: Ingo Molnar Cc: Langsdorf, Mark Cc: Leo Milano Cc: Thomas Renninger Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 931db6a32dbfaad627e89d0524979ce9cb894691 Author: Dave Jones Date: Mon Jun 1 12:29:55 2009 -0400 [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier() Christoph Hellwig noticed the following potential uninitialised use: > arch/x86/kernel/tsc.c: In function 'time_cpufreq_notifier': > arch/x86/kernel/tsc.c:634: warning: 'dummy' may be used uninitialized in this function > > where we do have CONFIG_SMP set, freq->flags & CPUFREQ_CONST_LOOPS is > true and ref_freq is false. It seems plausable, though the circumstances for hitting it are really low. Nearly all SMP capable cpufreq drivers set CPUFREQ_CONST_LOOPS. powernow-k8 is really the only exception. The older CPUs were typically only ever UP. (powernow-k7 never supported SMP for eg) It's worth fixing regardless, as it cleans up the code. Fix possible uninitialized use of dummy, by just removing it, and making the setting of lpj more obvious. Signed-off-by: Dave Jones commit 51555c0e91160f6d4c6c1cb7a44d20ea346aed08 Author: Chumbalkar Nagananda Date: Thu May 21 23:29:48 2009 +0000 [CPUFREQ] minor correction to cpu-freq documentation I have been reading the documentation for cpufreq closely. Found a couple of minor errors in the Documentation. Signed-off-by: Naga Chumbalkar Signed-off-by: Dave Jones commit 21335d021464c3ba3c20fc7207ffe2bdd2458568 Author: Luis Henriques Date: Thu Apr 23 19:45:04 2009 +0100 [CPUFREQ] powernow-k8.c: mess cleanup Mess cleanup in powernow_k8_acpi_pst_values() function. Signed-off-by: Luis Henriques Signed-off-by: Dave Jones commit 4f4d1ad6ee69027f51f9d137f7e7d3c863cbc53d Author: Thomas Renninger Date: Wed Apr 22 13:48:31 2009 +0200 [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful Update the documentation accordingly. Cleanup and use printk_once. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 86e13684aa77f07c77db352f437d9e53a84dde90 Author: Thomas Renninger Date: Wed Apr 22 13:48:30 2009 +0200 [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0 This doesn't fix anything, but it's expected that a transition latency of 0 could cause trouble in the future. Signed-off-by: Thomas Renninger Cc: Langsdorf, Mark Signed-off-by: Dave Jones commit cef9615a853ebc4972084f7e70b52892557420ac Author: Thomas Renninger Date: Wed Apr 22 13:48:29 2009 +0200 [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case With this patch you have following minimal sampling rate restrictions: Kernel restrictions: If CONFIG_NO_HZ is set, the limit is 10ms fixed. If CONFIG_NO_HZ is not set or no_hz=off boot parameter is used, the limits depend on the CONFIG_HZ option: HZ=1000: min=20000us (20ms) HZ=250: min=80000us (80ms) HZ=100: min=200000us (200ms) HW restrictions: Do not sample/poll more often than HW latency * 100 exported by the low level cpufreq HW driver The higher value of above restrictions is the minimal sampling rate that can be set (and can be seen via ondemand/sampling_rate_min sysfs file) Default sampling rate still is HW latency * 1000, but this will now end up in lower values on latest (Intel and AMD) hardware as these can switch really fast and sampling rate mostly was limited to the 80ms or 200ms (depending on whether HZ=250 or HZ=1000 is used). Signed-off-by: Thomas Renninger Cc: Pallipadi Venkatesh Signed-off-by: Dave Jones commit c7b0930857e2278f2e7714db6294e94c57f623b0 Author: Steven Rostedt Date: Thu Jun 11 11:12:00 2009 -0400 ring-buffer: prevent adding write in discarded area This a very tight race where an interrupt could come in and not have enough data to put into the end of a buffer page, and that it would fail to write and need to go to the next page. But if this happened when another writer was about to reserver their data, and that writer has smaller data to reserve, then it could succeed even though the interrupt moved the tail page. To pervent that, if we fail to store data, and by subtracting the amount we reserved we still have room for smaller data, we need to fill that space with "discarded" data. [ Impact: prevent race were buffer data may be lost ] Signed-off-by: Steven Rostedt commit 0ac2058f686a19fe8ab25c4f3104fc1580dce7cf Author: Li Zefan Date: Mon Jun 15 10:59:17 2009 +0800 tracing/filters: strloc should be unsigned short I forgot to update filter code accordingly in "tracing/events: change the type of __str_loc_item to unsigned short" (commt b0aae68cc5508f3c2fbf728988c954db4c8b8a53) It can cause system crash: # echo 1 > tracing/events/irq/irq_handler_entry/enable # echo 'name == eth0' > tracing/events/irq/irq_handler_entry/filter [ Impact: fix crash while filtering on __string() field ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B905.3090500@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5e4904cb633177046bee5d26946a7ac918e642fc Author: Li Zefan Date: Mon Jun 15 10:58:39 2009 +0800 tracing/filters: operand can be negative This should be a bug: # cat format name: foo_bar ID: 71 format: ... field:int bar; offset:24; size:4; # echo 'bar < 0' > filter # echo 'bar < -1' > filter bash: echo: write error: Invalid argument [ Impact: fix to allow negative operand in filer expr ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B8DF.60400@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit e4f2d10f479d18198ebafcb5e124cc3dd8b8817a Author: Li Zefan Date: Mon Jun 15 10:57:28 2009 +0800 tracing: replace a GFP_ATOMIC with GFP_KERNEL allocation Atomic allocation is not needed here. [ Impact: clean up of memory alloction type ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B898.2050607@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 215368e8e59023d6a0abdda896923018d74fdf7f Author: Li Zefan Date: Mon Jun 15 10:56:42 2009 +0800 tracing: fix a typo in tracing_cpumask_write() It's tracing_cpumask_new that should be kfree()ed. This causes tracing_cpumask to be freed due to the typo: # echo z > tracing_cpumask bash: echo: write error: Invalid argument And subsequent reads/writes to tracing_cpuamsk will access this already-freed tracing_cpumask, thus may lead to crash. [ Impact: fix leak and crash when writing invalid val to tracing_cpumask ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B86A.7070608@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 78be6914cb5c6d648617c51bb99bf81f28471d89 Author: Wu Zhangjin Date: Sun Jun 14 14:52:30 2009 +0800 tracing: fix undeclared 'PAGE_SIZE' in include/linux/trace_seq.h when compiling linux-mips with kmemtrace enabled, there will be an error: include/linux/trace_seq.h:12: error: 'PAGE_SIZE' undeclared here (not in a function) I checked the source code and found trace_seq.h used PAGE_SIZE but not included the relative header file, so, fix it via adding the header file Acked-by: Frederic Weisbecker Acked-by: Pekka Enberg Signed-off-by: Wu Zhangjin LKML-Reference: <1244962350-28702-1-git-send-email-wuzhangjin@gmail.com> Signed-off-by: Steven Rostedt commit 3f237a79ddeea34dda67e9eedece3a22918df75e Author: Rusty Russell Date: Fri Jun 12 21:15:30 2009 +0930 cpumask: use new operators in kernel/trace Signed-off-by: Rusty Russell LKML-Reference: <200906122115.30787.rusty@rustcorp.com.au> Signed-off-by: Steven Rostedt commit 0990b1c65729012a63e0eeca93aaaafea4e9a064 Author: Peter Zijlstra Date: Mon Jun 15 16:46:05 2009 +0200 x86: Add NMI types for kmap_atomic, fix I just realized this has a kmap_atomic bug in... The below would fix it - but it's complicating this code some more. Alternatively I would have to introduce something like pte_offset_map_irq() which would make the irq/nmi detection and leave the regular code paths alone, however that would mean either duplicating the gup_fast() pagewalk or passing down a pte function pointer, which would only duplicate the gup_pte_range() bit, neither is really attractive ... Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit ea4431906d86686e541de527915ccbe556761b16 Author: James Bottomley Date: Sat Jun 13 12:19:05 2009 -0500 [SCSI] aic79xx: make driver respect nvram for IU and QAS settings This patch allows the Adaptec firmware to pass on its values for Packetize and QAS. To do this, the settings max_iu and max_qas have been introduced into the SPI transport class and populated from the adaptec NVram tables. Domain validation in the SPI transport class will respect the max settings when configuring to the highest possible speed for testing. Signed-off-by: James Bottomley commit 4aa312b96f3220103e60c32740452a336dab6260 Author: James Bottomley Date: Sat Jun 13 09:21:43 2009 -0500 [SCSI] don't attach ULD to Dell Universal Xport We already have blacklists for SGI, IBM and SUN versions of this; apparently there's a Dell version too. Reported-by: Thomas Witzel Signed-off-by: James Bottomley commit c667940902aec32c7ec90aa74b8b661619460f56 Author: James Smart Date: Wed Jun 10 17:23:24 2009 -0400 [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3 Signed-off-by: James Smart Signed-off-by: James Bottomley commit bbb9d18009373bc74bfeba760097de277f395858 Author: James Smart Date: Wed Jun 10 17:23:16 2009 -0400 [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint Patch was originally submitted upstream on 4/21/2008: http://marc.info/?l=linux-scsi&m=120880973719266&w=2 Somewhere, it never get merged. The patch restructures the task mgmt routines, commonizing like behavior. Then the patch changes device reset to LUN resets, and adds a target reset handler. Signed-off-by: James Smart Signed-off-by: James Bottomley commit d11e31ddb9718755dc96e1c018843ae6f5bb085e Author: James Smart Date: Wed Jun 10 17:23:06 2009 -0400 [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash Contains the following changes: - Fixed error paths retaking a spin lock which they already hold - Added code to free memory in a couple of error paths - Added code to free RPI bit map while unloading driver - Added code to write zero to memory object allocated through dma_alloc_coherent - Fixed crash/hang with target or LUN resets Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0c2875893ef27b93d5d3221f8f98ae944d6be5fa Author: James Smart Date: Wed Jun 10 17:22:56 2009 -0400 [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes Contains the following changes: - Force vport to send LOGO to fabric controller when deleting vport - Fixed driver failing to register login when a PLOGI is received - Fixes for FIP discovery - Added stricter checks for FCF addressing mode - Added code to send only FLOGI, FDISC and LOGO to Fabric controller as FIP - Fixed handling of LOGO from Fabric port - Fixed consecutive link up events skipped link_down processing Signed-off-by: James Smart Signed-off-by: James Bottomley commit f1126688805d77a4798b694439fa48bba6629388 Author: James Smart Date: Wed Jun 10 17:22:44 2009 -0400 [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences Contains the following changes - Set the CT field of FDISC to 3 - Fixed over allocation of SCSI buffers on SLI4 - Removed unused jump table entries - Increase LPFC_WQE_DEF_COUNT to 256 - Updated FDISC context to VPI - Fixed immediate SCSI command for LUN reset translation to WQE - Extended mailbox handling to allow MBX_POLL commands in between async MBQ commands - Fixed SID used for FDISC - Fix crash when accessing ctlregs from sysfs for SLI4 HBAs - Fix SLI4 firmware version not being saved or displayed correctly - Expand CQID field in WQE structure to 16 bits - Fix post header template mailbox command timing out - Removed FCoE PCI device ID 0x0705 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 43fac4d97a1a30085f1cae61aa565e5e7e5e5d7d Author: Anirban Chakraborty Date: Wed Jun 10 13:55:11 2009 -0700 [SCSI] qla2xxx: Resolve a performance issue in interrupt Reverted back a change in qla*_intr_handler code that caused an increase in cpu cycles by allowing interrupts to occur while the instance hardware lock was being held. Fix by taking the lock in irqsave mode. Reported-and-tested-by: Douglas W. Styner Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit babdb788f7ec1a782a52240a5f6dae568f32565f Author: Michael Chan Date: Wed Jun 10 13:35:28 2009 -0700 [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set. CNIC and BNX2I must depend on PCI. Dependencies do not get propagated through select. Signed-off-by: Michael Chan Signed-off-by: James Bottomley commit 0454c7408ac533a0690cb308554a4ed304270c3d Author: Roel Kluin Date: Wed Jun 10 12:56:59 2009 -0700 [SCSI] nsp_cs: time_out reaches -1 With a postfix decrement timeouts will reach -1 rather than 0, so the errors do not appear. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 18020ba7915efe5763c1cbb11f9f7e3f85b3cb72 Author: Randy Dunlap Date: Wed Jun 10 12:56:58 2009 -0700 [SCSI] qla2xxx: fix printk format warnings Fix qla2xxx printk format warnings: drivers/scsi/qla2xxx/qla_sup.c:915: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/qla2xxx/qla_sup.c:915: warning: long long unsigned int format, u64 arg (arg 6) drivers/scsi/qla2xxx/qla_sup.c:923: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/qla2xxx/qla_sup.c:923: warning: long long unsigned int format, u64 arg (arg 6) Signed-off-by: Randy Dunlap Acked-by: Seokmann Ju Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 36c7b3029784323d46d80b3262a4c1ab664eb0a3 Author: Roel Kluin Date: Wed Jun 10 12:56:57 2009 -0700 [SCSI] ncr53c8xx: div reaches -1 With while(--div >= 0) { ... } div reaches -1. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit df59c0ad05182329688e514e5a9c3836fa208ea3 Author: Alexey Zaytsev Date: Wed Jun 10 12:56:56 2009 -0700 [SCSI] compat: don't perform unneeded copy in sg_io code The members from 'status' in struct sg_io_hdr to the last are used to transfer information from kernel to user space. The values that user space sets are just ignored. Signed-off-by: Alexey Zaytsev Acked-by: Jens Axboe Acked-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e2eae0f5605b90a0838608043c21050b08b6dd95 Author: Ingo Molnar Date: Mon Jun 15 16:15:19 2009 +0200 perf report: Fix 32-bit printf format Yong Wang reported the following compiler warning: builtin-report.c: In function 'process_overflow_event': builtin-report.c:984: error: cast to pointer from integer of different size Which happens because we try to print ->ips[] out with a limited format, losing the high 32 bits. Print it out using %016Lx instead. Reported-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9974458e2f9a11dbd2f4bd14fab5a79af4907b41 Author: Paul Mackerras Date: Mon Jun 15 21:45:16 2009 +1000 perf_counter: Make set_perf_counter_pending() declaration common At present, every architecture that supports perf_counters has to declare set_perf_counter_pending() in its arch-specific headers. This consolidates the declarations into a single declaration in one common place, include/linux/perf_counter.h. On powerpc, we continue to provide a static inline definition of set_perf_counter_pending() in the powerpc hw_irq.h. Also, this removes from the x86 perf_counter.h the unused null definitions of {test,clear}_perf_counter_pending. Reported-by: Mike Frysinger Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: benh@kernel.crashing.org LKML-Reference: <18998.13388.920691.523227@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 90c8f954534ba15e4542ab00dd9f0e58b071518c Author: Paul Mackerras Date: Mon Jun 15 21:36:52 2009 +1000 perf_counter: powerpc: Fix two compile warnings This fixes a couple of compile warnings that crept into the powerpc perf_counter code recently: CC arch/powerpc/kernel/perf_counter.o arch/powerpc/kernel/perf_counter.c: In function 'record_and_restart': arch/powerpc/kernel/perf_counter.c:1016: warning: unused variable 'addr' arch/powerpc/kernel/perf_counter.c: In function 'hw_perf_counter_init': arch/powerpc/kernel/perf_counter.c:891: warning: 'ev' may be used uninitialized in this function Stephen Rothwell reported this against linux-next as well. Reported-by: Stephen Rothwell Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18998.12884.787039.22202@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 09067207f6eacb7f00c8f7f0623c3696083ce042 Author: Joerg Roedel Date: Mon Jun 15 16:06:48 2009 +0200 amd-iommu: set event buffer head and tail to 0 manually These registers may contain values from previous kernels. So reset them to known values before enable the event buffer again. Signed-off-by: Joerg Roedel commit 3dfabc74c65904c9e6cf952391312d16ea772ef5 Author: Ingo Molnar Date: Mon Jun 15 11:24:38 2009 +0200 perf report: Add per system call overhead histogram Take advantage of call-graph percounter sampling/recording to display a non-trivial histogram: the true, collapsed/summarized cost measurement, on a per system call total overhead basis: aldebaran:~/linux/linux/tools/perf> ./perf record -g -a -f ~/hackbench 10 aldebaran:~/linux/linux/tools/perf> ./perf report -s symbol --syscalls | head -10 # # (3536 samples) # # Overhead Symbol # ........ ...... # 40.75% [k] sys_write 40.21% [k] sys_read 4.44% [k] do_nmi ... This is done by accounting each (reliable) call-chain that chains back to a given system call to that system call function. [ So in the above example we can see that hackbench spends about 40% of its total time somewhere in sys_write() and 40% somewhere in sys_read(), the rest of the time is spent in user-space. The time is not spent in sys_write() _itself_ but in one of its many child functions. ] Or, a recording of a (source files are already in the page-cache) kernel build: $ perf record -g -m 512 -f -- make -j32 kernel $ perf report -s s --syscalls | grep '\[k\]' | grep -v nmi 4.14% [k] do_page_fault 1.20% [k] sys_write 1.10% [k] sys_open 0.63% [k] sys_exit_group 0.48% [k] smp_apic_timer_interrupt 0.37% [k] sys_read 0.37% [k] sys_execve 0.20% [k] sys_mmap 0.18% [k] sys_close 0.14% [k] sys_munmap 0.13% [k] sys_poll 0.09% [k] sys_newstat 0.07% [k] sys_clone 0.06% [k] sys_newfstat 0.05% [k] sys_access 0.05% [k] schedule Shows the true total cost of each syscall variant that gets used during a kernel build. This profile reveals it that pagefaults are the costliest, followed by read()/write(). An interesting detail: timer interrupts cost 0.5% - or 0.5 seconds per 100 seconds of kernel build-time. (this was done with HZ=1000) The summary is done in 'perf report', i.e. in the post-processing stage - so once we have a good call-graph recording, this type of non-trivial high-level analysis becomes possible. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Linus Torvalds Cc: Frederic Weisbecker Cc: Pekka Enberg LKML-Reference: Signed-off-by: Ingo Molnar commit 74193ef0ecab92535c8517f082f1f50504526c9b Author: Peter Zijlstra Date: Mon Jun 15 13:07:24 2009 +0200 perf_counter: x86: Fix call-chain support to use NMI-safe methods __copy_from_user_inatomic() isn't NMI safe in that it can trigger the page fault handler which is another trap and its return path invokes IRET which will also close the NMI context. Therefore use a GUP based approach to copy the stack frames over. We tried an alternative solution as well: we used a forward ported version of Mathieu Desnoyers's "NMI safe INT3 and Page Fault" patch that modifies the exception return path to use an open-coded IRET with explicit stack unrolling and TF checking. This didnt work as it interacted with faulting user-space instructions, causing them not to restart properly, which corrupts user-space registers. Solving that would probably involve disassembling those instructions and backtracing the RIP. But even without that, the code was deemed rather complex to the already non-trivial x86 entry assembly code, so instead we went for this GUP based method that does a software-walk of the pagetables. Signed-off-by: Peter Zijlstra Cc: Nick Piggin Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Mathieu Desnoyers Cc: Linus Torvalds Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3ff0141aa3a03ca3388b40b36167d0a37919f3fd Author: Peter Zijlstra Date: Mon Jun 15 12:40:41 2009 +0200 x86: Add NMI types for kmap_atomic Two new kmap_atomic slots for NMI context. And teach pte_offset_map() about NMI context. Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 465a454f254ee2ff7acc4aececbe31f8af046bc0 Author: Peter Zijlstra Date: Mon Jun 15 12:31:37 2009 +0200 x86, mm: Add __get_user_pages_fast() Introduce a gup_fast() variant which is usable from IRQ/NMI context. Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 75f937f24bd9c003dcb9d7d5509f23459f1f6000 Author: Peter Zijlstra Date: Mon Jun 15 15:05:12 2009 +0200 perf_counter: Fix ctx->mutex vs counter->mutex inversion Simon triggered a lockdep inversion report about us taking ctx->mutex vs counter->mutex in inverse orders. Fix that up. Reported-by: Simon Holm Thøgersen Tested-by: Simon Holm Thøgersen Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a8c485bb6857811807d42f9fd1fde2f5f89cc5c9 Author: Chris Wright Date: Mon Jun 15 15:53:45 2009 +0200 amd-iommu: disable cmd buffer and evt logging before reprogramming iommu The IOMMU spec states that IOMMU behavior may be undefined when the IOMMU registers are rewritten while command or event buffer is enabled. Disable them in IOMMU disable path. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 722f2a6c87f34ee0fd0130a8cf45f81e0705594a Merge: 7a0aeb1 45e3e19 Author: Vegard Nossum Date: Mon Jun 15 15:50:49 2009 +0200 Merge commit 'linus/master' into HEAD Conflicts: MAINTAINERS Signed-off-by: Vegard Nossum commit 7a0aeb14e18ad59394bd9bbc6e57fb345819e748 Author: Vegard Nossum Date: Sat May 16 11:28:33 2009 +0200 signal: fix __send_signal() false positive kmemcheck warning This false positive is due to field padding in struct sigqueue. When this dynamically allocated structure is copied to the stack (in arch- specific delivery code), kmemcheck sees a read from the padding, which is, naturally, uninitialized. Hide the false positive using the __GFP_NOTRACK_FALSE_POSITIVE flag. Also made the rlimit override code a bit clearer by introducing a new variable. Cc: Oleg Nesterov Signed-off-by: Vegard Nossum commit 3b5c760efcddf1ebdd39a2035b554e96febd7466 Author: Vegard Nossum Date: Sat May 16 11:26:20 2009 +0200 fs: fix do_mount_root() false positive kmemcheck warning This false positive is due to the fact that do_mount_root() fakes a mount option (which is normally read from userspace), and the kernel unconditionally reads a whole page for the mount option. Hide the false positive by using the new __getname_gfp() with the __GFP_NOTRACK_FALSE_POSITIVE flag. Cc: Al Viro Signed-off-by: Vegard Nossum commit 3446a8aa7ebcbc0a799e5e8fc4f2da0738d6bc21 Author: Vegard Nossum Date: Sat May 16 11:22:14 2009 +0200 fs: introduce __getname_gfp() The purpose of this change is to allow __getname() users to pass a custom GFP mask to kmem_cache_alloc(). This is needed for annotating a certain kmemcheck false positive. Cc: Al Viro Signed-off-by: Vegard Nossum commit 1744a21d57d9c60136461adb6afa85e51b3e94d9 Author: Vegard Nossum Date: Sat Feb 28 08:29:44 2009 +0100 trace: annotate bitfields in struct ring_buffer_event This gets rid of a heap of false-positive warnings from the tracer code due to the use of bitfields. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit a98b65a3ad71e702e760bc63f57684301628e837 Author: Vegard Nossum Date: Thu Feb 26 14:46:57 2009 +0100 net: annotate struct sock bitfield 2009/2/24 Ingo Molnar : > ok, this is the last warning i have from today's overnight -tip > testruns - a 32-bit system warning in sock_init_data(): > > [ 2.610389] NET: Registered protocol family 16 > [ 2.616138] initcall netlink_proto_init+0x0/0x170 returned 0 after 7812 usecs > [ 2.620010] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f642c184) > [ 2.624002] 010000000200000000000000604990c000000000000000000000000000000000 > [ 2.634076] i i i i i i u u i i i i i i i i i i i i i i i i i i i i i i i i > [ 2.641038] ^ > [ 2.643376] > [ 2.644004] Pid: 1, comm: swapper Not tainted (2.6.29-rc6-tip-01751-g4d1c22c-dirty #885) > [ 2.648003] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 > [ 2.652008] EIP is at sock_init_data+0xa1/0x190 > [ 2.656003] EAX: 0001a800 EBX: f6836c00 ECX: 00463000 EDX: c0e46fe0 > [ 2.660003] ESI: f642c180 EDI: c0b83088 EBP: f6863ed8 ESP: c0c412ec > [ 2.664003] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 > [ 2.668003] CR0: 8005003b CR2: f682c400 CR3: 00b91000 CR4: 000006f0 > [ 2.672003] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 > [ 2.676003] DR6: ffff4ff0 DR7: 00000400 > [ 2.680002] [] __netlink_create+0x35/0xa0 > [ 2.684002] [] netlink_kernel_create+0x4c/0x140 > [ 2.688002] [] rtnetlink_net_init+0x1e/0x40 > [ 2.696002] [] register_pernet_operations+0x11/0x30 > [ 2.700002] [] register_pernet_subsys+0x1c/0x30 > [ 2.704002] [] rtnetlink_init+0x4c/0x100 > [ 2.708002] [] netlink_proto_init+0x159/0x170 > [ 2.712002] [] do_one_initcall+0x24/0x150 > [ 2.716002] [] do_initcalls+0x27/0x40 > [ 2.723201] [] do_basic_setup+0x1c/0x20 > [ 2.728002] [] kernel_init+0x5a/0xa0 > [ 2.732002] [] kernel_thread_helper+0x7/0x10 > [ 2.736002] [] 0xffffffff We fix this false positive by annotating the bitfield in struct sock. Reported-by: Ingo Molnar Signed-off-by: Vegard Nossum commit c53bd2e1949ddbe06fe2a6079c0658d58ce25edb Author: Vegard Nossum Date: Thu Feb 26 14:05:59 2009 +0100 c2port: annotate bitfield for kmemcheck This silences a false positive warning with kmemcheck. Signed-off-by: Vegard Nossum commit 9e337b0fb3baa3c22490365b1bdee6f4741413d4 Author: Vegard Nossum Date: Sat Oct 18 17:37:51 2008 +0200 net: annotate inet_timewait_sock bitfields The use of bitfields here would lead to false positive warnings with kmemcheck. Silence them. (Additionally, one erroneous comment related to the bitfield was also fixed.) Signed-off-by: Vegard Nossum commit 96c25c81ecf452b778e2f432bd17c95de637d129 Author: Vegard Nossum Date: Thu Sep 11 20:59:03 2008 +0200 ieee1394/csr1212: fix false positive kmemcheck report kmemcheck reports a use of uninitialized memory here, but it's not a real error. The structure in question has just been allocated, and the whole field is initialized, but it happens in two steps. We fix the false positive by inserting a kmemcheck annotation. Signed-off-by: Vegard Nossum commit 004cdb5a718fa2bb697c541eb1171ee817fc72f1 Author: Vegard Nossum Date: Wed Sep 10 15:15:23 2008 +0200 ieee1394: annotate bitfield Signed-off-by: Vegard Nossum commit 45e3ff82708c65c895d5c5882aff17ecf62a80b5 Author: Vegard Nossum Date: Tue Sep 9 06:43:12 2008 +0200 net: annotate bitfields in struct inet_sock Signed-off-by: Vegard Nossum commit fe55f6d5c0cfec4a710ef6ff63f162b99d5f7842 Author: Vegard Nossum Date: Sat Aug 30 12:16:35 2008 +0200 net: use kmemcheck bitfields API for skbuff Signed-off-by: Vegard Nossum commit fc7d0c9f2122e8bf58deaf1252b0e750df5b0e91 Author: Vegard Nossum Date: Sat Aug 30 12:16:05 2008 +0200 kmemcheck: introduce bitfield API Add the bitfield API which can be used to annotate bitfields in structs and get rid of false positive reports. According to Al Viro, the syntax we were using (putting #ifdef inside macro arguments) was not valid C. He also suggested using begin/end markers instead, which is what we do now. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit ac61a7579625ddfca3b2e0aa298879a94d15884d Author: Vegard Nossum Date: Fri Feb 27 11:35:55 2009 +0100 kmemcheck: add opcode self-testing at boot We've had some troubles in the past with weird instructions. This patch adds a self-test framework which can be used to verify that a certain set of opcodes are decoded correctly. Of course, the opcodes which are not tested can still give the wrong results. In short, this is just a safeguard to catch unintentional changes in the opcode decoder. It does not mean that errors can't still occur! [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit eb63657e1314ae4af5e19a61db8dc1b6e935775a Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:05:56 2009 -0800 x86: unify pte_hidden Unify and demacro pte_hidden. Signed-off-by: Jeremy Fitzhardinge [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 9d31c5068b852deaf02ccfb4a1ed2b54f3b9358a Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:05:01 2009 -0800 x86: make _PAGE_HIDDEN conditional Only _PAGE_HIDDEN when CONFIG_KMEMCHECK is defined, otherwise set it to 0. Allows later cleanups. Signed-off-by: Jeremy Fitzhardinge [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 0a4af3b09309049d8560f8ad558a1337bb4f7f32 Author: Pekka Enberg Date: Thu Feb 26 21:38:56 2009 +0200 kmemcheck: make kconfig accessible for other architectures The Kconfig options of kmemcheck are hidden under arch/x86 which makes porting to other architectures harder. To fix that, move the Kconfig bits to lib/Kconfig.kmemcheck and introduce a CONFIG_HAVE_ARCH_KMEMCHECK config option that architectures can define. Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 7d46d9e6dbffe8780aa8430a63543d3f7ba92860 Author: Vegard Nossum Date: Fri Apr 4 00:51:41 2008 +0200 kmemcheck: enable in the x86 Kconfig let it rip! Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit b1eeab67682a5e397aecf172046b3a8bd4808ae4 Author: Vegard Nossum Date: Tue Nov 25 16:55:53 2008 +0100 kmemcheck: add hooks for the page allocator This adds support for tracking the initializedness of memory that was allocated with the page allocator. Highmem requests are not tracked. Cc: Dave Hansen Acked-by: Pekka Enberg [build fix for !CONFIG_KMEMCHECK] Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 42a49f965a8d24ed92af04f5b564d63f17fd9c56 Author: Chris Wright Date: Mon Jun 15 15:42:00 2009 +0200 amd-iommu: flush domain tlb when attaching a new device When kexec'ing to a new kernel (for example, when crashing and launching a kdump session), the AMD IOMMU may have cached translations. The kexec'd kernel, during initialization, will invalidate the IOMMU device table entries, but not the domain translations. These stale entries can cause a device's DMA to fail, makes it rough to write a dump to disk when the disk controller can't DMA ;-) Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 61d047be99757fd9b0af900d7abce9a13a337488 Author: Joerg Roedel Date: Tue Jun 9 17:56:09 2009 +0200 x86: disable IOMMUs on kernel crash If the IOMMUs are still enabled when the kexec kernel boots access to the disk is not possible. This is bad for tools like kdump or anything else which wants to use PCI devices. Signed-off-by: Joerg Roedel commit 0975904276552c8e201dad0ad31152ba8a21505a Author: Joerg Roedel Date: Tue Jun 9 17:52:27 2009 +0200 amd-iommu: disable IOMMU hardware on shutdown When the IOMMU stays enabled the BIOS may not be able to finish the machine shutdown properly. So disable the hardware on shutdown. Signed-off-by: Joerg Roedel commit 8dca419721d188bfee5f19fad45275856c619a5c Author: Takashi Iwai Date: Mon Jun 15 14:50:52 2009 +0200 ALSA: ctxfi - Fix deadlock with xfi-timer The PCM x-fi native update routine can cause deadlocks when the trigger(START) is called while the stream is running. This patch fixes the deadlock by just postponing the pcm period update to the next possible wake-up. Also it adds the flip of ti->running flag (just to be sure as now). Signed-off-by: Takashi Iwai commit 964cf35c88f93b4927dbc4e950dfa4d880c7f9d1 Author: Nick Piggin Date: Mon Jun 15 13:35:10 2009 +0300 SLUB: Fix early boot GFP_DMA allocations Recent change to use slab allocations earlier exposed a bug where SLUB can call schedule_work and try to call sysfs before it is safe to do so. Reported-by: Heiko Carstens Tested-by: Heiko Carstens Signed-off-by: Nick Piggin Signed-off-by: Pekka Enberg commit 9b5cab31897e9e89e36c0c2a89b16b93ff1a971a Author: Vegard Nossum Date: Sat Feb 21 13:52:37 2009 +0100 kmemcheck: add hooks for page- and sg-dma-mappings This is needed for page allocator support to prevent false positives when accessing pages which are dma-mapped. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 9e730237c2cb479649207da1be2114c28d2fcf51 Author: Vegard Nossum Date: Sun Feb 22 11:28:25 2009 +0100 kmemcheck: don't track page tables As these are allocated using the page allocator, we need to pass __GFP_NOTRACK before we add page allocator support to kmemcheck. Signed-off-by: Vegard Nossum commit 33f65df7ed1abcaac32ba620b9976a4d8cea3248 Author: Vegard Nossum Date: Thu Feb 26 09:55:52 2009 +0100 crypto: don't track xor test pages with kmemcheck The xor tests are run on uninitialized data, because it is doesn't really matter what the underlying data is. Annotate this false- positive warning. Acked-by: Pekka Enberg Signed-off-by: Vegard Nossum commit c175eea466e760de4b69b9aad90157e7aa9ff54f Author: Pekka Enberg Date: Fri May 9 20:35:53 2008 +0200 slab: add hooks for kmemcheck We now have SLAB support for kmemcheck! This means that it doesn't matter whether one chooses SLAB or SLUB, or indeed whether Linus chooses to chuck SLAB or SLUB.. ;-) Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 5a896d9e7c921742d0437a452f991288f4dc2c42 Author: Vegard Nossum Date: Fri Apr 4 00:54:48 2008 +0200 slub: add hooks for kmemcheck Parts of this patch were contributed by Pekka Enberg but merged for atomicity. Cc: Christoph Lameter Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit d7002857dee6e9a3ce1f78d23f37caba106b29c5 Author: Vegard Nossum Date: Sun Jul 20 10:44:54 2008 +0200 kmemcheck: add DMA hooks This patch hooks into the DMA API to prevent the reporting of the false positives that would otherwise be reported when memory is accessed that is also used directly by devices. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 2dff440525f8faba8836e9f05297b76f23b4af30 Author: Vegard Nossum Date: Sat May 31 15:56:17 2008 +0200 kmemcheck: add mm functions With kmemcheck enabled, the slab allocator needs to do this: 1. Tell kmemcheck to allocate the shadow memory which stores the status of each byte in the allocation proper, e.g. whether it is initialized or uninitialized. 2. Tell kmemcheck which parts of memory that should be marked uninitialized. There are actually a few more states, such as "not yet allocated" and "recently freed". If a slab cache is set up using the SLAB_NOTRACK flag, it will never return memory that can take page faults because of kmemcheck. If a slab cache is NOT set up using the SLAB_NOTRACK flag, callers can still request memory with the __GFP_NOTRACK flag. This does not prevent the page faults from occuring, however, but marks the object in question as being initialized so that no warnings will ever be produced for this object. In addition to (and in contrast to) __GFP_NOTRACK, the __GFP_NOTRACK_FALSE_POSITIVE flag indicates that the allocation should not be tracked _because_ it would produce a false positive. Their values are identical, but need not be so in the future (for example, we could now enable/disable false positives with a config option). Parts of this patch were contributed by Pekka Enberg but merged for atomicity. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit f85612967c93b67b10dd240e3e8bf8a0eee9def7 Author: Vegard Nossum Date: Fri Apr 4 00:53:23 2008 +0200 x86: add hooks for kmemcheck The hooks that we modify are: - Page fault handler (to handle kmemcheck faults) - Debug exception handler (to hide pages after single-stepping the instruction that caused the page fault) Also redefine memset() to use the optimized version if kmemcheck is enabled. (Thanks to Pekka Enberg for minimizing the impact on the page fault handler.) As kmemcheck doesn't handle MMX/SSE instructions (yet), we also disable the optimized xor code, and rely instead on the generic C implementation in order to avoid false-positive warnings. Signed-off-by: Vegard Nossum [whitespace fixlet] Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit f8b4ece2a94693b7d2dd32ea716cb92545b5dce6 Author: Pekka Enberg Date: Thu Feb 26 11:53:11 2009 +0200 kmemcheck: use kmemcheck_pte_lookup() instead of open-coding it Lets use kmemcheck_pte_lookup() in kmemcheck_fault() instead of open-coding it there. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 6d9609c13250631c1d0c55a29a64d5687fd91293 Author: Pekka Enberg Date: Thu Feb 26 11:23:52 2009 +0200 kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode() This patch moves the CONFIG_X86_64 ifdef out of kmemcheck_opcode_decode() by introducing a version of the function that always returns false for CONFIG_X86_32. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 0c33cacd8672ef034ba414510f71ea2bd9370111 Author: Pekka Enberg Date: Thu Feb 26 11:17:31 2009 +0200 kmemcheck: remove multiple ifdef'd definitions of the same global variable Multiple ifdef'd definitions of the same global variable is ugly and error-prone. Fix that up. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 5b53b76a6158cd831759d7b0b2585bf0b121cec2 Author: Pekka Enberg Date: Thu Feb 26 11:11:59 2009 +0200 kmemcheck: make initialization message less confusing The "Bugs, beware!" printout during is cute but confuses users that something bad happened so change the text to the more boring "Initialized" message. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 6a19638719b4272ac86589c4bb660fc92db03dae Author: Pekka Enberg Date: Thu Feb 26 10:47:50 2009 +0200 kmemcheck: remove forward declarations from error.c This patch reorders code in error.c so that we can get rid of the forward declarations. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit f708eb1d71dc8ffb184da9f0bc53461c6dc10653 Author: Takashi Iwai Date: Mon Jun 15 12:31:38 2009 +0200 ALSA: intel8x0 - Fix PCM position craziness The PCM pointer callback sometimes returns invalid positions and this screws up the hw_ptr updater in PCM core. Especially since now the jiffies check is optional with xrun_debug, the invalid position is handled as is, and causes serious sound skips, etc. This patch simplifies the position-fix strategy in intel8x0 to be more robust: - just falls back to the last position if bogus position is detected - another sanity check for the backward move of the position due to a race of register update and the base-index update This patch is applicable also for 2.6.30. Tested-by: David Miller Cc: Signed-off-by: Takashi Iwai commit c8f1e5025ca2fa8e6e037451f3d271e66745a19b Author: Philipp Zabel Date: Thu May 28 21:00:03 2009 +0200 regulator/max1586: fix V3 gain calculation integer overflow On Thu, May 28, 2009 at 10:59 AM, Mark Brown wrote: > On Thu, May 28, 2009 at 07:15:16AM +0200, Philipp Zabel wrote: >> The V3 regulator can be configured with an external resistor >> connected to the feedback pin (R24 in the data sheet) to >> increase the voltage range. >> >> For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum >> V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency. >> >> Signed-off-by: Philipp Zabel > > Looks good. > > Acked-by: Mark Brown Thanks, but it turns out I hit a 32 bit integer overflow in the gain calculation. I'd like to mend that with the following patch. Now max_uV could be increased up to 4.294 V, enough to charge LiPo cells. Signed-off-by: Philipp Zabel Acked-by: Robert Jarzmik Signed-off-by: Liam Girdwood commit b110a8fb242bc34e4b7686252899ce0fca956e2c Author: Philipp Zabel Date: Thu May 28 07:15:16 2009 +0200 regulator/max1586: support increased V3 voltage range The V3 regulator can be configured with an external resistor connected to the feedback pin (R24 in the data sheet) to increase the voltage range. For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency. Signed-off-by: Philipp Zabel Acked-by: Mark Brown Acked-by: Robert Jarzmik Signed-off-by: Liam Girdwood commit 6113c3a5a63b8f0d5613b2a71cd1f5335a37b89a Author: Liam Girdwood Date: Tue May 19 11:44:37 2009 +0100 regulator: lp3971 - fix driver link error when built-in. lp3971_i2c_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o Signed-off-by: Liam Girdwood commit 0cbdf7bce5b98807b946d1a96956f30dcae24a50 Author: Marek Szyprowski Date: Tue May 19 07:33:55 2009 +0200 LP3971 PMIC regulator driver (updated and combined version) This patch adds regulator drivers for National Semiconductors LP3971 PMIC. This LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low drop-out (LDO) regulators. LP3971 PMIC controller uses I2C interface. Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 1909e2f658ee6ec5bcca62a5599f5653857cfe18 Author: Greg Kroah-Hartman Date: Thu Apr 30 15:21:37 2009 -0700 regulator: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Mark Brown Cc: Liam Girdwood Signed-off-by: Greg Kroah-Hartman Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 38c53c89139e6140b895b419b18c586e8593a6e8 Author: Mark Brown Date: Tue Apr 28 11:13:55 2009 +0100 regulator: Set MODULE_ALIAS for regulator drivers Several of the regulator drivers didn't have MODULE_ALIAS so couldn't be auto loaded. Add the MODULE_ALIAS in case they do get built as modules. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9035cefc2d4b67591cbc2e4e8fbc8d73901ca9eb Author: Mark Brown Date: Tue Apr 28 11:13:54 2009 +0100 regulator: Support list_voltage for fixed voltage regulator Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 5a1b22beeff30d870bf2169a37e343e06cb5db3a Author: Mark Brown Date: Mon Apr 27 18:21:18 2009 +0100 regulator: Move regulator drivers to subsys_initcall() Regulators need to be available early in init in order to allow them to be available for consumers when requested. This is generally done by registering them at subsys_initcall() time but not all regulator drivers have done that. Convert these drivers to do so in order to mimimise future support. Signed-off-by: Mark Brown Acked-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 7c314991d7d7ad4edf96e8322bcb30e8452957b7 Author: Liam Girdwood Date: Tue Apr 28 12:01:16 2009 +0100 regulator: build fix for powerpc - renamed show_state This patch fixes the follwing build failure on powerpc:- > Today's linux-next build (powerpc allyesconfig) failed like this: > > drivers/regulator/userspace-consumer.c:43: error: conflicting types > for 'show_state' > include/linux/sched.h:273: note: previous definition of 'show_state' > was here > > Caused by commit 5defa2bce704ca4151cfe24e4297aa7797cafd22 ("regulator: > add userspace-consumer driver") which I have reverted for today. Signed-off-by: Liam Girdwood commit 1d98cccf7f8b944ba4ea56d14bbb7c2eeee59bfe Author: Mike Rapoport Date: Sun Apr 26 16:49:39 2009 +0300 regulator: add userspace-consumer driver The userspace-consumer driver allows control of voltage and current regulator state from userspace. This is required for fine-grained power management of devices that are completely controller by userspace applications, e.g. a GPS transciever connected to a serial port. Signed-off-by: Mike Rapoport Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 55f4fa4e33e90c6b25b4c8ed038392a73b654fef Author: Robert Jarzmik Date: Thu Apr 23 20:10:43 2009 +0200 Maxim 1586 regulator driver The Maxim 1586 regulator is a voltage regulator with 2 voltage outputs, specially suitable for Marvell PXA chips. One output is in the range of required VCC_CORE by the PXA27x chips, the other in the VCC_USIM required as well by PXA27x chips. The chip is controlled through the I2C bus. Signed-off-by: Robert Jarzmik Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 5d0e945a249c729caa69b3b0c6f19ba002c433b5 Author: Paul Mundt Date: Mon Jun 15 19:02:37 2009 +0900 sh: urquell: Add system FPGA mode pin support. Urquell has a system FPGA capable of reading the mode pin states from software, wire this up in the machvec. Signed-off-by: Paul Mundt commit 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb Merge: ca44d6e 45e3e19 Author: David S. Miller Date: Mon Jun 15 03:02:23 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/scsi/fcoe/fcoe.c net/core/drop_monitor.c net/core/net-traces.c commit ca44d6e60f9de26281fda203f58b570e1748c015 Author: Jarek Poplawski Date: Mon Jun 15 02:31:47 2009 -0700 pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US Let's use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS (like in PSCHED_TICKS_PER_SEC already) to avoid misleading. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e0f7cb8c8cc6cccce28d2ce39ad8c60d23c3799f Author: Jarek Poplawski Date: Mon Jun 15 02:31:29 2009 -0700 ipv4: Fix fib_trie rebalancing While doing trie_rebalance(): resize(), inflate(), halve() RCU free tnodes before updating their parents. It depends on RCU delaying the real destruction, but if RCU readers start after call_rcu() and before parent update they could access freed memory. It is currently prevented with preempt_disable() on the update side, but it's not safe, except maybe classic RCU, plus it conflicts with memory allocations with GFP_KERNEL flag used from these functions. This patch explicitly delays freeing of tnodes by adding them to the list, which is flushed after the update is finished. Reported-by: Yan Zheng Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4159175058987cb68aefd0e9eec2598b795363b4 Author: Theodore Ts'o Date: Mon Jun 15 03:41:23 2009 -0400 ext4: Don't update ctime for non-extent-mapped inodes The VFS handles updating ctime, so we don't need to update the inode's ctime in ext4_splace_branch() to update the direct or indirect blocks. This was harmless when we did this in ext3, but in ext4, thanks to delayed allocation, updating the ctime in ext4_splice_branch() can cause the ctime to mysteriously jump when the blocks are finally allocated. Thanks to Björn Steinbrink for pointing out this problem on the git mailing list. Signed-off-by: "Theodore Ts'o" commit 613d8602292165f86ba1969784fea01a06d55900 Author: Ingo Molnar Date: Mon Jun 15 08:17:12 2009 +0200 perf record: Fix fast task-exit race Recording with -a (or with -p) can race with tasks going away: couldn't open /proc/8440/maps Causing an early exit() and no recording done. Do not abort the recording session - instead just skip that task. Also, only print the warnings under -v. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 038e836e97e70c4ad2b5058b07fc7207f50b59dd Author: Ingo Molnar Date: Mon Jun 15 09:57:59 2009 +0200 perf_counter, x86: Fix kernel-space call-chains Kernel-space call-chains were trimmed at the first entry because we never processed anything beyond the first stack context. Allow the backtrace to jump from NMI to IRQ stack then to task stack and finally user-space stack. Also calculate the stack and bp variables correctly so that the stack walker does not exit early. We can get deep traces as a result, visible in perf report -D output: 0x32af0 [0xe0]: PERF_EVENT (IP, 5): 15134: 0xffffffff815225fd period: 1 ... chain: u:2, k:22, nr:24 ..... 0: 0xffffffff815225fd ..... 1: 0xffffffff810ac51c ..... 2: 0xffffffff81018e29 ..... 3: 0xffffffff81523939 ..... 4: 0xffffffff81524b8f ..... 5: 0xffffffff81524bd9 ..... 6: 0xffffffff8105e498 ..... 7: 0xffffffff8152315a ..... 8: 0xffffffff81522c3a ..... 9: 0xffffffff810d9b74 ..... 10: 0xffffffff810dbeec ..... 11: 0xffffffff810dc3fb This is a 22-entries kernel-space chain. (We still only record reliable stack entries.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 42e27bfc4bfa42bd905e53be93d862b8e3d80a00 Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:08 2009 +0000 ps3flash: Always read chunks of 256 KiB, and cache them Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 6bd57f2e5db408e0dfdb3bf052d58c4e7b18ed3c Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:07 2009 +0000 ps3flash: Cache the last accessed FLASH chunk Add support for caching, to reduce FLASH wear when writing using small blocksizes. As we also don't care anymore about heads and tails in case of partial writes, this greatly simplifies the code for handling writes. Note: We don't bother caching reads smaller than the FLASH chunk size (256 KiB). Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit a4e623fbc9b201930abcf78df6db5e49aa8e00cb Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:06 2009 +0000 ps3: Replace direct file operations by callback Currently the FLASH database is updated by the kernel using file operations, meant for userspace only. While this works for us because copy_{from,to}_user() on powerpc can handle kernel pointers, this is unportable and a bad example. Replace the file operations by callbacks, registered by the ps3flash driver. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 47cb996b059e0e5696b8daa1f62881a6462a251a Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:05 2009 +0000 ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL() They were never intended to be exported using EXPORT_SYMBOL() anyway Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 7e28060a5e04966d20c04c232b2f438f96e0a29e Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:04 2009 +0000 ps3: Correct debug message in dma_ioc0_map_pages() It reports the failure of a call to lv1_put_iopte(), not lv1_map_device_dma_region(). Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit a469f563d6eec9ef68da9b4aed708e7f6ecabd51 Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:00 2009 +0000 drivers/ps3: Add missing annotations probe functions should be __devinit initialization functions should be __init Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit cd4a157d769311964717d5c7cfc0c34426d090b4 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:57 2009 +0000 ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 559dc87f50d062d881fed406efb76925aa1f30e7 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:55 2009 +0000 ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 03fa68c245cccbcb99035cbabaa13b408ba91ab5 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:54 2009 +0000 ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Jim Paris Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 9f08e9db84c1e9234e07b9b595f5b2508c621823 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:53 2009 +0000 ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 6dee2c87ebbe5d7ce8c4c163966a0bd9c02c75ef Author: Roel Kluin Date: Wed Jun 10 04:38:52 2009 +0000 block/ps3: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. [Geert: Use ps3_system_bus_[gs]et_driver_data() for ps3_system_bus_device] Signed-off-by: Roel Kluin Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 1bd9784f5ebb5b1b5a1efb8302d7b57c6483e2e6 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:51 2009 +0000 ps3vram: Make ps3vram_priv.reports a void * So we can kill a cast. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit c3b94fd800cc7eb59c91ccb55326cdaf589b0e88 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:50 2009 +0000 ps3vram: Remove no longer used ps3vram_priv.ddr_base Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit fb89e89d0ff6142f0616eb8260ea89d6fd924982 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:41 2009 +0000 ps3vram: Replace mutex by spinlock + bio_list Remove the mutex serializing access to the cache. Instead, queue up new requests on a bio_list if the driver is busy. This improves sequential write performance by ca. 2%. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 13685a1654b65357fb34066a98ef40445f7820fc Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:40 2009 +0000 block: Add bio_list_peek() Introduce bio_list_peek(), to obtain a pointer to the first bio on the bio_list without actually removing it from the list. This is needed when you want to serialize based on the list being empty or not. Signed-off-by: Geert Uytterhoeven Acked-by: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit d9e89bf0c0a25273921381df8edd41e69b74b74c Author: Andrea Borgia Date: Sun Jun 14 12:16:17 2009 +0200 ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII This patch changes yet again the ID for the TTA cards, resulting in a more reasonable name: 1 [Aureon51MkII ]: USB-Audio - Aureon5.1MkII TerraTec Aureon5.1MkII at usb-0000:00:03.0-2, full speed Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit c2e95c6d7a9b9d8f023c3639edbb1da65ccd15ac Author: Paul Mackerras Date: Fri Jun 12 21:10:41 2009 +0000 powerpc: Use generic atomic64_t implementation on 32-bit processors This makes 32-bit powerpc use the generic atomic64_t implementation. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 09d4e0edd4614e787393acc582ac701c6ec3565b Author: Paul Mackerras Date: Fri Jun 12 21:10:05 2009 +0000 lib: Provide generic atomic64_t implementation Many processor architectures have no 64-bit atomic instructions, but we need atomic64_t in order to support the perf_counter subsystem. This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the atomic64_t variable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock. On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole atomic64_lock variable as well. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 4c75f84f2c781beb230031234ed961d28771a764 Author: Paul Mackerras Date: Fri Jun 12 02:00:50 2009 +0000 powerpc: Add compiler memory barrier to mtmsr macro On 32-bit non-Book E, local_irq_restore() turns into just mtmsr(), which doesn't currently have a compiler memory barrier. This means that accesses to memory inside a local_irq_save/restore section, or a spin_lock_irqsave/spin_unlock_irqrestore section on UP, can be reordered by the compiler to occur outside that section. To fix this, this adds a compiler memory barrier to mtmsr for both 32-bit and 64-bit. Having a compiler memory barrier in mtmsr makes sense because it will almost always be changing something about the context in which memory accesses are done, so in general we don't want memory accesses getting moved from one side of an mtmsr to the other. With the barrier in mtmsr(), some of the explicit barriers in hw_irq.h are now redundant, so this removes them. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit e8d1673b9720ec72d85916c6b7d5d476abb2c861 Author: Michael Ellerman Date: Thu Jun 11 02:18:49 2009 +0000 powerpc/iseries: Mark signal_vsp_instruction() as maybe unused signal_vsp_instruction() is currently only used if CONFIG_PROC_FS is enabled. However logically it has nothing to do with PROC_FS, so rather than making it depend on that mark it as maybe unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 27167c7e9bc3b4b93d1b567e0cf9a3744dd4f1f2 Author: Michael Ellerman Date: Thu Jun 11 02:18:26 2009 +0000 powerpc/iseries: Fix unused function warning in iSeries DT code If CONFIG_BLK_DEV_INITRD is unset dt_prop_u64() is unused, which causes a warning. We don't really want to tie the definition to BLK_DEV_INITRD, so mark it as maybe unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 7719ed7ce814aa89c6af082f6773dddc93c6f237 Author: Michael Ellerman Date: Thu Jun 11 02:12:28 2009 +0000 powerpc: Only build prom_init.o when CONFIG_PPC_OF_BOOT_TRAMPOLINE=y Commit 28794d34 ("powerpc/kconfig: Kill PPC_MULTIPLATFORM"), added CONFIG_PPC_OF_BOOT_TRAMPOLINE to control the buliding of prom_init.o However the Makefile still unconditionally builds prom_init_check, the script that checks prom_init.o for symbol usage, and so in turn prom_init.o is still always being built. (it's not linked though) So surround all the prom_init_check logic with an ifeq block testing if CONFIG_PPC_OF_BOOT_TRAMPOLINE is set. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 3240776ce290a3be4ca77bacf8b1e8d36b4a691d Author: Stephen Rothwell Date: Wed Jun 10 22:22:08 2009 +0000 powerpc: Wire up sys_rt_tgsigqueueinfo Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 86c276560a22915c92cd0b0179556b7f3dac6f7a Author: Michael Ellerman Date: Wed Jun 10 19:06:34 2009 +0000 powerpc/cell: Use driver_data acessors, not platform_data in Axon MSI The Axon MSI driver incorrectly uses platform_data, rather than the proper accessors for driver_data. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e468455e5845f83950d1271a6cd0425b9c7290ab Author: Michael Ellerman Date: Wed Jun 10 19:05:00 2009 +0000 powerpc: Fix warning in setup_64.c when CONFIG_RELOCATABLE=y When CONFIG_RELOCATABLE is enabled, PHYSICAL_START is actually a variable of type phys_addr_t. That means to print it we need to cast to unsigned long long and use llx. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit c204ff65590837e6a9c50ca549497b4682682ec6 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:49 2009 +0000 ps3fb: Tear down FB setup during cleanup During cleanup, use L1GPU_CONTEXT_ATTRIBUTE_FB_CLOSE to tear down the setup done by L1GPU_CONTEXT_ATTRIBUTE_FB_SETUP. This allows unloading and reloading of ps3fb while the sound driver keeps the GPU open. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit d3352c9f1e8e2f2989d9686c8aa8acb4842fe75e Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:48 2009 +0000 ps3fb/vram: Extract common GPU stuff into Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 56ac72dba5d24a477d281b985797d5e62d3f5c2e Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:47 2009 +0000 ps3vram: GPU memory mapping cleanup - Make the IOMMU flags used for mapping main memory into the GPU's I/O space explicit, instead of relying on the default in the hypervisor, - Add missing calls to lv1_gpu_context_iomap(..., CBE_IOPTE_M) to unmap the memory during cleanup. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit e78d0c5c14ab91648274b2c5e6c4c35f072cea64 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:46 2009 +0000 ps3fb: GPU memory mapping cleanup - Make the IOMMU flags used for mapping main memory into the GPU's I/O space explicit, instead of relying on the default in the hypervisor, - Add missing calls to lv1_gpu_context_iomap(..., CBE_IOPTE_M) to unmap the memory during cleanup. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 5c6fc8db768fb9990ee67ab052896fd46fbe2651 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:45 2009 +0000 powerpc/cell: Extract duplicated IOPTE_* to Both arch/powerpc/platforms/cell/iommu.c and arch/powerpc/platforms/ps3/mm.c contain the same Cell IOMMU page table entry definitions. Extract them and move them to , while adding a CBE_ prefix. This also allows them to be used by drivers. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit ca971ea39fa92add0fa596ad80affd7db781d762 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:44 2009 +0000 ps3fb: Correct handling of device opening in ps3fb_probe() - ps3_open_hv_device() returns a standard error value, - Add missing call to ps3_close_hv_device() in the error path. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit bb94f077e5c1d3276fe656665c2574fdd3483e75 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:43 2009 +0000 ps3fb: Inline functions in ps3fb_probe(), to ease cleanup in the error path Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 02aad32c32691b63a47d8e7c098c1822faf88c35 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:42 2009 +0000 ps3fb: Remove useless debug checks in ps3fb_shutdown() Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 3273d8778f90457a495603945e95b47c2c139f22 Author: Jim Paris Date: Wed Jun 10 04:38:39 2009 +0000 ps3vram: Correct exchanged gotos in ps3vram_probe() error path Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 3c20e2f2793380add92dacce63395a8503b6c7c9 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:38 2009 +0000 ps3vram: Use proc_create_data() instead of proc_create() Use proc_create_data() to avoid race conditions. Reported-by: Alexey Dobriyan Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 734957c89794971c874f9d3ccd9eb49dc3325f65 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:37 2009 +0000 ps3vram: Fix error path (return -EIO) for short read/write Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 7a4a89c38960591fa6555d287f793bd592c07ebd Author: sebastian.blanes@gmail.com Date: Wed Jun 10 04:38:36 2009 +0000 ps3av: Set 16:9 aspect ratio for 720p video modes Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 177996e6e20f15004d6757d9b859f57d181ef443 Author: Benjamin Herrenschmidt Date: Tue Jun 9 21:12:00 2009 +0000 powerpc: Don't do generic calibrate_delay() Currently we are wasting time calling the generic calibrate_delay() function. We don't need it since our implementation of __delay() is based on the CPU timebase. So instead, we use our own small implementation that initializes loops_per_jiffy to something sensible to make the few users like spinlock debug be happy Signed-off-by: Benjamin Herrenschmidt commit 529273c1ad5f591d066a9d90a6bd6affa19c5461 Author: Grant Likely Date: Sat Jun 6 06:39:46 2009 +0000 powerpc/install: Bail with error code on error in install script If anything goes wrong when copying images into the install path, then the install script should exit with an error code so that 'make' knows about it and tells the user. Signed-off-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 6fe7ac3f5b544703581f3829c8c950dc721d976e Author: Alex Deucher Date: Fri Jun 12 17:26:08 2009 +0000 radeon legacy chips: tv dac bg/dac adj updates COMBIOS - fallback to table values if there are no tv dac or lvds bios tables ATOMBIOS - add support for looking up these values from the bios table Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 771fe6b912fca54f03e8a72eb63058b582775362 Author: Jerome Glisse Date: Fri Jun 5 14:42:42 2009 +0200 drm/radeon: introduce kernel modesetting for radeon hardware Add kernel modesetting support to radeon driver, use the ttm memory manager to manage memory and DRM/GEM to provide userspace API. In order to avoid backward compatibility issue and to allow clean design and code the radeon kernel modesetting use different code path than old radeon/drm driver. When kernel modesetting is enabled the IOCTL of radeon/drm driver are considered as invalid and an error message is printed in the log and they return failure. KMS enabled userspace will use new API to talk with the radeon/drm driver. The new API provide functions to create/destroy/share/mmap buffer object which are then managed by the kernel memory manager (here TTM). In order to submit command to the GPU the userspace provide a buffer holding the command stream, along this buffer userspace have to provide a list of buffer object used by the command stream. The kernel radeon driver will then place buffer in GPU accessible memory and will update command stream to reflect the position of the different buffers. The kernel will also perform security check on command stream provided by the user, we want to catch and forbid any illegal use of the GPU such as DMA into random system memory or into memory not owned by the process supplying the command stream. This part of the code is still incomplete and this why we propose that patch as a staging driver addition, future security might forbid current experimental userspace to run. This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX (radeon up to X1950). Works is underway to provide support for R6XX, R7XX and newer hardware (radeon from HD2XXX to HD4XXX). Authors: Jerome Glisse Dave Airlie Alex Deucher Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 0a8eba9b7f7aa3ad0305627c99ad4d6deedd871d Author: Mike Frysinger Date: Sun Jun 14 22:56:48 2009 +0100 ramfs: ignore unknown mount options On systems where CONFIG_SHMEM is disabled, mounting tmpfs filesystems can fail when tmpfs options are used. This is because tmpfs creates a small wrapper around ramfs which rejects unknown options, and ramfs itself only supports a tiny subset of what tmpfs supports. This makes it pretty hard to use the same userspace systems across different configuration systems. As such, ramfs should ignore the tmpfs options when tmpfs is merely a wrapper around ramfs. This used to work before commit c3b1b1cbf0 as previously, ramfs would ignore all options. But now, we get: ramfs: bad mount option: size=10M mount: mounting mdev on /dev failed: Invalid argument Another option might be to restore the previous behavior, where ramfs simply ignored all unknown mount options ... which is what Hugh prefers. Signed-off-by: Mike Frysinger Signed-off-by: Hugh Dickins Acked-by: Matt Mackall Acked-by: Wu Fengguang Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 7dafd239ab522d38979ebe44d79aa68ad7b1a383 Merge: bc47ab0 45e3e19 Author: Benjamin Herrenschmidt Date: Mon Jun 15 10:36:54 2009 +1000 Merge commit 'origin/master' into next commit ba4e7d973dd09b66912ac4c0856add8b0703a997 Author: Thomas Hellstrom Date: Wed Jun 10 15:20:19 2009 +0200 drm: Add the TTM GPU memory manager subsystem. TTM is a GPU memory manager subsystem designed for use with GPU devices with various memory types (On-card VRAM, AGP, PCI apertures etc.). It's essentially a helper library that assists the DRM driver in creating and managing persistent buffer objects. TTM manages placement of data and CPU map setup and teardown on data movement. It can also optionally manage synchronization of data on a per-buffer-object level. TTM takes care to provide an always valid virtual user-space address to a buffer object which makes user-space sub-allocation of big buffer objects feasible. TTM uses a fine-grained per buffer-object locking scheme, taking care to release all relevant locks when waiting for the GPU. Although this implies some locking overhead, it's probably a big win for devices with multiple command submission mechanisms, since the lock contention will be minimal. TTM can be used with whatever user-space interface the driver chooses, including GEM. It's used by the upcoming Radeon KMS DRM driver and is also the GPU memory management core of various new experimental DRM drivers. Signed-off-by: Thomas Hellstrom Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit e6c03c5b40314d787f7053f631594d6b1bd609e8 Author: Chris Wilson Date: Fri May 22 14:14:22 2009 +0100 drm: Memory fragmentation from lost alignment blocks If the block needs an alignment but otherwise fits exactly into the tail, then the split-off block from the start would remain marked as non-free. Signed-off-by: Chris Wilson Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 602c11a8ee62d49cddbc5972e5edb876dd415113 Author: Dave Airlie Date: Mon Jun 15 09:24:41 2009 +1000 drm/radeon: fix mobility flags on new PCI IDs. These aren't used that much on r600, but may be needed in the future, so get them correct now. Signed-off-by: Dave Airlie commit 6daa79b3c113bf95793aee95fcfb4008e85614eb Author: Paul Mundt Date: Mon Jun 15 07:07:38 2009 +0900 serial: sh-sci: Move over to dev_pm_ops. Presently the boot log whines about suspend/resume hooks at the platform driver level, move these over to dev_pm_ops. Signed-off-by: Paul Mundt commit de9a55b841132f7ae097f6e31ccebad2d5030cf5 Author: Theodore Ts'o Date: Sun Jun 14 17:45:34 2009 -0400 ext4: Fix up whitespace issues in fs/ext4/inode.c This is a pure cleanup patch. Signed-off-by: "Theodore Ts'o" commit 0610b6e99939828b77eec020ead0e1f44cba38ca Author: Theodore Ts'o Date: Mon Jun 15 03:45:05 2009 -0400 ext4: Fix 64-bit block type problem on 32-bit platforms The function ext4_mb_free_blocks() was using an "unsigned long" to pass a block number; this will cause 64-bit block numbers to get truncated on x86 and other 32-bit platforms. Signed-off-by: "Theodore Ts'o" Reviewed-by: Eric Sandeen commit 45e3e1935e2857c54783291107d33323b3ef33c8 Merge: cf50463 3f8d9ce Author: Linus Torvalds Date: Sun Jun 14 14:12:18 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits) .gitignore: ignore *.lzma files kbuild: add generic --set-str option to scripts/config kbuild: simplify argument loop in scripts/config kbuild: handle non-existing options in scripts/config kallsyms: generalize text region handling kallsyms: support kernel symbols in Blackfin on-chip memory documentation: make version fix kbuild: fix a compile warning gitignore: Add GNU GLOBAL files to top .gitignore kbuild: fix delay in setlocalversion on readonly source README: fix misleading pointer to the defconf directory vmlinux.lds.h update kernel-doc: cleanup perl script Improve vmlinux.lds.h support for arch specific linker scripts kbuild: fix headers_exports with boolean expression kbuild/headers_check: refine extern check kbuild: fix "Argument list too long" error for "make headers_check", ignore *.patch files Remove bashisms from scripts menu: fix embedded menu presentation ... commit 3f8d9ced7746f3f329ccca0bb3f3c7a2c15c47bb Author: Arne Janbu Date: Wed Jun 10 18:25:10 2009 +0200 .gitignore: ignore *.lzma files Signed-off-by: Sam Ravnborg commit cf5046323ea254be72535648a9d090b18b8510f3 Merge: ae937de 8d34ff3 Author: Linus Torvalds Date: Sun Jun 14 13:53:22 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: mlx4_core: Don't double-free IRQs when falling back from MSI-X to INTx IB/mthca: Don't double-free IRQs when falling back from MSI-X to INTx IB/mlx4: Add strong ordering to local inval and fast reg work requests IB/ehca: Remove superfluous bitmasks from QP control block RDMA/cxgb3: Limit fast register size based on T3 limitations RDMA/cxgb3: Report correct port state and MTU mlx4_core: Add module parameter for number of MTTs per segment IB/mthca: Add module parameter for number of MTTs per segment RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes() infiniband: Remove void casts IB/ehca: Increment version number IB/ehca: Remove unnecessary memory operations for userspace queue pairs IB/ehca: Fall back to vmalloc() for big allocations IB/ehca: Replace vmalloc() with kmalloc() for queue allocation commit ae937debe178b4327fd67d604ee83a20f22aa0de Merge: 9cf46a3 0419bb4 Author: Linus Torvalds Date: Sun Jun 14 13:52:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/headers-check-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/headers-check-2.6: headers_check fix: mn10300, setup.h headers_check fix: mn10300, ptrace.h commit 9cf46a35d25debfc314dd6f090b8075bd0b7f74c Author: Randy Dunlap Date: Sat Jun 13 19:37:18 2009 -0700 fusion: fix recent kernel-doc problems Fix recent fusion driver kernel-doc fatal error and warnings. Signed-off-by: Randy Dunlap Cc: Eric.Moore@lsi.com Cc: support@lsi.com Cc: DL-MPTFusionLinux@lsi.com Signed-off-by: Linus Torvalds commit 5a7e3d1281bbc4404b250b4a18d3ecb07c77640c Author: Samuel Thibault Date: Sat Jun 13 14:52:33 2009 +0200 keyboard: advertise KT_DEAD2 extended diacriticals In addition to KT_DEAD which has limited support for diacriticals, there is KT_DEAD2 that can support 256 criticals, so let's advertise it in . This lets userland know abut the drivers/char/keyboard.c function k_dead2, which supports more than the few trivial ones that k_dead supports. Signed-off-by: Samuel Thibault Signed-off-by: Linus Torvalds commit 1f990cf94559e0a7363d56aade1d5dc6c515b60b Author: Michal Marek Date: Mon May 25 16:43:27 2009 +0200 kbuild: add generic --set-str option to scripts/config Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 47312d2cfd9b769c1739738602c163c4c9814c7b Author: Michal Marek Date: Mon May 25 16:43:25 2009 +0200 kbuild: simplify argument loop in scripts/config Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 566432224731c3d8fa7925ce07953701f536a666 Author: Michal Marek Date: Sun Jun 14 22:48:07 2009 +0200 kbuild: handle non-existing options in scripts/config If an option does not exist in .config, set it at the end of the file. Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 2625b10d8c37656cf410a464ed95942b3abbd1f6 Merge: 489f7ab 7f72134 Author: Linus Torvalds Date: Sun Jun 14 13:46:57 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: (25 commits) atmel-mci: add MCI2 register definitions atmel-mci: Integrate AT91 specific definition in header file tmio_mmc: allow compilation for ASIC3 mmc_block: do not DMA to stack sdhci: Print ADMA status and pointer on debug tmio_mmc: fix clock setup tmio_mmc: map SD control registers after enabling the MFD cell tmio_mmc: correct probe return value for num_resources != 3 tmio_mmc: don't use set_irq_type tmio_mmc: add bus_shift support MFD,mmc: tmio_mmc: make HCLK configurable mmc_spi: don't use EINVAL for possible transmission errors cb710: more cleanup for the DEBUG case. sdhci: platform driver for SDHCI mxcmmc: remove frequency workaround cb710: handle DEBUG define in Makefile cb710: add missing parenthesis cb710: fix printk format string mmc: Driver for CB710/720 memory card reader (MMC part) pxamci: add regulator support. ... commit 489f7ab6c18cdd64a2d444e056d60a0e722f4ad7 Merge: b322b78 82d27b2 Author: Linus Torvalds Date: Sun Jun 14 13:46:25 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: (31 commits) trivial: remove the trivial patch monkey's name from SubmittingPatches trivial: Fix a typo in comment of addrconf_dad_start() trivial: usb: fix missing space typo in doc trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug trivial: Remove the hyphen from git commands trivial: fix ETIMEOUT -> ETIMEDOUT typos trivial: Kconfig: .ko is normally not included in module names trivial: SubmittingPatches: fix typo trivial: Documentation/dell_rbu.txt: fix typos trivial: Fix Pavel's address in MAINTAINERS trivial: ftrace:fix description of trace directory trivial: unnecessary (void*) cast removal in sound/oss/msnd.c trivial: input/misc: Fix typo in Kconfig trivial: fix grammo in bus_for_each_dev() kerneldoc trivial: rbtree.txt: fix rb_entry() parameters in sample code trivial: spelling fix in ppc code comments trivial: fix typo in bio_alloc kernel doc trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt trivial: Miscellaneous documentation typo fixes trivial: fix typo milisecond/millisecond for documentation and source comments. ... commit b322b7816908487c08b89b72f838174c37d8c836 Merge: f44c2c9 6341de0 Author: Linus Torvalds Date: Sun Jun 14 13:45:49 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: fix inverted wheel for bluetooth version of apple mighty mouse HID: no more reinitializtion is needed in post_reset HID: hidraw -- fix comment about accepted devices HID: Multitouch support for the N-Trig touchscreen HID: add new multitouch and digitizer contants HID: autocentering support for Logitech Force 3D Pro HID: fix hid-ff drivers so that devices work even without ff support HID: force feedback support for SmartJoy PLUS PS2/USB adapter HID: Wacom Graphire Bluetooth driver HID: autocentering support for Logitech G25 Racing Wheel commit f44c2c9e073a578b2946bcf4127ffb041ee765b8 Merge: 2cf4d45 73be159 Author: Linus Torvalds Date: Sun Jun 14 13:45:05 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5545/2: add flush_kernel_dcache_page() for ARM commit 17b1f0de79dbdf5cfb2686b63a7fb9ecc440da7c Author: Mike Frysinger Date: Mon Jun 8 19:12:13 2009 -0400 kallsyms: generalize text region handling Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 028f042613c3c99db20dd7f4e4069fbbcea92dd7 Author: Robin Getz Date: Mon Jul 10 06:25:40 2006 +0000 kallsyms: support kernel symbols in Blackfin on-chip memory The Blackfin arch has a discontiguous .text layout due to having on-chip instruction memory and no virtual memory support. As such, we need to add explicit checks for these additional .text regions. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc Merge: 44b7532 ce53895 Author: Linus Torvalds Date: Sun Jun 14 13:42:43 2009 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits) MAINTAINERS: EB110ATX is not ebsa110 MAINTAINERS: update Eric Miao's email address and status fb: add support of LCD display controller on pxa168/910 (base layer) [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines [ARM] 5544/1: Trust PrimeCell resource sizes [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. [ARM] pxa/sharpsl_pm: drop set_irq_type calls [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific [ARM] sa1100: remove unused collie_pm.c [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] [ARM] 5550/1: Add default configure file for w90p910 platform [ARM] 5549/1: Add clock api for w90p910 platform. [ARM] 5548/1: Add gpio api for w90p910 platform [ARM] 5551/1: Add multi-function pin api for w90p910 platform. [ARM] Make ARM_VIC_NR depend on ARM_VIC [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 ARM: OMAP4: SMP: Update defconfig for OMAP4430 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 ... commit 2185a5ecd98d2cebc6a29b07b1ea4f7334c2ccc3 Author: Adam Lackorzynski Date: Sun Jun 14 22:38:59 2009 +0200 documentation: make version fix The Makefiles in the build directories use the internal make variable MAKEFILE_LIST which is available from make 3.80 only. (The patch would be valid back to 2.6.25) Signed-off-by: Adam Lackorzynski Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 5a6cec3abbdb74244caab68db100825a8c4ac02d Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter, x86: Fix call-chain walking Fix the ptregs variant when we hit user-mode tasks. Cc: Frederic Weisbecker Cc: Pekka Enberg Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d067aa741589a9783cc43315119e0f431b4e382c Author: Amerigo Wang Date: Wed Jun 10 12:48:23 2009 -0700 kbuild: fix a compile warning gcc-4.4.1: HOSTCC scripts/basic/fixdep scripts/basic/fixdep.c: In function 'traps': scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules (Apparently -fno-strict-aliasing will fix this too) Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 8d34ff34016959d464fd5582ea6a8226fe57ab0e Merge: 3026c19 25a5239 5b891a9 2ac6bf4 d1fdf24 28e43a5 Author: Roland Dreier Date: Sun Jun 14 13:31:19 2009 -0700 Merge branches 'cxgb3', 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit d1fdf24b4074a8d962f9a28519c99dcdd66bdee3 Author: Roland Dreier Date: Sun Jun 14 13:30:45 2009 -0700 mlx4_core: Don't double-free IRQs when falling back from MSI-X to INTx When both MSI-X and legacy INTx fail to generate an interrupt, the driver frees the MSI-X interrupts twice. Fix this by clearing the have_irq flag for the MSI-X interrupts when they are freed the first time. This is the same bug that was reported in ib_mthca by Yinghai Lu . Signed-off-by: Roland Dreier commit f2ac5e78928bf94118b4d4911166a02e8a87d3ea Author: Jani Nikula Date: Thu Jun 11 12:21:47 2009 +0300 gitignore: Add GNU GLOBAL files to top .gitignore Ignore GPATH, GRTAGS, GSYMS, and GTAGS generated by GNU GLOBAL. Signed-off-by: Jani Nikula Signed-off-by: Sam Ravnborg commit a2bb90a08cb3b64dd815d762ffde2312582a6ec9 Author: Nico Schottelius Date: Fri Jun 12 09:59:52 2009 +0200 kbuild: fix delay in setlocalversion on readonly source Do not update index on read only media. Idea published by Christian Kujau . Cc: Nico Schottelius Cc: Christian Kujau commit b2d8993026a26f4ece8c8b3f2e138d2ba8f18eaa Author: Patrick Ringl Date: Fri Jun 12 13:58:36 2009 +0200 README: fix misleading pointer to the defconf directory Signed-off-by: Patrick Ringl Cc: Arnd Bergmann commit 7923f90fffa8746f6457d4eea2109fd3d6414189 Author: Sam Ravnborg Date: Sun Jun 14 22:10:41 2009 +0200 vmlinux.lds.h update Updated after review by Tim Abbott. - Use HEAD_TEXT_SECTION - Drop use of section-names.h and delete file - Introduce EXIT_CALL Deleting section-names.h required a few simple updates of init.h Signed-off-by: Sam Ravnborg Cc: Tim Abbott commit 3efa1cc99ec51bc7a7ae0011a16619fd20dbe6ea Author: Ingo Molnar Date: Sun Jun 14 15:04:15 2009 +0200 perf record/report: Add call graph / call chain profiling Add the first steps of call-graph profiling: - add the -c (--call-graph) option to perf record - parse the call-graph record and printout out under -D (--dump-trace) The call-graph data is not put into the histogram yet, but it can be seen that it's being processed correctly: 0x3ce0 [0x38]: event: 35 . . ... raw event: size 56 bytes . 0000: 23 00 00 00 05 00 38 00 d4 df 0e 81 ff ff ff ff #.....8........ . 0010: 60 0b 00 00 60 0b 00 00 03 00 00 00 01 00 02 00 `...`.......... . 0020: d4 df 0e 81 ff ff ff ff a0 61 ed 41 36 00 00 00 .........a.A6.. . 0030: 04 92 e6 41 36 00 00 00 .a.A6.. . 0x3ce0 [0x38]: PERF_EVENT (IP, 5): 2912: 0xffffffff810edfd4 period: 1 ... chain: u:2, k:1, nr:3 ..... 0: 0xffffffff810edfd4 ..... 1: 0x3641ed61a0 ..... 2: 0x3641e69204 ... thread: perf:2912 ...... dso: [kernel] This shows a 3-entry call-graph: with 1 kernel-space and two user-space entries Cc: Frederic Weisbecker Cc: Pekka Enberg Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 507fa3a3d80365c595113a5ac3232309e3dbf5d8 Author: Thomas Gleixner Date: Sun Jun 14 17:46:01 2009 +0200 x86: hpet: Mark per cpu interrupts IRQF_TIMER to prevent resume failure timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The hpet per cpu timers request their interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables them as well which results in a fatal resume failure on the boot CPU. Adding IRQF_TIMER to the interupt flags when requesting the hpet per cpu timer interrupts solves the problem. Reported-by: Benjamin S. Signed-off-by: Thomas Gleixner Tested-by: Benjamin S. Cc: stable@kernel.org commit 0c50f6f38399685d0c9ef0f5ffd6c4955e31cb26 Author: Matt Fleming Date: Sat Jun 13 22:23:27 2009 +0100 sh: Make the atomic functions safe for irqsoff tracing The irqsoff tracer uses the atomic_* functions internally, but the implementations of those functions in arch/sh/include/asm/atomic-irq.h disable irqs to achieve atomicity. A continuous loop ensues where we disable interrupts, trace the interrupt disabling, call atomic_* functions, disable interrupts, trace the interrupt disabling, etc.. The simplest solution to all this is to just convert uses of local_irq_save()/local_irq_restore() the raw_* equivalents because the raw_* equivalents don't call trace_hardirqs_on()/trace_hardirqs_off(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 33745fb3448f90d2b9e414ccc6689e9ee70cfae4 Author: Philipp Zabel Date: Sun Jun 14 12:51:30 2009 +0200 ASoC: magician: fix PXA SSP clock polarity Follow-up fix needed since "ASoC: pxa-ssp.c fix clock/frame invert". Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit 6d5701b29e392f77d222254aa8e375315d59f0aa Author: Mark Brown Date: Sun Jun 14 11:33:37 2009 +0100 ASoC: Instantiate any forgotten DAPM widgets With the recent changes to the DAPM power checks it has become important to explicitly instantiate all widgets but some drivers were forgetting to do that. Since everything needs to do it add a call to instantiate them immediately before the card registration - it does no harm when it is called repeatedly and saves work in drivers. Tested-by: pHilipp Zabel Signed-off-by: Mark Brown commit 3767f3f1ee11da55760616a2c68a09c02babdd9b Author: Paul Mundt Date: Mon Jun 15 00:00:42 2009 +0900 sh: Convert sh64 to use the generic checksum code. This plugs in GENERIC_CSUM support on sh64, and kills off all of the old references. Signed-off-by: Paul Mundt commit 2b74b85693c7c0772e8787883230cd15314555f8 Author: Paul Mundt Date: Sun Jun 14 23:27:41 2009 +0900 sh: Derive COMMAND_LINE_SIZE from asm-generic/setup.h. Signed-off-by: Paul Mundt commit 7fb8156d50c7bf3eb183c308cc63be827c6944a9 Author: Paul Mundt Date: Sun Jun 14 23:26:48 2009 +0900 sh: Switch to asm-generic versions for identical headers. This switches over mman/param/parport/serial/socket/ucontext.h. Signed-off-by: Paul Mundt commit bdc90d461d576505114168c4b8237a3f6789ecba Author: Paul Mundt Date: Sun Jun 14 23:25:57 2009 +0900 sh: Convert to asm-generic/signal.h. Signed-off-by: Paul Mundt commit a8bd4683134affa76f2edd3a6b8b526832722242 Author: Paul Mundt Date: Sun Jun 14 23:25:27 2009 +0900 sh: Convert to asm-generic/types.h. Signed-off-by: Paul Mundt commit 84f8369015bd4ea9f487a164a3b08d5ec96d6fe1 Author: Paul Mundt Date: Sun Jun 14 23:25:04 2009 +0900 sh: Convert to asm-generic/scatterlist.h. Signed-off-by: Paul Mundt commit 508fb69886bde5a346f2fe0b550eb49e969f0ac5 Author: Paul Mundt Date: Sun Jun 14 23:24:43 2009 +0900 sh: Convert to asm-generic/unaligned.h. Signed-off-by: Paul Mundt commit 5db455bd55654c8a963191d6458ff1c20993f8bb Author: Paul Mundt Date: Sun Jun 14 23:24:14 2009 +0900 sh: Convert to asm-generic/module.h. Signed-off-by: Paul Mundt commit 7b2758228f2d554316288ef650fe5a08e3b2c559 Author: Paul Mundt Date: Sun Jun 14 23:23:41 2009 +0900 sh: Conver to asm-generic/mmu_context.h. Signed-off-by: Paul Mundt commit f8f06bc74b5afbb434b8f3982db19acdbf48dee9 Author: Paul Mundt Date: Sun Jun 14 23:21:54 2009 +0900 sh: Tidy up duplication in irq/swab/timex.h. The asm-generic versions have some helper definitions that we can use instead, drop our definitions and use those instead. Signed-off-by: Paul Mundt commit 6f2ea729756e09aa02d5ceb395c2a67323948ab2 Author: Paul Mundt Date: Sun Jun 14 23:20:27 2009 +0900 sh: Convert ipc/shm bits to their asm-generic versions. Signed-off-by: Paul Mundt commit 4b1239559ee96850889343bbf902de5129bac2ce Author: Paul Mundt Date: Sun Jun 14 23:17:57 2009 +0900 sh: Convert to asm-generic/termbits.h and termios.h. Signed-off-by: Paul Mundt commit bc8d422d1158a338a567e1b878dedd52efeba9a1 Author: Paul Mundt Date: Sun Jun 14 23:16:27 2009 +0900 sh: Convert to asm-generic/posix_types.h. Signed-off-by: Paul Mundt commit 3c4bdc4bd4af791a72147b6ebc29553808f53cea Author: Marcel Holtmann Date: Sun Jun 14 15:24:44 2009 +0200 Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver The current build shows a warning with the DTL-1 driver: CC [M] drivers/bluetooth/dtl1_cs.o drivers/bluetooth/dtl1_cs.c: In function ‘dtl1_hci_send_frame’: drivers/bluetooth/dtl1_cs.c:396: warning: ‘nsh.type’ may be used uninitialized in this function Fix this by adding a proper error for unknown packet types. Signed-off-by: Marcel Holtmann commit 1a097181ee8b0c492c021eb3dbaa5f9cd813ad0e Author: Marcel Holtmann Date: Sun Jun 14 15:21:25 2009 +0200 Bluetooth: Fix Kconfig issue with RFKILL integration Since the re-write of the RFKILL subsystem it is no longer good to just select RFKILL, but it is important to add a proper depends on rule. Based on a report by Alexander Beregalov Signed-off-by: Marcel Holtmann commit 8465b05046652cfde3d47692cab2e8ba962f140f Author: Ingo Molnar Date: Sun Jun 14 14:44:07 2009 +0200 perf report: Print out raw events in hexa Print out events in hexa dump format, when -D is specified: 0x4868 [0x48]: event: 1 . . ... raw event: size 72 bytes . 0000: 01 00 00 00 00 00 48 00 d4 72 00 00 d4 72 00 00 ......H..r...r. . 0010: 00 00 40 f2 3e 00 00 00 00 30 01 00 00 00 00 00 ..@.>....0..... . 0020: 00 00 00 00 00 00 00 00 2f 75 73 72 2f 6c 69 62 ......../usr/li . 0030: 36 34 2f 6c 69 62 65 6c 66 2d 30 2e 31 34 31 2e 64/libelf-0.141 . 0040: 73 6f 00 00 00 00 00 00 f-0.141 . 0x4868 [0x48]: PERF_EVENT_MMAP 29396: [0x3ef2400000(0x13000) @ (nil)]: /usr/lib64/libelf-0.141.so This helps the debugging of mis-parsing of data files, and helps the addition of new sample/trace formats. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9deaa3bcff657f6e54e869ac1507c7ea8088fd09 Author: Paul Mundt Date: Sun Jun 14 21:45:06 2009 +0900 sh: Convert to asm-generic/dma.h. Signed-off-by: Paul Mundt commit 4822994a238b44ab5d162243077fe6273171fbab Author: Paul Mundt Date: Sun Jun 14 21:34:26 2009 +0900 sh: Convert to asm-generic/current.h. Signed-off-by: Paul Mundt commit 1e626fdcef61460dc75fe7377f38bb019722b848 Author: Stefan Richter Date: Sun Jun 14 13:23:58 2009 +0200 firewire: core: use more outbound tlabels Tlabel is a 6 bits wide datum. Wrap it after 63 rather than 31 for more safety against transaction label exhaustion and potential responders' transaction layer bugs. (As noted by Guus Sliepen, this change requires an expansion of tlabel_mask to 64 bits.) Signed-off-by: Stefan Richter commit bff7b55bdb325f62c4e30a97883ebd2b536bd47b Merge: e7fad45 44b7532 Author: Paul Mundt Date: Sun Jun 14 21:22:15 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e7fad451f06e21e74b6051c5ad4917e37460be3a Author: Paul Mundt Date: Sun Jun 14 21:18:24 2009 +0900 clocksource: Drop unused irqaction.mask from SH drivers. The irqaction.mask is legacy code that is wholly unused and going away, so simply drop its use in the SH drivers completely. Fixes up build failures in -next. Signed-off-by: Paul Mundt commit 6fe32a468521d45edc35d92cdc05cd74e930426a Author: Paul Mundt Date: Sun Jun 14 20:02:30 2009 +0900 sh: Bump the earlytimer probe devices up. Presently the earlytimer probe handles the clockevents driver, which requires that the clockevents driver be registered first. This bumps it up by 1 to include the clocksource device, which can be safely ignored if it doesn't exist, as we will simply error out on that path and defer to the jiffies clocksource. Signed-off-by: Paul Mundt commit a34c7e3e7b0e7db67ffef21ba3056eb2f807ba4a Author: Paul Mundt Date: Sun Jun 14 19:48:48 2009 +0900 sh: Use generic sched_clock(). The generic sched_clock() handles INITIAL_JIFFIES now as well, so we can just use that instead. Signed-off-by: Paul Mundt commit 1d29ebebcb951ab6b04d22807cafb24b893310a2 Author: Paul Mundt Date: Sun Jun 14 19:45:40 2009 +0900 sh: Bump the earlytimer bits back to time_init(). These were handled through late_time_init due to kmalloc() and friends not being available earlier on previously. Now with slab caches being available much earlier, this is no longer necessary, and we can move the initialization up to an earlier point. One of the benefits with this is that printk times are available a bit earlier! Signed-off-by: Paul Mundt commit 73be1591579084a8103a7005dd3172f3e9dd7362 Author: Nicolas Pitre Date: Fri Jun 12 03:09:29 2009 +0100 [ARM] 5545/2: add flush_kernel_dcache_page() for ARM Without this, the default implementation is a no op which is completely wrong with a VIVT cache, and usage of sg_copy_buffer() produces unpredictable results. Tested-by: Sebastian Andrzej Siewior CC: stable@kernel.org Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 403dbb97f654cd59b87999fe1b64d29bf90b3a2a Author: Tom Goff Date: Sun Jun 14 03:16:13 2009 -0700 PIM-SM: namespace changes IPv4: - make PIM register vifs netns local - set the netns when a PIM register vif is created - make PIM available in all network namespaces (if CONFIG_IP_PIMSM_V2) by adding the protocol handler when multicast routing is initialized IPv6: - make PIM register vifs netns local - make PIM available in all network namespaces (if CONFIG_IPV6_PIMSM_V2) by adding the protocol handler when multicast routing is initialized Signed-off-by: Tom Goff Signed-off-by: David S. Miller commit ce53895a5d24e0ee19fb92f56c17323fb4c9ab27 Author: Russell King Date: Sun Jun 14 11:09:29 2009 +0100 MAINTAINERS: EB110ATX is not ebsa110 Signed-off-by: Russell King commit b7c11ec9f1c9f4272f032215ddb0b65d64b22ecc Merge: 0609996 7666c17 Author: Russell King Date: Sun Jun 14 11:01:44 2009 +0100 Merge branch 'u300' into devel Conflicts: arch/arm/Makefile Updates: arch/arm/mach-u300/core.c arch/arm/mach-u300/timer.c commit 06099961002a813324d057a91695af7c72939da6 Merge: 4c31791 c11c221 Author: Russell King Date: Sun Jun 14 11:01:05 2009 +0100 Merge branch 'stmp' into devel commit 4c31791c3d9d38ac052dd5e2981df713d8f3dcc4 Merge: 98797a2 7517b3f Author: Russell King Date: Sun Jun 14 11:00:16 2009 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 98797a241e28b787b84d308b867ec4c5fe7bbdf8 Merge: ca8cbc8 c626e3f Author: Russell King Date: Sun Jun 14 10:59:32 2009 +0100 Merge branch 'copy_user' of git://git.marvell.com/orion into devel commit 837ec787d85fda8d73193a399ebcea0288e4765b Author: Stefan Richter Date: Tue Jun 9 23:56:55 2009 +0200 firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met This extra check will avoid Broadcast_Channel register related traffic to many IIDC, SBP-2, and AV/C devices which aren't IRMC or have a max_rec < 8 (i.e. support < 512 bytes async payload). This avoids a little bit of traffic after bus reset and is even more careful with devices which don't implement this CSR. The assumption is that no other protocol than IP over 1394 uses the broadcast channel for streams. Signed-off-by: Stefan Richter commit e09377bae410247f2ba35a2edc7ab637a5c79170 Author: Rusty Russell Date: Fri Jun 12 22:33:14 2009 +0930 cpumask: Use accessors for cpu_*_mask: sh Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Paul Mundt commit 74c86d6757c8782e076f15aa87b8b509742c9927 Author: Rusty Russell Date: Fri Jun 12 22:33:14 2009 +0930 cpumask: use mm_cpumask() wrapper: sh 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: Paul Mundt commit 819807df6e60d415a73cd25038814dc9c88d376f Author: Rusty Russell Date: Fri Jun 12 22:32:35 2009 +0930 cpumask: arch_send_call_function_ipi_mask: sh 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 Signed-off-by: Paul Mundt commit 0cb73f4c4667bec8648c32c11f728b81180720d9 Author: Rusty Russell Date: Fri Jun 12 22:31:04 2009 +0930 cpumask: remove the now-obsoleted pcibus_to_cpumask(): sh cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell Signed-off-by: Paul Mundt commit 78c99ba1b180a794f35a4d701693fbc1b00fe9e1 Author: Huang Weiyi Date: Sat Jun 13 12:21:11 2009 +0000 sh: pci: remove duplicated #include's Signed-off-by: Huang Weiyi Signed-off-by: Paul Mundt commit ab33dcff40d7a9a28587e4425621e4cbc4089e03 Author: Randy Dunlap Date: Sat Jun 13 20:01:00 2009 -0700 genirq, irq.h: Fix kernel-doc warnings Fix kernel-doc warnings in linux/irq.h: Warning(include/linux/irq.h:201): No description found for parameter 'node' Warning(include/linux/irq.h:201): Excess struct/union/enum/typedef member 'cpu' description in 'irq_desc' Warning(include/linux/irq.h:434): No description found for parameter 'node' Warning(include/linux/irq.h:434): Excess function parameter 'cpu' description in 'alloc_desc_masks' Signed-off-by: Randy Dunlap LKML-Reference: <4A3467EC.50006@oracle.com> Signed-off-by: Ingo Molnar commit 46e443283891dbd45fba7fa037baab831f5d8f3f Author: Randy Dunlap Date: Sat Jun 13 20:00:54 2009 -0700 x86: atomic_32.h: Fix kernel-doc warnings Fix kernel-doc warnings in atomic_32.h: Warning(arch/x86/include/asm/atomic_32.h:265): No description found for parameter 'ptr' Warning(arch/x86/include/asm/atomic_32.h:265): Excess function parameter 'v' description in '__atomic64_read' Warning(arch/x86/include/asm/atomic_32.h:305): Excess function parameter 'old_val' description in 'atomic64_xchg' Signed-off-by: Randy Dunlap LKML-Reference: <4A3467E6.6010907@oracle.com> Signed-off-by: Ingo Molnar commit e61a4b634a15c11725eac8e66b457ba411168c7f Author: Timo Teräs Date: Thu Jun 11 19:38:02 2009 +0000 ipv4: update ARPD help text Removed the statements about ARP cache size as this config option does not affect it. The cache size is controlled by neigh_table gc thresholds. Remove also expiremental and obsolete markings as the API originally intended for arp caching is useful for implementing ARP-like protocols (e.g. NHRP) in user space and has been there for a long enough time. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 125bb8f5637bd653244728f734bcac218986d910 Author: Eric Dumazet Date: Thu Jun 11 20:10:07 2009 +0000 net: use a deferred timer in rt_check_expire For the sake of power saver lovers, use a deferrable timer to fire rt_check_expire() As some big routers cache equilibrium depends on garbage collection done in time, we take into account elapsed time between two rt_check_expire() invocations to adjust the amount of slots we have to check. Based on an initial idea and patch from Tero Kristo Signed-off-by: Eric Dumazet Signed-off-by: Tero Kristo Signed-off-by: David S. Miller commit 13be8a126850692839934116fbdaf008bfdedec1 Author: Randy Dunlap Date: Fri Jun 12 12:59:20 2009 +0000 ieee802154: fix kconfig bool/tristate muckup menuconfig IEEE802154_DRIVERS is a bool that depends on tristate IEEE802154. If the IEEE802154 symbol is 'm', the bool becomes 'y'. This allows tristate symbols under IEEE802154_DRIVERS to be configured as 'y' and cause build problems. Changing the menuconfig bool to a tristate fixes this. drivers/built-in.o: In function `fake_scan_req': fakehard.c:(.text+0x46d625): undefined reference to `ieee802154_nl_scan_confirm' drivers/built-in.o: In function `fake_disassoc_req': fakehard.c:(.text+0x46d66f): undefined reference to `ieee802154_nl_disassoc_confirm' drivers/built-in.o: In function `fake_assoc_req': fakehard.c:(.text+0x46d6be): undefined reference to `ieee802154_nl_assoc_confirm' Signed-off-by: Randy Dunlap Acked-by: Sergey Lapin Signed-off-by: David S. Miller commit 181470fcf3f8ecc16625bc45a5f6f678e57bfb22 Author: Stephen Hemminger Date: Fri Jun 12 19:02:52 2009 +0000 bonding: initialization rework Need to rework how bonding devices are initialized to make it more amenable to creating bonding devices via netlink. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c5129b54f2f346c86cd23fea67e71b45f7f84ff Author: Stephen Hemminger Date: Fri Jun 12 19:02:51 2009 +0000 bonding: use is_zero_ether_addr Remove bogus non-portable possibly unaligned way of testing for zero addres.. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 373500db927706d1f60785aff40b9884f789b01a Author: Stephen Hemminger Date: Fri Jun 12 19:02:50 2009 +0000 bonding: network device names are case sensative The bonding device acts unlike all other Linux network device functions in that it ignores case of device names. The developer must have come from windows! Cleanup the management of names and use standard routines where possible. Flag places where bonding device still doesn't work right with network namespaces. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6d7ab43ccce5fddeca945ba6b06ba32cda4e3355 Author: Stephen Hemminger Date: Fri Jun 12 19:02:49 2009 +0000 bonding: elminate bad refcount code The "expected_refcount" stuff in bonding sysfs module is a mistake. Sysfs does proper refcounting, and it is okay to remove a bond device that has some user process holding the file open. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3d632c3f28e69f0d6d44aa09c4df708d63a91a7c Author: Stephen Hemminger Date: Fri Jun 12 19:02:48 2009 +0000 bonding: fix style issues Resolve some of the complaints from checkpatch, and remove "magic emacs format" comments, and useless MODULE_SUPPORTED_DEVICE(). But should not change actual code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9e71626c1c23ec69372c43c6fe66c1171032bf42 Author: Stephen Hemminger Date: Fri Jun 12 19:02:47 2009 +0000 bonding: fix destructor It is not safe to use a network device destructor that is a function in the module, since it can be called after module is unloaded if sysfs handle is open. When eventually using netlink, the device cleanup code needs to be done via uninit function. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7e0838404541d2758bee089632690aabd82f3d5d Author: Stephen Hemminger Date: Fri Jun 12 19:02:46 2009 +0000 bonding: remove bonding read/write semaphore The whole read/write semaphore locking can be removed. It doesn't add any protection that isn't already done by using the RTNL mutex properly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d93216051ae60995736518ca9ebb58a0e6ade212 Author: Stephen Hemminger Date: Fri Jun 12 19:02:45 2009 +0000 bonding: initialize before registration Avoid a unnecessary carrier state transistion that happens when device is registered. Lockdep works better if initialization is done before registration as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d2991f75354941a4cdf61ce7443d21804b978f89 Author: Stephen Hemminger Date: Fri Jun 12 19:02:44 2009 +0000 bonding: bond_create always called with default parameters bond_create() is always called with same parameters so move the argument down. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0419bb466f5059e40e141b1e3ab258a862ae11f0 Author: Jaswinder Singh Rajput Date: Sun Jun 14 11:51:12 2009 +0530 headers_check fix: mn10300, setup.h fix the following 'make headers_check' warnings: usr/include/asm-mn10300/setup.h:14: extern's make no sense in userspace usr/include/asm-mn10300/setup.h:15: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit c14e1a13b77e0c9cbae7c356ee13af4fc3064428 Author: Jaswinder Singh Rajput Date: Sun Jun 14 11:49:41 2009 +0530 headers_check fix: mn10300, ptrace.h fix the following 'make headers_check' warning: usr/include/asm-mn10300/ptrace.h:80: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 9d794a0c1dbb9551d870683bca0744624db353ed Merge: eaae44d e005797 Author: David S. Miller Date: Sat Jun 13 17:08:11 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6 commit eaae44d248b151e7257ba551ae589cf343c3fdf6 Merge: 5b54814 3dd5d7e Author: David S. Miller Date: Sat Jun 13 16:43:28 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 9aa0a489d909af0cc36c41d3061ef956c7442ce2 Author: Roland Dreier Date: Sat Jun 13 15:14:09 2009 -0700 IB/mthca: Don't double-free IRQs when falling back from MSI-X to INTx When both MSI-X and legacy INTx fail to generate an interrupt, the driver frees the MSI-X interrupts twice. Fix this by clearing the have_irq flag for the MSI-X interrupts when they are freed the first time. Reported-by: Yinghai Lu Tested-by: Yinghai Lu Signed-off-by: Roland Dreier commit 7f72134c32eb64c77d1fb35123ba8bf815bf797c Author: Nicolas Ferre Date: Fri Jun 12 17:58:30 2009 +0200 atmel-mci: add MCI2 register definitions New revision of Atmel MCI interface adds new features. This is a update of register definition in header file. This new MCI IP is called MCI2. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit 199118959e9b31cd6cd6492a323669966061033c Author: Nicolas Ferre Date: Fri Jun 12 17:58:29 2009 +0200 atmel-mci: Integrate AT91 specific definition in header file The MCI IP is shared among AVR32 and AT91 SOCs. AT91 has specific bit definitions in the user interface of MCI SD/MMC IP. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit e6f2c7adc1318e233d31d113e6896607c54073a4 Author: Philipp Zabel Date: Thu Jun 4 20:12:37 2009 +0200 tmio_mmc: allow compilation for ASIC3 Now tmio_mmc is able to drive the MMC/SD cell in ASIC3. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 051913dada046ac948eb6f48c0717fc25de2a917 Author: Ben Dooks Date: Mon Jun 8 23:33:57 2009 +0100 mmc_block: do not DMA to stack In the write recovery routine, the data to get from the card is allocated from the stack. The DMA mapping documentation says explicitly stack memory is not mappable by any of the DMA calls. Change to using kmalloc() to allocate the memory for the result from the card and then free it once we've finished with the transaction. [ Changed to GFP_KERNEL allocation - Pierre Ossman ] Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit be3f4ae0c0c56aab903aceaceed4b9d8418e180e Author: Ben Dooks Date: Mon Jun 8 23:33:52 2009 +0100 sdhci: Print ADMA status and pointer on debug If using ADMA, then we should print the ADMA error and current pointer in sdhci_dumpregs() when any debug is requested. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit da46a0bd42c81a473618e94871500fb792c98727 Author: Ian Molton Date: Fri Jun 12 21:53:05 2009 +0100 tmio_mmc: fix clock setup This patch fixes the clock setup in tmio_mmc. * Incorrect divider setting * Cruft written to the clock registers (seemingly harmless but Not Good (tm)) It also eliminates some unnecessary ifs and tidies the loop syntax. Thanks to Philipp Zabel who discovered the divider issue, commenting "Except for the SDCLK = HCLK (divider bypassed) case, the clock setting resulted in double the requested frequency. The smallest possible frequency (f_max/512) is configured with a divider setting 0x80, not 0x40." Signed-off-by: Ian Molton Signed-off-by: Pierre Ossman commit 544f277bb849da0ba86cfc4203a4c9139e2cd927 Author: Philipp Zabel Date: Thu Jun 4 20:12:35 2009 +0200 tmio_mmc: map SD control registers after enabling the MFD cell ASIC3 can disable the memory, so we need to wait for mfd_cell->enable to enable the memory before we can map the SD control registers. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit d6c9b5ed37c26503795d241474a17db1d306e7ea Author: Philipp Zabel Date: Thu Jun 4 20:12:34 2009 +0200 tmio_mmc: correct probe return value for num_resources != 3 Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 6c413cc76b893310b3b258b7de47fb74dcc50203 Author: Philipp Zabel Date: Thu Jun 4 20:12:33 2009 +0200 tmio_mmc: don't use set_irq_type Use an IRQF_TRIGGER_ flag in request_irq instead. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 5e74672c0925335bb00772530634ac70179e8a19 Author: Philipp Zabel Date: Thu Jun 4 20:12:32 2009 +0200 tmio_mmc: add bus_shift support Some ASIC3 devices in the wild are connected with the address bus shifted by one line, so that its 16-bit registers appear 32-bit aligned in host memory space. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit f0e46cc4971f6be96010d9248e0fc076b229d989 Author: Philipp Zabel Date: Thu Jun 4 20:12:31 2009 +0200 MFD,mmc: tmio_mmc: make HCLK configurable The Toshiba parts all have a 24 MHz HCLK, but HTC ASIC3 has a 24.576 MHz HCLK and AMD Imageon w228x's HCLK is 80 MHz. With this patch, the MFD driver provides the HCLK frequency to tmio_mmc via mfd_cell->driver_data. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Acked-by: Samuel Ortiz Signed-off-by: Pierre Ossman commit fdd858db7113ca64132de390188d7ca00701013d Author: Wolfgang Muees Date: Tue May 26 08:56:19 2009 +0100 mmc_spi: don't use EINVAL for possible transmission errors This patch changes the reported error code for the responses to a command from EINVAL to EFAULT/ENOSYS, as EINVAL is reserved for non-recoverable host errors, and the responses from the SD/MMC card may be because of recoverable transmission errors in the command or in the response. Response codes in SPI mode are NOT protected by a checksum, so don't trust them. Signed-off-by: Wolfgang Muees Acked-by: Matt Fleming Signed-off-by: Pierre Ossman commit c54f6bc67a4398243682f7438a2129906e127d21 Author: Michał Mirosław Date: Sat Jun 13 12:37:59 2009 +0200 cb710: more cleanup for the DEBUG case. Signed-off-by: Michał Mirosław Signed-off-by: Pierre Ossman commit a3456a2da14fb1d8246df63bb229623d58d09ce1 Author: Richard Röjfors Date: Thu Jun 4 13:57:29 2009 +0200 sdhci: platform driver for SDHCI Added a platform driver which uses the SDHCI core. Signed-off-by: Richard Röjfors Signed-off-by: Pierre Ossman commit 99d9260c30f0705c95a5839d9184f2e949d2051e Author: Pierre Ossman Date: Tue Jun 9 20:17:25 2009 +0200 mxcmmc: remove frequency workaround The MMC core has now been fixed to not send silly frequencies to the drivers which means we can remove this workaround. Signed-off-by: Pierre Ossman commit 9bf69a26ad9ccdc49469402275204271b3336ab6 Author: Pierre Ossman Date: Thu Jun 4 08:00:40 2009 +0200 cb710: handle DEBUG define in Makefile Signed-off-by: Pierre Ossman commit 10eb4f901cacf7da87145330f3ca77b723783497 Author: Pierre Ossman Date: Thu Jun 4 07:58:57 2009 +0200 cb710: add missing parenthesis Signed-off-by: Pierre Ossman commit 09adfe454c87e3ec5dffbc42567cd7b4b4948522 Author: Pierre Ossman Date: Thu Jun 4 07:53:38 2009 +0200 cb710: fix printk format string Signed-off-by: Pierre Ossman commit 5f5bac8272be791b67c7b7b411e7c8c5847e598a Author: Michał Mirosław Date: Fri May 22 20:33:59 2009 +0200 mmc: Driver for CB710/720 memory card reader (MMC part) The code is divided in two parts. There is a virtual 'bus' driver that handles PCI device and registers three new devices one per card reader type. The other driver handles SD/MMC part of the reader. Signed-off-by: Michał Mirosław Signed-off-by: Pierre Ossman commit 8385f9cb7f12ef6a5261fa76f1a1b612280c94f7 Author: Daniel Ribeiro Date: Thu May 21 08:54:18 2009 -0300 pxamci: add regulator support. Changes pxamci.c to use the regulator subsystem. Uses the regulator case CONFIG_REGULATOR is defined and a matching is regulator is provided, or falls back to pdata->setpower otherwise. A warning is displayed case both a valid regulator and pdata is set, and the regulator is used. Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Pierre Ossman commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21 Author: Sascha Hauer Date: Thu Apr 9 08:32:02 2009 +0200 MMC core: limit minimum initialization frequency to 400kHz Some controllers allow a much lower frequency than 400kHz. Keep the minimum frequency within sensible limits. Signed-off-by: Sascha Hauer commit ae628903ab6cc9a04fdf8d4ff3f0c5b2ffa6f939 Author: Pierre Ossman Date: Sun May 3 20:45:03 2009 +0200 sdhci: avoid changing voltage needlessly Because of granularity issues, sometimes we told the hardware to change to the voltage we were already at. Rework the logic so this doesn't happen. Signed-off-by: Pierre Ossman commit 7ceeb6a40a4dcc9b9cded6127ad5cdddb79b40ad Author: Uwe Kleine-König Date: Thu Apr 2 19:47:41 2009 +0200 mmc/omap: make mmci-omap using platform_driver_probe A pointer to mmc_omap_probe which lives in .init.text is passed to the core via platform_driver_register and so the kernel might oops if probe is called after the init code is discarded. As requested by David Brownell platform_driver_probe is used instead of moving the probe function to .devinit.text. This saves some memory, but might have the downside that a device being registered after the call to mmc_omap_init but before the init sections are discarded will not be bound anymore to the driver. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Signed-off-by: Pierre Ossman commit 5cf20aa557e8f9dd5af302b8f33972082479753a Author: Wolfgang Muees Date: Wed Apr 8 10:14:07 2009 +0100 mmc_spi: speedup for slow cards, less wear-out Speedup for slow cards by transfering more data at once. This patch also reduces the amount of wear-out of the flash blocks because fewer partial blocks are written. Signed-off-by: Wolfgang Muees Signed-off-by: Pierre Ossman commit 94d89efb2c347a82a08a61dbac8565b1087c3259 Author: Jorg Schummer Date: Tue Mar 31 17:51:21 2009 +0300 mmc: mmc_rescan detects card change in one run With this patch, mmc_rescan can detect the removal of an mmc card and the insertion of (possibly another) card in the same run. This means that a card change can be detected without having to call mmc_detect_change multiple times. This change generalises the core such that it can be easily used by hosts which provide a mechanism to detect only the presence of a card reader cover, which has to be taken off in order to insert a card. Other hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when a card is removed and when a card is inserted, so it is sufficient for them if mmc_rescan handles only one event at a time. "Cover detect" hosts, however, only receive events about the cover status. This means that between 2 subsequent events, both a card removal and a card insertion can occur. In this case, the pre-patch version of mmc_rescan would only detect the removal of the previous card but not the insertion of the new card. Signed-off-by: Jorg Schummer Signed-off-by: Pierre Ossman commit 95f8598931bd86a5775073db2fa2004b892dd3d0 Author: Pekka Enberg Date: Thu Jun 11 16:18:09 2009 +0300 SLUB: Don't print out OOM warning for __GFP_NOFAIL We must check for __GFP_NOFAIL like the page allocator does; otherwise we end up with false positives. While at it, add the printk_ratelimit() check in SLUB as well. Cc: Alexander Beregalov Signed-off-by: Pekka Enberg commit 26c02cf05ddadfee3952e829b841583794bf46f6 Author: Alexander Beregalov Date: Thu Jun 11 14:08:48 2009 +0400 SLUB: fix build when !SLUB_DEBUG Fix this build error when CONFIG_SLUB_DEBUG is not set: mm/slub.c: In function 'slab_out_of_memory': mm/slub.c:1551: error: 'struct kmem_cache_node' has no member named 'nr_slabs' mm/slub.c:1552: error: 'struct kmem_cache_node' has no member named 'total_objects' [ penberg@cs.helsinki.fi: cleanups ] Signed-off-by: Alexander Beregalov Signed-off-by: Pekka Enberg commit 44b7532b8b464f606053562400719c9c21276037 Merge: 84c48e6 bc3bf8f Author: Linus Torvalds Date: Sat Jun 13 13:22:00 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’ [SCSI] cnic: fix undefined reference to `ip6_route_output' commit 84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b Merge: 5c55b40 bb6e647 Author: Linus Torvalds Date: Sat Jun 13 13:18:32 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: Fix oops on unaligned user access avr32: Add support for Mediama RMTx add-on board for ATNGW100 avr32: Change Atmel ATNGW100 config to add choice of add-on board Fix MIMC200 board LCD init avr32: Fix clash in ATMEL_USART_ flags avr32: remove obsolete hw_interrupt_type avr32: Solves problem with inverted MCI detect pin on Merisc board atmel-mci: Add support for inverted detect pin commit 5c55b40b27bc3249358dcfc86c0845be409ab7a6 Author: David Howells Date: Sat Jun 13 13:23:54 2009 +0100 FRV: Fix interaction with new generic header stuff Fix interaction with new generic header stuff as added by: commit 6103ec56c65c33774c7c38652c8204120c3c7519 Author: Arnd Bergmann Date: Wed May 13 22:56:27 2009 +0000 asm-generic: add generic ABI headers The problem is that asm/signal.h has been made to include asm-generic/signal.h, but the redundant stuff from asm/signal.h has not been discarded, leading to multiple redefinitions. Cc: Arnd Bergmann Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d32f60ed54351ebdea8ae6fbfa0d26e93de29252 Merge: a2ee298 dd14be4 Author: Linus Torvalds Date: Sat Jun 13 13:15:59 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-ocores: Can add I2C devices to the bus i2c-s3c2410: move to using platform idtable to match devices i2c: OMAP3: Better noise suppression for fast/standard modes i2c: OMAP2/3: Fix scll/sclh calculations i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality i2c: Blackfin TWI: fix transfer errors with repeat start i2c: Blackfin TWI: fix REPEAT START mode doesn't repeat i2c: Blackfin TWI: make sure we don't end up with a CLKDIV=0 commit a2ee2981ae2a7046b10980feae9f4ab813877106 Merge: 7603ef0 0d59597 Author: Linus Torvalds Date: Sat Jun 13 13:14:51 2009 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (80 commits) x86, mce: Add boot options for corrected errors x86, mce: Fix mce printing x86, mce: fix for mce counters x86, mce: support action-optional machine checks x86, mce: define MCE_VECTOR x86, mce: rename mce_notify_user to mce_notify_irq x86: fix panic with interrupts off (needed for MCE) x86, mce: export MCE severities coverage via debugfs x86, mce: implement new status bits x86, mce: print header/footer only once for multiple MCEs x86, mce: default to panic timeout for machine checks x86, mce: improve mce_get_rip x86, mce: make non Monarch panic message "Fatal machine check" too x86, mce: switch x86 machine check handler to Monarch election. x86, mce: implement panic synchronization x86, mce: implement bootstrapping for machine check wakeups x86, mce: check early in exception handler if panic is needed x86, mce: add table driven machine check grading x86, mce: remove TSC print heuristic x86, mce: log corrected errors when panicing ... commit 7603ef03a22a33d36d3c75d7c1aca1f957671ad3 Merge: 1904187 fd40261 Author: Linus Torvalds Date: Sat Jun 13 13:08:54 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (23 commits) xfs: fix small mismerge in xfs_vn_mknod xfs: fix warnings with CONFIG_XFS_QUOTA disabled xfs: fix freeing memory in xfs_getbmap() xfs: use generic Posix ACL code xfs: remove SYNC_BDFLUSH xfs: remove SYNC_IOWAIT xfs: split xfs_sync_inodes xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes xfs: introduce a per-ag inode iterator xfs: remove unused parameter from xfs_reclaim_inodes xfs: factor out inode validation for sync xfs: split inode flushing from xfs_sync_inodes_ag xfs: split inode data writeback from xfs_sync_inodes_ag xfs: kill xfs_qmops xfs: validate quota log items during log recovery xfs: update max log size xfs: prevent deadlock in xfs_qm_shake() xfs: fix overflow in xfs_growfs_data_private xfs: fix double unlock in xfs_swap_extents() xfs: fix getbmap vs mmap deadlock ... commit 1904187a694713b80d74186fe058377b067cc195 Merge: 32f44d6 f89d7ea Author: Linus Torvalds Date: Sat Jun 13 13:08:34 2009 -0700 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Document the debugfs API Documentation: Add "how to write a good patch summary" to SubmittingPatches SubmittingPatches: fix typo docs: Encourage better changelogs in the development process document Document Reported-by in SubmittingPatches commit 32f44d62e463f66307513e90c09b4ceeac13cc22 Merge: f3ad116 08ced85 Author: Linus Torvalds Date: Sat Jun 13 13:08:01 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: (35 commits) hwrng: timeriomem - Fix potential oops (request_mem_region/__devinit) crypto: api - Use formatting of module name crypto: testmgr - Allow hash test vectors longer than a page crypto: testmgr - Check all test vector lengths crypto: hifn_795x - fix __dev{init,exit} markings crypto: tcrypt - Do not exit on success in fips mode crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final} hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds hwrng: via_rng - Support VIA Nano hardware RNG hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset crypto: testmgr - Skip algs not flagged fips_allowed in fips mode crypto: testmgr - Mark algs allowed in fips mode crypto: testmgr - Add ctr(aes) test vectors crypto: testmgr - Dynamically allocate xbuf and axbuf crypto: testmgr - Print self-test pass notices in fips mode crypto: testmgr - Catch base cipher self-test failures in fips mode crypto: testmgr - Add ansi_cprng test vectors crypto: testmgr - Add infrastructure for ansi_cprng self-tests crypto: testmgr - Add self-tests for rfc4309(ccm(aes)) crypto: testmgr - Handle AEAD test vectors expected to fail verification ... commit 5ba73683ba5223b218b26f878663e3907e85eedc Author: Mark Brown Date: Sat Jun 13 11:14:55 2009 +0100 ASoC: Revert duplicated code in SSM2602 driver The Blackfin submission was done as a patch against a different tree and contained a duplicate hunk which will cause us to loose track of the substream pointers when shutting down. Remove one of the duplicated hunks. Signed-off-by: Mark Brown commit c17c2db1f3cea41c3543025905d3582c6937dd95 Author: Frederic Weisbecker Date: Sat Jun 13 17:39:23 2009 +0200 perf annotate: Fixes for filename:line displays - fix addr2line on userspace binary: don't only check kernel image. - fix string allocation size for path: missing ending null char room - fix overflow in symbol extra info Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244907563-7820-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 11013911daea4820147ae6d7094dd7c6894e8651 Author: Andreas Dilger Date: Sat Jun 13 11:45:35 2009 -0400 ext4: teach the inode allocator to use a goal inode number Enhance the inode allocator to take a goal inode number as a paremeter; if it is specified, it takes precedence over Orlov or parent directory inode allocation algorithms. The extents migration function uses the goal inode number so that the extent trees allocated the migration function use the correct flex_bg. In the future, the goal inode functionality will also be used to allocate an adjacent inode for the extended attributes. Also, for testing purposes the goal inode number can be specified via /sys/fs/{dev}/inode_goal. This can be useful for testing inode allocation beyond 2^32 blocks on very large filesystems. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" commit f157a4aa98a18bd3817a72bea90d48494e2586e7 Author: Theodore Ts'o Date: Sat Jun 13 11:09:42 2009 -0400 ext4: Use a hash of the topdir directory name for the Orlov parent group Instead of using a random number to determine the goal parent grop for the Orlov top directories, use a hash of the directory name. This allows for repeatable results when trying to benchmark filesystem layout algorithms. Signed-off-by: "Theodore Ts'o" commit 8a8a2050c844d9de224ff591e91bda3f77bd6eda Author: Theodore Ts'o Date: Sat Jun 13 10:08:59 2009 -0400 ext4: document the "abort" mount option Signed-off-by: "Theodore Ts'o" commit 4ab2f15b7f709c3626a7eed075a7225b4c775c7e Author: Theodore Ts'o Date: Sat Jun 13 10:09:36 2009 -0400 ext4: move the abort flag from s_mount_opts to s_mount_flags We're running out of space in the mount options word, and EXT4_MOUNT_ABORT isn't really a mount option, but a run-time flag. So move it to become EXT4_MF_FS_ABORTED in s_mount_flags. Also remove bogus ext2_fs.h / ext4.h simultaneous #include protection, which can never happen. Signed-off-by: "Theodore Ts'o" commit bc0b0d6d69ee9022f18ae264e62beb30ddeb322a Author: Theodore Ts'o Date: Sat Jun 13 10:09:48 2009 -0400 ext4: update the s_last_mounted field in the superblock This field can be very helpful when a system administrator is trying to sort through large numbers of block devices or filesystem images. What is stored in this field can be ambiguous if multiple filesystem namespaces are in play; what we store in practice is the mountpoint interpreted by the process's namespace which first opens a file in the filesystem. Signed-off-by: "Theodore Ts'o" commit 7f4520cc6242780ce720aa440ad4b391f998b558 Author: Theodore Ts'o Date: Sat Jun 13 10:09:41 2009 -0400 ext4: change s_mount_opt to be an unsigned int We can only fit 32 options in s_mount_opt because an unsigned long is 32-bits on a x86 machine. So use an unsigned int to save space on 64-bit platforms. Signed-off-by: "Theodore Ts'o" commit 748de6736c1e482e111f9d1b5a5d5b1787600cad Author: Akira Fujita Date: Wed Jun 17 19:24:03 2009 -0400 ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl The EXT4_IOC_MOVE_EXT exchanges the blocks between orig_fd and donor_fd, and then write the file data of orig_fd to donor_fd. ext4_mext_move_extent() is the main fucntion of ext4 online defrag, and this patch includes all functions related to ext4 online defrag. Signed-off-by: Akira Fujita Signed-off-by: Takashi Sato Signed-off-by: Kazuya Mio Signed-off-by: "Theodore Ts'o" commit bc3bf8fd330ce981ce632a1a4a283eee46838f32 Author: Ingo Molnar Date: Sat Jun 13 08:29:33 2009 +0200 [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’ drivers/net/cnic.c: In function ‘init_bnx2_cnic’: drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ drivers/net/cnic.c:2520: warning: assignment makes pointer from integer without a cast make[1]: *** [drivers/net/cnic.o] Error 1 make: *** [drivers/net/cnic.o] Error 2 Caused by not including linux/module.h Signed-off-by: Ingo Molnar Signed-off-by: James Bottomley commit faea56c9bb44f539da1ae0194184873fc2720b20 Author: Randy Dunlap Date: Fri Jun 12 11:43:48 2009 -0700 [SCSI] cnic: fix undefined reference to `ip6_route_output' Fix cnic build for case of CONFIG_INET=n. Fix cnic build for case of CONFIG_IPV6=m and CONFIG_CNIC=y. Fixes these build errors: cnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key' cnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit bb6e647051a59dca5a72b3deef1e061d7c1c34da Author: Haavard Skinnemoen Date: Wed Jun 3 14:29:16 2009 +0200 avr32: Fix oops on unaligned user access The unaligned address exception handler (and others) does not scan the fixup tables before oopsing. This is bad because it means passing a badly aligned pointer from user space might crash the kernel. Fix this by scanning the fixup tables in _exception(). This should resolve the issue for unaligned addresses as well as other less common exceptions that might be happening during a userspace access. The page fault handler already does fixup processing. Signed-off-by: Haavard Skinnemoen commit ef281a196d66b8bc2d067a3704712e5b93691fbc Author: Ingo Molnar Date: Sat Jun 13 15:40:35 2009 +0200 perf stat: Enable raw data to be printed If -vv (very verbose) is specified, print out raw data in the following format: $ perf stat -vv -r 3 ./loop_1b_instructions [ perf stat: executing run #1 ... ] [ perf stat: executing run #2 ... ] [ perf stat: executing run #3 ... ] debug: runtime[0]: 235871872 debug: walltime[0]: 236646752 debug: runtime_cycles[0]: 755150182 debug: counter/0[0]: 235871872 debug: counter/1[0]: 235871872 debug: counter/2[0]: 235871872 debug: scaled[0]: 0 debug: counter/0[1]: 2 debug: counter/1[1]: 235870662 debug: counter/2[1]: 235870662 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235870437 debug: counter/2[2]: 235870437 debug: scaled[2]: 0 debug: counter/0[3]: 140 debug: counter/1[3]: 235870298 debug: counter/2[3]: 235870298 debug: scaled[3]: 0 debug: counter/0[4]: 755150182 debug: counter/1[4]: 235870145 debug: counter/2[4]: 235870145 debug: scaled[4]: 0 debug: counter/0[5]: 1001411258 debug: counter/1[5]: 235868838 debug: counter/2[5]: 235868838 debug: scaled[5]: 0 debug: counter/0[6]: 27897 debug: counter/1[6]: 235868560 debug: counter/2[6]: 235868560 debug: scaled[6]: 0 debug: counter/0[7]: 2910 debug: counter/1[7]: 235868151 debug: counter/2[7]: 235868151 debug: scaled[7]: 0 debug: runtime[0]: 235980257 debug: walltime[0]: 236770942 debug: runtime_cycles[0]: 755114546 debug: counter/0[0]: 235980257 debug: counter/1[0]: 235980257 debug: counter/2[0]: 235980257 debug: scaled[0]: 0 debug: counter/0[1]: 3 debug: counter/1[1]: 235980049 debug: counter/2[1]: 235980049 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235979907 debug: counter/2[2]: 235979907 debug: scaled[2]: 0 debug: counter/0[3]: 135 debug: counter/1[3]: 235979780 debug: counter/2[3]: 235979780 debug: scaled[3]: 0 debug: counter/0[4]: 755114546 debug: counter/1[4]: 235979652 debug: counter/2[4]: 235979652 debug: scaled[4]: 0 debug: counter/0[5]: 1001439771 debug: counter/1[5]: 235979304 debug: counter/2[5]: 235979304 debug: scaled[5]: 0 debug: counter/0[6]: 23723 debug: counter/1[6]: 235979050 debug: counter/2[6]: 235979050 debug: scaled[6]: 0 debug: counter/0[7]: 2213 debug: counter/1[7]: 235978820 debug: counter/2[7]: 235978820 debug: scaled[7]: 0 debug: runtime[0]: 235888002 debug: walltime[0]: 236700533 debug: runtime_cycles[0]: 754881504 debug: counter/0[0]: 235888002 debug: counter/1[0]: 235888002 debug: counter/2[0]: 235888002 debug: scaled[0]: 0 debug: counter/0[1]: 2 debug: counter/1[1]: 235887793 debug: counter/2[1]: 235887793 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235887645 debug: counter/2[2]: 235887645 debug: scaled[2]: 0 debug: counter/0[3]: 135 debug: counter/1[3]: 235887499 debug: counter/2[3]: 235887499 debug: scaled[3]: 0 debug: counter/0[4]: 754881504 debug: counter/1[4]: 235887368 debug: counter/2[4]: 235887368 debug: scaled[4]: 0 debug: counter/0[5]: 1001401731 debug: counter/1[5]: 235887024 debug: counter/2[5]: 235887024 debug: scaled[5]: 0 debug: counter/0[6]: 24212 debug: counter/1[6]: 235886786 debug: counter/2[6]: 235886786 debug: scaled[6]: 0 debug: counter/0[7]: 1824 debug: counter/1[7]: 235886560 debug: counter/2[7]: 235886560 debug: scaled[7]: 0 Performance counter stats for '/home/mingo/loop_1b_instructions' (3 runs): 235.913377 task-clock-msecs # 0.997 CPUs ( +- 0.011% ) 2 context-switches # 0.000 M/sec ( +- 0.000% ) 1 CPU-migrations # 0.000 M/sec ( +- 0.000% ) 136 page-faults # 0.001 M/sec ( +- 0.730% ) 755048744 cycles # 3200.534 M/sec ( +- 0.009% ) 1001417586 instructions # 1.326 IPC ( +- 0.001% ) 25277 cache-references # 0.107 M/sec ( +- 3.988% ) 2315 cache-misses # 0.010 M/sec ( +- 9.845% ) 0.236706075 seconds time elapsed. This allows the summary stats to be validated. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60e383931d41b0bccefdf318ffde8b49e343e9bc Author: Randy Dunlap Date: Thu Jul 24 16:09:32 2008 -0700 kmemcheck: include module.h to prevent warnings kmemcheck/shadow.c needs to include to prevent the following warnings: linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : data definition has no type or storage class linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : parameter names (without types) in function declaration Signed-off-by: Randy Dunlap Cc: vegardno@ifi.uio.no Cc: penberg@cs.helsinki.fi Cc: akpm Signed-off-by: Ingo Molnar commit dfec072ecd35ba6ecad2d51dde325253ac9a2936 Author: Vegard Nossum Date: Fri Apr 4 00:51:41 2008 +0200 kmemcheck: add the kmemcheck core General description: kmemcheck is a patch to the linux kernel that detects use of uninitialized memory. It does this by trapping every read and write to memory that was allocated dynamically (e.g. using kmalloc()). If a memory address is read that has not previously been written to, a message is printed to the kernel log. Thanks to Andi Kleen for the set_memory_4k() solution. Andrew Morton suggested documenting the shadow member of struct page. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg [export kmemcheck_mark_initialized] [build fix for setup_max_cpus] Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit fbe0b8d5822a88e2e769a318eaf3134da5881769 Merge: c878b7d 4024533 Author: Haavard Skinnemoen Date: Sat Jun 13 15:34:22 2009 +0200 Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 commit 42202dd56c717f173cd0bf2390249e1bf5cf210b Author: Ingo Molnar Date: Sat Jun 13 14:57:28 2009 +0200 perf stat: Add feature to run and measure a command multiple times Add the --repeat feature to perf stat, which repeats a given command up to a 100 times, collects the stats and calculates an average and a stddev. For example, the following oneliner 'perf stat' command runs hackbench 5 times and prints a tabulated result of all metrics, with averages and noise levels (in percentage) printed: aldebaran:~/linux/linux/tools/perf> ./perf stat --repeat 5 ~/hackbench 10 Time: 0.117 Time: 0.108 Time: 0.089 Time: 0.088 Time: 0.100 Performance counter stats for '/home/mingo/hackbench 10' (5 runs): 1243.989586 task-clock-msecs # 10.460 CPUs ( +- 4.720% ) 47706 context-switches # 0.038 M/sec ( +- 19.706% ) 387 CPU-migrations # 0.000 M/sec ( +- 3.608% ) 17793 page-faults # 0.014 M/sec ( +- 0.354% ) 3770941606 cycles # 3031.329 M/sec ( +- 4.621% ) 1566372416 instructions # 0.415 IPC ( +- 2.703% ) 16783421 cache-references # 13.492 M/sec ( +- 5.202% ) 7128590 cache-misses # 5.730 M/sec ( +- 7.420% ) 0.118924455 seconds time elapsed. The goal of this feature is to allow the reliance on these accurate statistics and to know how many times a command has to be repeated for the noise to go down to an acceptable level. (The -v option can be used to see a line printed out as each run progresses.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit e594c8de3bd4e7732ed3340fb01e18ec94b12df2 Author: Vegard Nossum Date: Sat Jun 13 14:15:57 2009 +0200 kmemcheck: add the kmemcheck documentation Thanks to Sitsofe Wheeler, Randy Dunlap, and Jonathan Corbet for providing input and feedback on this! Signed-off-by: Vegard Nossum commit 44175b6f397a6724121eeaf0f072e2c912a46614 Author: Ingo Molnar Date: Sat Jun 13 13:35:00 2009 +0200 perf stat: Reorganize output - use IPC for the instruction normalization output - CPUs for the CPU utilization factor value. - print out time elapsed like the other rows - tidy up the task-clocks/cpu-clocks printout Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 61cdd7a28f8b515140cb5d8aea518678f0fae024 Author: Mike Frysinger Date: Fri Jun 12 07:30:55 2009 -0400 Blackfin: hook up new rt_tgsigqueueinfo syscall Signed-off-by: Mike Frysinger commit d0cb9b4ef680c518087b019e29fe5c2eca9a0740 Author: Mike Frysinger Date: Thu Jun 11 21:52:35 2009 +0000 Blackfin: improve CLKIN_HZ config default Most boards use 25000000 as the default HZ, so rather than add a whole bunch more boards, make it the default for everyone. This also fixes randconfig builds as there was no default before. Signed-off-by: Mike Frysinger commit 1ee76d7e169ff2b0ff1df4b40b9d5276eec9ffb4 Author: Mike Frysinger Date: Wed Jun 10 04:45:29 2009 -0400 Blackfin: initial support for ftrace grapher Signed-off-by: Mike Frysinger commit 1c873be744410e26fb91ee9228c90adff6eabe15 Author: Mike Frysinger Date: Tue Jun 9 07:25:09 2009 -0400 Blackfin: initial support for ftrace Just the basic ftrace support here -- mcount and the ftrace stub. Signed-off-by: Mike Frysinger commit 6fa68e7a7f0641e8b7f263141d600877cdc2b5f2 Author: Mike Frysinger Date: Mon Jun 8 18:45:01 2009 -0400 Blackfin: enable support for LOCKDEP Signed-off-by: Mike Frysinger commit c7b412f41d9c95d084e049fe83248ebb41a2d8f5 Author: Mike Frysinger Date: Mon Jun 8 18:44:45 2009 -0400 Blackfin: add preliminary support for STACKTRACE Signed-off-by: Mike Frysinger commit 5203fa82f3907a9c3357f84aa1cdfb57e55cc175 Author: Mike Frysinger Date: Mon Jun 8 18:40:28 2009 -0400 Blackfin: move custom sections into sections.h The Blackfin arch has a bunch of custom section markings for its on-chip regions, but they aren't declared in the right header. Signed-off-by: Mike Frysinger commit e38eb89210ce7171291e4164c24b8d1e6c5385ea Author: Mike Frysinger Date: Mon Jun 8 18:11:21 2009 -0400 Blackfin: punt unused/wrong mutex-dec.h Looks like the mutex-dec.h header file was incorrectly copied into the Blackfin asm path. Nothing uses it, so punt it. Signed-off-by: Mike Frysinger commit 8f86001f76609f70bfcce34e7e2a11860e012ace Author: Mike Frysinger Date: Mon Jun 8 12:49:48 2009 -0400 Blackfin: add support for irqflags This converts the irq handling in the Blackfin arch from the old irq.h / system.h method to the new irqflags.h. A stepping stone on the way to other tracing functionality. Signed-off-by: Mike Frysinger commit 538067c822e2512d9a165c71c0c5722168470304 Author: Mike Frysinger Date: Sun Jun 7 03:47:01 2009 -0400 Blackfin: add support for bzip2/lzma compressed kernel images Since U-Boot can support these compression types, add appropriate targets to the Blackfin boot files. Signed-off-by: Mike Frysinger commit bac7d89ebe64eca9ce63ee6a5e4341d252671467 Author: Mike Frysinger Date: Sun Jun 7 03:46:06 2009 -0400 Blackfin: convert Kconfig style to def_bool Makes the file easier to read when there isn't so much clutter. Signed-off-by: Mike Frysinger commit 7a8b71db9dbb87640ffabcf42285781a808de342 Author: Mike Frysinger Date: Fri Jun 5 20:41:17 2009 -0400 Blackfin: bf548-ezkit: update smsc911x resources The older smsc911x driver made platform data optional, but the newer one always requires it, so add proper settings to the BF548-EZKIT. Signed-off-by: Mike Frysinger commit 6640cfa82b77fa63f6d3fc284dbd3ab957842936 Author: Yi Li Date: Thu Jun 11 01:51:57 2009 -0400 Blackfin: update aedos-ipipe code to upstream 1.10-00 Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 4f84b6e0bb9a7d92c791ba3607674c98f69418cb Author: Mike Frysinger Date: Wed Jun 10 20:45:48 2009 -0400 Blackfin: bf537-stamp: update ADP5520 resources The ADP5520 hooks up to PF7 rather than PG0. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit a427293f84ea2491fbdcfbddadc2a2f68e0d2969 Author: Graf Yang Date: Wed Jun 10 08:45:12 2009 +0000 Blackfin: bf518f-ezbrd: fix SPI CS for SPI flash The SPI flash on the BF518F-EZBRD board is actually hooked up to CS2, not CS1, so make sure the resources are correct. URL: http://blackfin.uclinux.org/gf/tracker/5220 Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 53122693c3cef005495279835286c36c58e035e8 Author: Yi Li Date: Fri Jun 5 12:11:11 2009 +0000 Blackfin: define SPI IRQ in board resources The Blackfin SPI driver can be driven by an IRQ now, so declare it in the board resources. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 54ebae7166275a618f0228138e67ff7d10a3b9d0 Author: Robin Getz Date: Wed Jun 10 06:11:21 2009 +0000 Blackfin: do not configure the UART early if on wrong processor Before we configure the early UART, check to make sure we are running on the expected processor - otherwise, we cause problems by configuring pins that don't exist (and causing an infinite loop of faults). Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 86f2008bf546af9a434f480710e8d33891616bf5 Author: Sonic Zhang Date: Wed Jun 10 08:42:41 2009 +0000 Blackfin: fix deadlock in SMP IPI handler When a low priority interrupt (like ethernet) is triggered between 2 high priority IPI messages, a deadlock in disable_irq() is hit by the second IPI handler. This is because the second IPI message is queued within the first IPI handler, but the handler doesn't process all messages, and new ones are inserted rather than appended. So now we process all the pending messages, and append new ones to the pending list. URL: http://blackfin.uclinux.org/gf/tracker/5226 Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit f9ee3ab81c222219ad4467b75b406efe2616d8a4 Author: Mike Frysinger Date: Mon Jun 8 09:51:30 2009 -0400 Blackfin: fix flag storage for irq funcs The IRQ functions take an "unsigned long" flags variable, not any other type, so fix the places where we use "int" or "long". Signed-off-by: Mike Frysinger commit 82bd1d7d45a69c54fb6beedb78ccb1c7d308dd93 Author: Mike Frysinger Date: Sun Jun 7 17:08:28 2009 -0400 Blackfin: push down exception oops checking Rather than maintain a duplicate list of valid exceptions we can take in the kernel both in the first if() check and the switch() check, delay the oops check to after the switch(). All valid exceptions will have returned by this point leaving only the invalid ones. Signed-off-by: Mike Frysinger commit 6510a20e1b1a3a5703429a09d03adf44882ae373 Author: Mike Frysinger Date: Sun Jun 7 15:07:25 2009 -0400 Blackfin: fix trap_c() exit paths The trap_c() code pushes the hardware trace status onto the stack, but doesn't always restore it when returning from some trap code paths. So unify the exit code paths to all head to the end of the function. Signed-off-by: Mike Frysinger commit 47e9dedb720364e0adff0e99960fa294c6161f71 Author: Sonic Zhang Date: Wed Jun 10 08:57:08 2009 +0000 Blackfin: add blackfin_invalidate_entire_icache for SMP systems The KGDB code uses this when switching processors to make sure the icache is in a valid state. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2466ac65560ee8b7506eea3987aba9519355fd02 Author: Robin Getz Date: Mon Jun 8 17:52:27 2009 +0000 Blackfin: include the cpu compiled version in /proc/cpuinfo Since the compiled-for cpu revision can be significant, include it in the cpuinfo output along side the cpu revision we're currently running on. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 70f12567ac9aca9c2f242ae060d7de245904889e Author: Mike Frysinger Date: Sun Jun 7 17:18:25 2009 -0400 Blackfin: add support for GENERIC_BUG Signed-off-by: Mike Frysinger commit 67834fa93d7a4fac9069a07e739110d3916d8cd4 Author: Jie Zhang Date: Wed Jun 10 06:26:26 2009 +0000 Blackfin: rename bfin_addr_dcachable to bfin_addr_dcacheable The latter naming convention is much more common. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit aa286ba3aef7d1b78467313111a13888fb4c3a66 Author: Mike Frysinger Date: Fri Jun 5 16:43:39 2009 +0000 Blackfin: export ip_compute_csum/csum_partial_copy_from_user symbols All other arches do this, and some places like the net/scsi code will fail as modules without them. Signed-off-by: Mike Frysinger commit 16aadcb680e188bd0a6d7b0ecd5d0ceabd4fba4d Author: Robin Getz Date: Tue Jun 9 01:18:41 2009 +0000 Blackfin: only handle CPLB protection violations when MPU is enabled We don't need to handle CPLB protection violations unless we are running with the MPU on. Fix the entry code to call common trap_c, and remove the code which is never run. This allows the traps test suite to run on older boards with the MPU disabled. URL: http://blackfin.uclinux.org/gf/tracker/5129 Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f4db43a38f7387c3b19c9565124c06ab0c5d6e9a Author: Jaswinder Singh Rajput Date: Sat Jun 13 01:06:21 2009 +0530 perf_counter, x86: Update AMD hw caching related event table All AMD models share the same hw caching related event table. Also complete the table with more events. Signed-off-by: Jaswinder Singh Rajput Cc: Robert Richter Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244835381.2802.2.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 4d2be1267fcfb3a4d2198fd696aec5e3dcbce60e Author: Jaswinder Singh Rajput Date: Thu Jun 11 15:28:09 2009 +0530 perf_counter, x86: Check old-AMD performance monitoring support AMD supports performance monitoring start from K7 (i.e. family 6), so disable it for earlier AMD CPUs. Signed-off-by: Jaswinder Singh Rajput Cc: Robert Richter Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244714289.6923.0.camel@ht.satnam> Signed-off-by: Ingo Molnar commit d5e8da6449d4ef4bac35ea9b9719a2cda02e7b39 Author: Marti Raudsepp Date: Sat Jun 13 02:35:01 2009 +0300 perf_counter: Fix stack corruption in perf_read_hw With PERF_FORMAT_ID, perf_read_hw now needs space for up to 4 values. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 87847b8f26cc7176ec9b239898dc7ce47a94e1a6 Author: Paul Mackerras Date: Sat Jun 13 17:06:50 2009 +1000 perf_counter: Fix atomic_set vs. atomic64_t type mismatch Using atomic_set on an atomic64_t variable gives a compiler warning on powerpc, and won't give the desired result at runtime. This fixes an instance of this error in the perf_counter code. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18995.20490.979429.244883@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 971738f3669092dd247eaf89658f2685180492a0 Author: Frederic Weisbecker Date: Sat Jun 13 00:11:22 2009 +0200 perf annotate: Print a sorted summary of annotated overhead lines It's can be very annoying to scroll down perf annotated output until we find relevant overhead. Using the -l option, you can now have a small summary sorted per overhead in the beginning of the output. Example: ./perf annotate -l -k ../../vmlinux -s __lock_acquire Sorted summary for file ../../vmlinux ---------------------------------------------- 12.04 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 4.61 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 3.77 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1775 3.56 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 2.93 /home/fweisbec/linux/linux-2.6-tip/arch/x86/include/asm/irqflags.h:15 2.83 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2545 2.30 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2594 2.20 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2388 2.20 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 2.09 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 2.09 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:138 1.88 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2548 1.47 /home/fweisbec/linux/linux-2.6-tip/arch/x86/include/asm/irqflags.h:15 1.36 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2594 1.36 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 1.26 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1654 1.26 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2592 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 [...] Only overhead over 0.5% are summarized. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244844682-12928-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 301406b9c69e4914cf45ae9d5f929e7bcf0d93cd Author: Frederic Weisbecker Date: Sat Jun 13 00:11:21 2009 +0200 perf annotate: Print the filename:line for annotated colored lines When we have a colored line in perf annotate, ie a middle/high overhead one, it's sometimes useful to get the matching line and filename from the source file, especially this path prepares to another subsequent one which will print a sorted summary of midle/high overhead lines in the beginning of the output. Filename:Lines have the same color than the concerned ip lines. It can be slow because it relies on addr2line. We could also use objdump with -l but that implies we would have to bufferize objdump output and parse it to filter the relevant lines since we want to print a sorted summary in the beginning. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244844682-12928-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3dd5d7e3ba5e9b05586ff0d59ae6d700b7b7c607 Author: Joe Perches Date: Sat Jun 13 12:32:39 2009 +0200 x_tables: Convert printk to pr_err Signed-off-by: Joe Perches Signed-off-by: Patrick McHardy commit dd7669a92c6066b2b31bae7e04cd787092920883 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:30:52 2009 +0200 netfilter: conntrack: optional reliable conntrack event delivery This patch improves ctnetlink event reliability if one broadcast listener has set the NETLINK_BROADCAST_ERROR socket option. The logic is the following: if an event delivery fails, we keep the undelivered events in the missed event cache. Once the next packet arrives, we add the new events (if any) to the missed events in the cache and we try a new delivery, and so on. Thus, if ctnetlink fails to deliver an event, we try to deliver them once we see a new packet. Therefore, we may lose state transitions but the userspace process gets in sync at some point. At worst case, if no events were delivered to userspace, we make sure that destroy events are successfully delivered. Basically, if ctnetlink fails to deliver the destroy event, we remove the conntrack entry from the hashes and we insert them in the dying list, which contains inactive entries. Then, the conntrack timer is added with an extra grace timeout of random32() % 15 seconds to trigger the event again (this grace timeout is tunable via /proc). The use of a limited random timeout value allows distributing the "destroy" resends, thus, avoiding accumulating lots "destroy" events at the same time. Event delivery may re-order but we can identify them by means of the tuple plus the conntrack ID. The maximum number of conntrack entries (active or inactive) is still handled by nf_conntrack_max. Thus, we may start dropping packets at some point if we accumulate a lot of inactive conntrack entries that did not successfully report the destroy event to userspace. During my stress tests consisting of setting a very small buffer of 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket flag, and generating lots of very small connections, I noticed very few destroy entries on the fly waiting to be resend. A simple way to test this patch consist of creating a lot of entries, set a very small Netlink buffer in conntrackd (+ a patch which is not in the git tree to set the BROADCAST_ERROR flag) and invoke `conntrack -F'. For expectations, no changes are introduced in this patch. Currently, event delivery is only done for new expectations (no events from expectation expiration, removal and confirmation). In that case, they need a per-expectation event cache to implement the same idea that is exposed in this patch. This patch can be useful to provide reliable flow-accouting. We still have to add a new conntrack extension to store the creation and destroy time. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit d219dce76c64f2c883dad0537fa09a56d5ff0a10 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:28:57 2009 +0200 list_nulls: add hlist_nulls_add_head and hlist_nulls_del This patch adds the hlist_nulls_add_head() function which is based on hlist_nulls_add_head_rcu() but without the use of rcu_assign_pointer(). It also adds hlist_nulls_del which is exactly the same like hlist_nulls_del_rcu(). Signed-off-by: Pablo Neira Ayuso Acked-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 9858a3ae1d4b390fbaa9c30b83cb66d861b76294 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:28:22 2009 +0200 netfilter: conntrack: move helper destruction to nf_ct_helper_destroy() This patch moves the helper destruction to a function that lives in nf_conntrack_helper.c. This new function is used in the patch to add ctnetlink reliable event delivery. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit a0891aa6a635f658f29bb061a00d6d3486941519 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:26:29 2009 +0200 netfilter: conntrack: move event caching to conntrack extension infrastructure This patch reworks the per-cpu event caching to use the conntrack extension infrastructure. The main drawback is that we consume more memory per conntrack if event delivery is enabled. This patch is required by the reliable event delivery that follows to this patch. BTW, this patch allows you to enable/disable event delivery via /proc/sys/net/netfilter/nf_conntrack_events in runtime, although you can still disable event caching as compilation option. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 65cb9fda32be613216f601a330b311c3bd7a8436 Author: Patrick McHardy Date: Sat Jun 13 12:21:49 2009 +0200 netfilter: nf_conntrack: use mod_timer_pending() for conntrack refresh Use mod_timer_pending() instead of atomic sequence of del_timer()/ add_timer(). mod_timer_pending() does not rearm an inactive timer, so we don't need the conntrack lock anymore to make sure we don't accidentally rearm a timer of a conntrack which is in the process of being destroyed. With this change, we don't need to take the global lock anymore at all, counter updates can be performed under the per-conntrack lock. Signed-off-by: Patrick McHardy commit 266d07cb1c9a0c345d7d3aea889f92062894059e Author: Patrick McHardy Date: Sat Jun 13 12:21:10 2009 +0200 netfilter: nf_log: fix sleeping function called from invalid context Fix regression introduced by 17625274 "netfilter: sysctl support of logger choice": BUG: sleeping function called from invalid context at /mnt/s390test/linux-2.6-tip/arch/s390/include/asm/uaccess.h:234 in_atomic(): 1, irqs_disabled(): 0, pid: 3245, name: sysctl CPU: 1 Not tainted 2.6.30-rc8-tipjun10-02053-g39ae214 #1 Process sysctl (pid: 3245, task: 000000007f675da0, ksp: 000000007eb17cf0) 0000000000000000 000000007eb17be8 0000000000000002 0000000000000000 000000007eb17c88 000000007eb17c00 000000007eb17c00 0000000000048156 00000000003e2de8 000000007f676118 000000007eb17f10 0000000000000000 0000000000000000 000000007eb17be8 000000000000000d 000000007eb17c58 00000000003e2050 000000000001635c 000000007eb17be8 000000007eb17c30 Call Trace: (<00000000000162e6> show_trace+0x13a/0x148) <00000000000349ea> __might_sleep+0x13a/0x164 <0000000000050300> proc_dostring+0x134/0x22c <0000000000312b70> nf_log_proc_dostring+0xfc/0x188 <0000000000136f5e> proc_sys_call_handler+0xf6/0x118 <0000000000136fda> proc_sys_read+0x26/0x34 <00000000000d6e9c> vfs_read+0xac/0x158 <00000000000d703e> SyS_read+0x56/0x88 <0000000000027f42> sysc_noemu+0x10/0x16 Use the nf_log_mutex instead of RCU to fix this. Reported-and-tested-by: Maran Pakkirisamy Signed-off-by: Patrick McHardy commit 8dcce4081305d3d1629190edd112e6473c315cbc Merge: f3ad116 103f703 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 12:00:54 2009 +0200 Merge branch 'bp-remove-pc-buf' into for-next Conflicts: drivers/ide/ide-tape.c commit cd6d95d8449b7c9f415f26041e9ae173d387b6bd Author: Thomas Gleixner Date: Fri Jun 12 11:29:27 2009 +0200 clocksource: prevent selection of low resolution clocksourse also for nohz=on commit 3f68535adad (clocksource: sanity check sysfs clocksource changes) prevents selection of non high resolution capable clocksources when high resolution mode is active, but did not take into account that the same rules apply for highres=off nohz=on. Check the tick device mode instead of hrtimer_hres_active() to verify whether the system needs to be protected from a switch to jiffies or other non highres capable clock sources. Reported-by: Luming Yu Signed-off-by: Thomas Gleixner commit dd14be4c274fc484eccace03ae9726e516630331 Author: Richard Röjfors Date: Fri Jun 5 15:40:32 2009 +0200 i2c-ocores: Can add I2C devices to the bus There is sometimes a need for the ocores driver to add devices to the bus when installed. i2c_register_board_info can not always be used, because the I2C devices are not known at an early state, they could for instance be connected on a I2C bus on a PCI device which has the Open Cores IP. i2c_new_device can not be used in all cases either since the resulting bus nummer might be unknown. The solution is the pass a list of I2C devices in the platform data to the Open Cores driver. This is useful for MFD drivers. Signed-off-by: Richard Röjfors Signed-off-by: Ben Dooks commit 7d85ccd816535f56880f7dfdb4de056794376b2c Author: Ben Dooks Date: Fri Jun 12 10:45:29 2009 +0100 i2c-s3c2410: move to using platform idtable to match devices Change to using platform id table to match either of the two supported platform device names in the driver. This simplifies the driver init and exit code Note, log messages will now be prefixed with 's3c-i2c' instead of the driver name, so output will be of the form of: s3c-i2c s3c2440-i2c.0: slave address 0x10 Signed-off-by: Ben Dooks commit 84bf2c868f3ca996e5bbd3beb2ef502f457140f3 Author: Aaro Koskinen Date: Wed May 27 17:54:46 2009 +0300 i2c: OMAP3: Better noise suppression for fast/standard modes Use longer noise filter period for fast and standard mode. Based on an earlier patch by Eero Nurkkala. Signed-off-by: Aaro Koskinen Acked-by: Tony Lindgren Signed-off-by: Ben Dooks commit baf46b4e378d7950dff7ba30cfd50ff585987cb4 Author: Aaro Koskinen Date: Wed May 27 17:54:45 2009 +0300 i2c: OMAP2/3: Fix scll/sclh calculations Fix scll/sclh calculations for HS and fast modes. Currently the driver uses equal (roughly) low/high times which will result in too short low time. OMAP3430 TRM gives the following equations: F/S: tLow = (scll + 7) * internal_clk tHigh = (sclh + 5) * internal_clk HS: tLow = (scll + 7) * fclk tHigh = (sclh + 5) * fclk Furthermore, the I2C specification sets the following minimum values for HS tLow/tHigh for capacitive bus loads 100 pF (maximum speed 3400) and 400 pF (maximum speed 1700): speed tLow tHigh 3400 160 ns 60 ns 1700 320 ns 120 ns and for F/S: speed tLow tHigh 400 1300 ns 600 ns 100 4700 ns 4000 ns By using duty cycles 33/66 (HS, F) and 50/50 (S) we stay above these minimum values. Signed-off-by: Aaro Koskinen Acked-by: Tony Lindgren Signed-off-by: Ben Dooks commit e0cd2dd5dd2b7c6512e46ce0b4f119cd7b0c74a4 Author: Michael Hennerich Date: Wed May 27 09:24:10 2009 +0000 i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality Some drivers need i2c_smbus_read_i2c_block_data() functionality, so add support for it to the Blackfin I2C bus driver. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger [ben-linux@fluff.org: shortened subject] Signed-off-by: Ben Dooks commit 94327d009e3aa20214e9dfa486a1fd14445fe736 Author: Frank Shew Date: Tue May 19 07:23:49 2009 -0400 i2c: Blackfin TWI: fix transfer errors with repeat start We have a custom BF537 board with an I2C RTC (MAX DS3231) running uclinux 2007R1 for some time. Recently during migration to 2008R1.5-RC3 we losted access to the RTC. The RTC driver calls 'i2c_transfer()' which in turns calls 'bfin_twi_master_xfer()' in i2c-bfin-twi.c. Compared with 2007R1, it looks like the 2008R1.5 version of i2c-bin-twi.c has a new mode 'TWI_I2C-MODE_REPEAT' which corresponds to the Repeat Start Condition described in the HRM. However, according to the HRM, at XMIT or RECV interrupt and when the data count is 0, not only is the RESTART bit supposed to be set, but MDIR must also be set if the next operation is a receive sequence, and cleared if not. Currently there is no code that looks at the I2C_M_RD bit in the flag from the next cur_msg and set/clear the MDIR flag accordingly at the same time that the RSTART bit is set. Instead, MDIR is set or cleared (by OR'ing with 0?) after the RESTART bit has been cleared during handling of MCOMP interrupt. It appears that this is causing our failure with reading the RTC, as a quick patch to set/clear MDIR when RESTART is set seem to solve our problem. Signed-off-by: Frank Shew Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shorted subject] Signed-off-by: Ben Dooks commit 57a8f32eafa6f36ea3a128e8b13f353c5a3ca9b2 Author: Sonic Zhang Date: Tue May 19 07:21:58 2009 -0400 i2c: Blackfin TWI: fix REPEAT START mode doesn't repeat Avoid rewrite TWI MASTER_CTL reg when issue next message In i2c repeat transfer mode, byte count of next message should be filled into part of the TWI MASTER_CTL reg when interrupt MCOMP of last message transfer is triggered. But, other bits in this reg should not be touched. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shorted subject] Signed-off-by: Ben Dooks commit 9528d1c7a541b481a0e80301dc8d545848104023 Author: Michael Hennerich Date: Mon May 18 08:14:41 2009 -0400 i2c: Blackfin TWI: make sure we don't end up with a CLKDIV=0 Make sure we don't end up with an invalid CLKDIV=0 in case someone specifies 20kHz SCL or less (5 * 1024 / 20 = 0x100). Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shortened subject line] Signed-off-by: Ben Dooks commit 5b548140225c6bbbbd560551dd1048b2c0ce58be Author: Patrick McHardy Date: Fri Jun 12 06:22:29 2009 +0000 net: use symbolic values for ndo_start_xmit() return codes Convert magic values 1 and -1 to NETDEV_TX_BUSY and NETDEV_TX_LOCKED respectively. 0 (NETDEV_TX_OK) is not changed to keep the noise down, except in very few cases where its in direct proximity to one of the other values. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b2c4b972c0226406361f83b747eb5cdab51e68e Author: Patrick McHardy Date: Fri Jun 12 06:14:36 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 8) Fix up USB drivers that return an errno value (result of usb_submit_urb()) to qdisc_restart(), causing qdisc_restart() to print a warning and requeue/ retransmit the skb. - hso: skb is freed: use after free - at76_usb: skb is freed: use after free Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 81fbbf60408ad6b98ff72120de948cb7fd2498d0 Author: Patrick McHardy Date: Fri Jun 12 05:34:37 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 7) Fix up ATM drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - lec: condition can only be remedied by userspace, until that retransmissions Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 98ca4a46d27348476c9196ebc0a0c5297431d90f Author: Patrick McHardy Date: Fri Jun 12 05:20:01 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 6) Fix up hamradio drivers that return an errno value to dev_queue_xmit(), causing it to print a warning an free the skb. - bpqether: skb is freed: use after free Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ae71bafdd4ce29856addfede1ab7046f4e45775b Author: Patrick McHardy Date: Fri Jun 12 05:13:07 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 5) Fix up s390 drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - claw: impossible condition, simply remove it Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 47f88c99c2ad0c05dd415e1c2a6d59426eb305ed Author: Patrick McHardy Date: Fri Jun 12 04:37:34 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 4) Fix up WAN drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - cycx_x25: intention appears to be to requeue the skb Does not compile cleanly for me even without this patch, so untested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4153e77596c4caaf52293b0c6b2207d73ed8f1eb Author: Patrick McHardy Date: Fri Jun 12 04:08:02 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 3) net: fix network drivers ndo_start_xmit() return values (part 3) Fix up wireless drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - airo: transmission not implemented for chip, intention is to free and abort - ipw2200: transmission not implemented for promiscous mode, intention is to drop - prism54: intention is to drop - wl3501_cs: intention appears to be to drop - zd1201: error counter indicates intention is to drop All drivers compile tested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bd73ae2682d9069746bb049a416d9ab90c6684b Author: Patrick McHardy Date: Fri Jun 12 03:17:19 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 2) Fix up IRDA drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - donauboe: intention appears to be to have the skb retransmitted without error message - irda-usb: intention is to drop silently according to comment - kingsub-sir: skb is freed: use after free - ks959-sir: skb is freed: use after free - ksdazzle-sir: skb is freed: use after free - mcs7880: skb is freed: use after free All but donauboe compile tested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3790c8cdb99f23824b23cb16df608281b335ee91 Author: Patrick McHardy Date: Fri Jun 12 03:00:35 2009 +0000 net: fix network driver ndo_start_xmit() return values (part 1) Fix up drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning and requeue/retransmit the skb. - xpnet: memory allocation error, intention is to drop - ethoc: oversized packet, packet must be dropped - ibmlana: skb freed: use after free - rrunner: skb freed: use after free Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e46b0c8c08cd97eb8f9a523986908add3ece0cc6 Author: Takashi Iwai Date: Sat Jun 13 10:16:43 2009 +0200 ALSA: hda - Add quirk for Acer Aspire 6935G Added model=acer-aspire-8930g for Acer Aspire 6935G (1025:0146). Signed-off-by: Takashi Iwai commit 635c265f32d8a3f73402813d6a8dd47f2a363df5 Author: Takashi Iwai Date: Sat Jun 13 10:12:59 2009 +0200 ALSA: ctxfi - Replace atc lock to mutex The spinlock in atc can cause a sleep in lock: Kernel failure message 1: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 2537, name: gstreamer-prope Pid: 2537, comm: gstreamer-prope Tainted: P 2.6.29.4-167.fc11.x86_64 #1 Call Trace: [] __might_sleep+0x10b/0x110 [] __kmalloc+0x73/0x130 [] ? daio_rsc_init+0xaa/0x125 [snd_ctxfi] [] dao_rsc_init+0x55/0x1c0 [snd_ctxfi] [] dao_rsc_reinit+0x55/0x5d [snd_ctxfi] [] ? _spin_lock_irqsave+0x32/0x3b [] atc_spdif_out_passthru+0x92/0x136 [snd_ctxfi] ... Since the lock path is no critical path, it can be gracefully replaced with a mutex. Signed-off-by: Takashi Iwai commit 456db8cc450c4b5e7f8a4b6ffe1ab340061e7f7d Author: Pekka Enberg Date: Mon Apr 28 22:47:29 2008 +0300 kmemcheck: add Vegard and Pekka to MAINTAINERS Acked-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 7c692cbade8b8884f1c20500393bcc7cd6d24ef8 Author: Vegard Nossum Date: Wed May 21 22:53:13 2008 +0200 tasklets: new tasklet scheduling function Rationale: kmemcheck needs to be able to schedule a tasklet without touching any dynamically allocated memory _at_ _all_ (since that would lead to a recursive page fault). This tasklet is used for writing the error reports to the kernel log. The new scheduling function avoids touching any other tasklets by inserting the new tasklist as the head of the "tasklet_hi" list instead of on the tail. Also don't wake up the softirq thread lest the scheduler access some tracked memory and we go down with a recursive page fault. In this case, we'd better just wait for the maximum time of 1/HZ for the message to appear. Signed-off-by: Vegard Nossum commit 8eae985f08138758e06503588f5f1196269bc415 Author: Pekka Enberg Date: Fri May 9 20:32:44 2008 +0200 slab: move struct kmem_cache to headers Move the SLAB struct kmem_cache definition to like with SLUB so kmemcheck can access ->ctor and ->flags. Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit fd40261354802b0f05f6f67121235aa002e87069 Merge: f3ad116 e83f1eb Author: Felix Blyakher Date: Fri Jun 12 21:28:59 2009 -0500 Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus commit e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3 Author: Christoph Hellwig Date: Fri Jun 12 11:19:11 2009 -0400 xfs: fix small mismerge in xfs_vn_mknod Identation got messed up when merging the current_umask changes with the generic ACL support. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 493b87e5ed352cf548e6456ddfc36576e28278ea Author: Christoph Hellwig Date: Fri Jun 12 11:34:55 2009 -0400 xfs: fix warnings with CONFIG_XFS_QUOTA disabled Fix warnings about unitialized dquot variables by making sure xfs_qm_vop_dqalloc touches it even when quotas are disabled. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f3ad116588151b3371ae4e092290e4f48e62b8bb Merge: d645727 420118c Author: Linus Torvalds Date: Fri Jun 12 18:21:19 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs: configfs: Rework configfs_depend_item() locking and make lockdep happy configfs: Silence lockdep on mkdir() and rmdir() commit d645727bdc2aed8e2e0e9496248f735481b5049a Merge: cd166bd 310d6b6 Author: Linus Torvalds Date: Fri Jun 12 18:18:05 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: (30 commits) [S390] wire up sys_perf_counter_open [S390] wire up sys_rt_tgsigqueueinfo [S390] ftrace: add system call tracer support [S390] ftrace: add function graph tracer support [S390] ftrace: add function trace mcount test support [S390] ftrace: add dynamic ftrace support [S390] kprobes: use probe_kernel_write [S390] maccess: arch specific probe_kernel_write() implementation [S390] maccess: add weak attribute to probe_kernel_write [S390] profile_tick called twice [S390] dasd: forward internal errors to dasd_sleep_on caller [S390] dasd: sync after async probe [S390] dasd: check_characteristics cleanup [S390] dasd: no High Performance FICON in 31-bit mode [S390] dcssblk: revert devt conversion [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs [S390] vmalloc: add vmalloc kernel parameter support [S390] uaccess: use might_fault() instead of might_sleep() [S390] 3270: lock dependency fixes [S390] 3270: do not register with tty_register_device ... commit cd166bd0dde265a97dd9aa8e3451a2646d96d04b Merge: 6b70246 5b02ee3 Author: Linus Torvalds Date: Fri Jun 12 18:15:51 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: add generic lib/checksum.c asm-generic: add a generic uaccess.h asm-generic: add generic NOMMU versions of some headers asm-generic: add generic atomic.h and io.h asm-generic: add legacy I/O header files asm-generic: add generic versions of common headers asm-generic: make bitops.h usable asm-generic: make pci.h usable directly asm-generic: make get_rtc_time overridable asm-generic: rename page.h and uaccess.h asm-generic: rename atomic.h to atomic-long.h asm-generic: add a generic unistd.h asm-generic: add generic ABI headers asm-generic: add generic sysv ipc headers asm-generic: introduce asm/bitsperlong.h asm-generic: rename termios.h, signal.h and mman.h commit 6b702462cbe5b6f372966a53f4465d745d86b65c Merge: 947ec0b 3c24475 Author: Linus Torvalds Date: Fri Jun 12 18:09:18 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: (50 commits) drm: include kernel list header file in hashtab header drm: Export hash table functionality. drm: Split out the mm declarations in a separate header. Add atomic operations. drm/radeon: add support for RV790. drm/radeon: add rv740 drm support. drm_calloc_large: check right size, check integer overflow, use GFP_ZERO drm: Eliminate magic I2C frobbing when reading EDID drm/i915: duplicate desired mode for use by fbcon. drm/via: vfree() no need checking before calling it drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds drm: add separate drm debugging levels radeon: remove _DRM_DRIVER from the preadded sarea map drm: don't associate _DRM_DRIVER maps with a master drm: simplify kcalloc() call to kzalloc(). intelfb: fix spelling of "CLOCK" drm: fix LOCK_TEST_WITH_RETURN macro drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect) ... commit e0057975e09a85ac92be81e975d0d0a911b1c4c6 Author: Samuel Ortiz Date: Fri Jun 5 16:12:00 2009 +0200 irda: add git tree to MAINTAINERS file We now have an IrDA git tree on kernel.org: git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git Signed-off-by: Samuel Ortiz commit adbf7f01e78287701c0270a5262f319935d94082 Author: Roel Kluin Date: Fri Jun 5 12:54:44 2009 +0200 irda: smsc wait count reaches -1 The sir retries count reaches -1 rather than 0. Signed-off-by: Roel Kluin Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit d510fe70db4c62ac899c486506fdfb7f3b518c86 Author: Graff Yang Date: Tue May 12 13:47:54 2009 -0700 irda: new Blackfin on-chip SIR IrDA driver Signed-off-by: Graff Yang Cc: Mike Frysinger Cc: Bryan Wu Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit b618ad31bb2020db6a36929122e5554e33210d47 Author: Vegard Nossum Date: Fri Jun 13 15:31:11 2008 +0200 stacktrace: add forward-declaration struct task_struct This is needed if the header is to be free-standing. Signed-off-by: Vegard Nossum commit acc6be5405b90c9f0fb0eb8a74ec4d4b7b5bf48f Author: Vegard Nossum Date: Tue May 20 11:15:43 2008 +0200 x86: add save_stack_trace_bp() for tracing from a specific stack frame This will help kmemcheck (and possibly other debugging tools) since we can now simply pass regs->bp to the stack tracer instead of specifying the number of stack frames to skip, which is unreliable if gcc decides to inline functions, etc. Note that this makes the API incomplete for other architectures, but I expect that those can be updated lazily, e.g. when they need it. Cc: Arjan van de Ven Signed-off-by: Vegard Nossum commit 947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e Merge: c53567a 5818a6e Author: Linus Torvalds Date: Fri Jun 12 13:17:27 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: PM: Add empty suspend/resume device irq functions PM/Hibernate: Move NVS routines into a seperate file (v2). PM/Hibernate: Rename disk.c to hibernate.c PM: Separate suspend to RAM functionality from core Driver Core: Rework platform suspend/resume, print warning PM: Remove device_type suspend()/resume() PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) PM/Suspend: Do not shrink memory before suspend PM: Remove bus_type suspend_late()/resume_early() V2 PM core: rename suspend and resume functions PM: Rename device_power_down/up() PM: Remove unused asm/suspend.h x86: unify power/cpu_(32|64).c x86: unify power/cpu_(32|64) copyright notes x86: unify power/cpu_(32|64) regarding restoring processor state x86: unify power/cpu_(32|64) regarding saving processor state x86: unify power/cpu_(32|64) global variables x86: unify power/cpu_(32|64) headers PM: Warn if interrupts are enabled during suspend-resume of sysdevs PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c commit c53567ad4528b6efefc3fc22a354d20f6226a098 Merge: 4ddbac9 748285c Author: Linus Torvalds Date: Fri Jun 12 13:17:12 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: use more NOFS allocation dlm: connect to nodes earlier dlm: fix use count with multiple joins dlm: Make name input parameter of {,dlm_}new_lockspace() const commit 4ddbac98980fe0a42cf57af5d1032e024aced6a1 Merge: 02a99ed 018df72 Author: Linus Torvalds Date: Fri Jun 12 13:16:52 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Start documenting HAVE_PERF_COUNTERS requirements perf_counter: Add forward/backward attribute ABI compatibility perf record: Explicity program a default counter perf_counter: Remove PERF_TYPE_RAW special casing perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too powerpc, perf_counter: Fix performance counter event types perf_counter/x86: Add a quirk for Atom processors perf_counter tools: Remove one L1-data alias commit 02a99ed6207e9a1d787bb360ef97de023c7edf4a Merge: 2b10dc4 3447ef2 Author: Linus Torvalds Date: Fri Jun 12 13:15:17 2009 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (55 commits) microblaze: Don't use access_ok for unaligned microblaze: remove unused flat_stack_align() definition microblaze: Fix problem with early_printk in startup microblaze_mmu_v2: Makefiles microblaze_mmu_v2: Kconfig update microblaze_mmu_v2: stat.h MMU update microblaze_mmu_v2: Elf update microblaze_mmu_v2: Update dma.h for MMU microblaze_mmu_v2: Update cacheflush.h microblaze_mmu_v2: Update signal returning address microblaze_mmu_v2: Traps MMU update microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU microblaze_mmu_v2: Update linker script for MMU microblaze_mmu_v2: Add MMU related exceptions handling microblaze_mmu_v2: uaccess MMU update microblaze_mmu_v2: Update exception handling - MMU exception microblaze_mmu_v2: entry.S, entry.h microblaze_mmu_v2: Add CURRENT_TASK for entry.S microblaze_mmu_v2: MMU asm offset update microblaze_mmu_v2: Update tlb.h and tlbflush.h ... commit 2b10dc45d15150434d7f206264e912eacbff734b Merge: 47ea421 bf664c0 Author: Linus Torvalds Date: Fri Jun 12 13:14:30 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (62 commits) Blackfin: fix sparseirq/kstat_irqs fallout Blackfin: fix unused warnings after nommu update Blackfin: export the last exception cause via debugfs Blackfin: fix length checking in kgdb_ebin2mem Blackfin: kgdb: fix up error return values Blackfin: push access_ok() L1 attribute down Blackfin: punt duplicated search_exception_table() prototype Blackfin: add missing access_ok() checks to user functions Blackfin: convert early_printk EVT init to a loop Blackfin: document the lsl variants of the L1 allocator Blackfin: rename Blackfin relocs according to the toolchain Blackfin: check SIC defines rather than variant names Blackfin: add SSYNC to set_dma_sg() for descriptor fetching Blackfin: convert SMP to only use generic time framework Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346 Blackfin: override default uClinux MTD addr/size Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT Blackfin: fix handling of initial L1 reservation Blackfin: merge sram init functions Blackfin: drop unused reserve_pda() function ... commit 47ea421af7479b90c481c94826f1c716fcf672cf Merge: e349792 c3bb4d2 Author: Linus Torvalds Date: Fri Jun 12 13:14:15 2009 -0700 Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 * 'for-linus' of git://linux-arm.org/linux-2.6: kmemleak: Add more info to the MAINTAINERS entry kmemleak: Remove the kmemleak.h include in drivers/char/vt.c commit 5818a6e2519b34cd6d0220d89f5729ab2725e1bf Author: Heiko Carstens Date: Thu Jun 11 21:59:21 2009 +0200 PM: Add empty suspend/resume device irq functions git commit 0a0c5168 "PM: Introduce functions for suspending and resuming device interrupts" introduced some helper functions. However these functions are only available for architectures which support GENERIC_HARDIRQS. Other architectures will see this build error: drivers/built-in.o: In function `sysdev_suspend': (.text+0x15138): undefined reference to `check_wakeup_irqs' drivers/built-in.o: In function `device_power_up': (.text+0x1cb66): undefined reference to `resume_device_irqs' drivers/built-in.o: In function `device_power_down': (.text+0x1cb92): undefined reference to `suspend_device_irqs' To fix this add some empty inline functions for !GENERIC_HARDIRQS. Signed-off-by: Heiko Carstens Signed-off-by: Rafael J. Wysocki commit fce2b111fae9151a53dabb36513b398d03337a19 Author: Cornelia Huck Date: Wed Jun 10 01:28:19 2009 +0200 PM/Hibernate: Move NVS routines into a seperate file (v2). The *_nvs_* routines in swsusp.c make use of the io*map() functions, which are only provided for HAS_IOMEM, thus breaking compilation if HAS_IOMEM is not set. Fix this by moving the *_nvs_* routines into hibernate_nvs.c, which is only compiled if HAS_IOMEM is set. [rjw: Change the name of the new file to hibernate_nvs.c, add the license line to the header comment.] Signed-off-by: Cornelia Huck Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 8b759b84c8b3c27ccc8dd787294636297b3ebb40 Author: Rafael J. Wysocki Date: Wed Jun 10 01:27:49 2009 +0200 PM/Hibernate: Rename disk.c to hibernate.c Change the name of kernel/power/disk.c to kernel/power/hibernate.c in analogy with the file names introduced by the changes that separated the suspend to RAM and standby funtionality from the common PM functions. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8 Author: Rafael J. Wysocki Date: Wed Jun 10 01:27:12 2009 +0200 PM: Separate suspend to RAM functionality from core Move the suspend to RAM and standby code from kernel/power/main.c to two separate files, kernel/power/suspend.c containing the basic functions and kernel/power/suspend_test.c containing the automatic suspend test facility based on the RTC clock alarm. There are no changes in functionality related to these modifications. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit 783ea7d4eeefe895f2731fe73ac951e94418927b Author: Magnus Damm Date: Thu Jun 4 22:13:33 2009 +0200 Driver Core: Rework platform suspend/resume, print warning This patch reworks the platform driver code for legacy suspend and resume to avoid installing callbacks in struct device_driver. A warning is also added telling users to update the platform driver to use dev_pm_ops. The functions platform_legacy_suspend()/resume() directly call suspend and resume callbacks in struct platform_driver instead of wrapping things in platform_drv_suspend()/resume(). Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 00725787511e20dbd1fdc1fb233606120ae5c8cf Author: Magnus Damm Date: Thu Jun 4 22:13:25 2009 +0200 PM: Remove device_type suspend()/resume() This patch removes the legacy callbacks ->suspend() and ->resume() from struct device_type. These callbacks seem unused, and new code should instead make use of struct dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit fe419535d82724314bbf1244a0e740e4ea1bd3ae Author: Rafael J. Wysocki Date: Thu Jun 11 23:11:17 2009 +0200 PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) A future patch is going to modify the memory shrinking code so that it will make memory allocations to free memory instead of using an artificial memory shrinking mechanism for that. For this purpose it is convenient to move swsusp_shrink_memory() from kernel/power/swsusp.c to kernel/power/snapshot.c, because the new memory-shrinking code is going to use things that are local to kernel/power/snapshot.c . [rev. 2: Make some functions static and remove their headers from kernel/power/power.h] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Wu Fengguang commit c6f37f12197ac3bd2e5a35f2f0e195ae63d437de Author: Rafael J. Wysocki Date: Sun May 24 22:16:31 2009 +0200 PM/Suspend: Do not shrink memory before suspend Remove the shrinking of memory from the suspend-to-RAM code, where it is not really necessary. Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Acked-by: Wu Fengguang commit e240b58c79144708530138e05f17c6d0d8d744a8 Author: Magnus Damm Date: Sun May 24 22:05:54 2009 +0200 PM: Remove bus_type suspend_late()/resume_early() V2 Remove the ->suspend_late() and ->resume_early() callbacks from struct bus_type V2. These callbacks are legacy stuff at this point and since there seem to be no in-tree users we may as well remove them. New users should use dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Pavel Machek Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit d161630297a20802d01c55847bfcba85d2118a9f Author: Alan Stern Date: Sun May 24 22:05:42 2009 +0200 PM core: rename suspend and resume functions This patch (as1241) renames a bunch of functions in the PM core. Rather than go through a boring list of name changes, suffice it to say that in the end we have a bunch of pairs of functions: device_resume_noirq dpm_resume_noirq device_resume dpm_resume device_complete dpm_complete device_suspend_noirq dpm_suspend_noirq device_suspend dpm_suspend device_prepare dpm_prepare in which device_X does the X operation on a single device and dpm_X invokes device_X for all devices in the dpm_list. In addition, the old dpm_power_up and device_resume_noirq have been combined into a single function (dpm_resume_noirq). Lastly, dpm_suspend_start and dpm_resume_end are the renamed versions of the former top-level device_suspend and device_resume routines. Signed-off-by: Alan Stern Acked-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit e39a71ef80877f4e30d808af9acceec80f4d2f7c Author: Magnus Damm Date: Fri May 15 00:53:26 2009 +0200 PM: Rename device_power_down/up() Rename the functions performing "_noirq" dev_pm_ops operations from device_power_down() and device_power_up() to device_suspend_noirq() and device_resume_noirq(). The new function names are chosen to show that the functions are responsible for calling the _noirq() versions to finalize the suspend/resume operation. The current function names do not perform power down/up anymore so the names may be misleading. Global function renames: - device_power_down() -> device_suspend_noirq() - device_power_up() -> device_resume_noirq() Static function renames: - suspend_device_noirq() -> __device_suspend_noirq() - resume_device_noirq() -> __device_resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Len Brown Signed-off-by: Rafael J. Wysocki commit 1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea Author: Magnus Damm Date: Fri May 15 00:52:00 2009 +0200 PM: Remove unused asm/suspend.h This patch removes unused asm/suspend.h files for the following architectures: alpha, arm, ia64, m68k, mips, s390, um Signed-off-by: Magnus Damm Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 08687aec71bc9134fe336e561f6877bacf74fc0a Author: Sergio Luis Date: Tue Apr 28 00:27:22 2009 +0200 x86: unify power/cpu_(32|64).c This is the last unification step. Here we do remove one of the files and rename the left one as cpu.c, as both are now the same. Also update power/Makefile, telling it to build cpu.o, instead of cpu_(32|64).o Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 6d48becd33a7921694ba1955ba91604d648020f1 Author: Sergio Luis Date: Tue Apr 28 00:27:18 2009 +0200 x86: unify power/cpu_(32|64) copyright notes In this step, we do unify the copyright notes for both files cpu_32.c and cpu_64.c, making such files exactly the same. It's the last step before the actual unification, that will rename one of them to cpu.c and remove the other one. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 3134d04b7790f7239b221f16c2d97db4d96ac3c0 Author: Sergio Luis Date: Tue Apr 28 00:27:05 2009 +0200 x86: unify power/cpu_(32|64) regarding restoring processor state In this step we do unify cpu_32.c and cpu_64.c functions that work on restoring the saved processor state. Also, we do eliminate the forward declaration of fix_processor_context() for X86_64, as it's not needed anymore. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit f9ebbe53e79c5978d0e8ead0843a3717b41ad3d5 Author: Sergio Luis Date: Tue Apr 28 00:27:00 2009 +0200 x86: unify power/cpu_(32|64) regarding saving processor state In this step we do unify cpu_32.c and cpu_64.c functions that work on saving the processor state. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 833b2ca0795526898a66c7b6770273bb16567e19 Author: Sergio Luis Date: Tue Apr 28 00:26:50 2009 +0200 x86: unify power/cpu_(32|64) global variables Aiming total unification of cpu_32.c and cpu_64.c, in this step we do unify the global variables and existing forward declarations for such files. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit f6783d20d4b85b360b4a6f86bdbd9282a4a7004c Author: Sergio Luis Date: Tue Apr 28 00:26:22 2009 +0200 x86: unify power/cpu_(32|64) headers First step towards the unification of cpu_32.c and cpu_64.c. This commit unifies the headers of such files, making both of them use the same header files. It also remove the uneeded . Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 62b0124761b9c2e304ee07dcf4db46c4a3dfec11 Author: Rafael J. Wysocki Date: Sat Apr 18 13:45:13 2009 +0200 PM: Warn if interrupts are enabled during suspend-resume of sysdevs Sysdevs have to be suspended and resumed with interrupts disabled and things usually break in a way that's difficult to debug if one of sysdev drivers enables interrupts by mistake during suspend or resume. Add extra checks that will generate warnings in such cases. Signed-off-by: Rafael J. Wysocki commit ce4b3c55475e451cb489e857640396c37ca88974 Author: Jaswinder Singh Rajput Date: Sat Apr 18 13:44:57 2009 +0200 PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c One of the numbers in arch/x86/kernel/acpi/sleep.c is long, but it is not annotated appropriately, so sparese warns about it. Fix that. [rjw: added the changelog.] Signed-off-by: Rafael J. Wysocki commit dc577d554a274b79a6ad05e9e1ac20c320200599 Author: Christof Schmitt Date: Fri May 15 13:18:22 2009 +0200 [SCSI] zfcp: Update FC pass-through support Don't access the block layer request, get the payload length instead from the FC job. Simplify access to the zfcp_port, only the d_id is required, if the port is no longer accessed later. This is possible when the els_handler does not access the port pointer from the ELS request. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9d544f2b9bd4a0f7ba2784cc47e3591667a7b8d4 Author: Sven Schuetz Date: Mon Apr 6 18:31:47 2009 +0200 [SCSI] zfcp: Add FC pass-through support Provide the ability to do fibre channel requests from the userspace to our zfcp driver. Patch builds upon extension to the fibre channel tranport class by James Smart and Seokmann Ju. See here http://marc.info/?l=linux-scsi&m=123808882309133&w=2 Signed-off-by: Sven Schuetz Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9e4f5e29610162fd426366f3b29e3cc6e575b858 Author: James Smart Date: Thu Mar 26 13:33:19 2009 -0400 [SCSI] FC Pass Thru support Attached is the ELS/CT pass-thru patch for the FC Transport. The patch creates a generic framework that lays on top of bsg and the SGIO v4 ioctl in order to pass transaction requests to LLDD's. The interface supports the following operations: On an fc_host basis: Request login to the specified N_Port_ID, creating an fc_rport. Request logout of the specified N_Port_ID, deleting an fc_rport Send ELS request to specified N_Port_ID w/o requiring a login, and wait for ELS response. Send CT request to specified N_Port_ID and wait for CT response. Login is required, but LLDD is allowed to manage login and decide whether it stays in place after the request is satisfied. Vendor-Unique request. Allows a LLDD-specific request to be passed to the LLDD, and the passing of a response back to the application. On an fc_rport basis: Send ELS request to nport and wait for ELS response. Send CT request to nport and wait for CT response. The patch also exports several headers from include/scsi such that they can be available to user-space applications: include/scsi/scsi.h include/scsi/scsi_netlink.h include/scsi/scsi_netlink_fc.h include/scsi/scsi_bsg_fc.h For further information, refer to the last RFC: http://marc.info/?l=linux-scsi&m=123436574018579&w=2 Note: Documentation is still spotty and will be added later. [bharrosh@panasas.com: update for new block API] Signed-off-by: James Smart Signed-off-by: James Bottomley commit e349792a385ed47390d156155b1a1e19af1bf163 Merge: 6d21491 e3f86d3 Author: Linus Torvalds Date: Fri Jun 12 11:16:27 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: (290 commits) ALSA: pcm - Update document about xrun_debug proc file ALSA: lx6464es - support standard alsa module parameters ALSA: snd_usb_caiaq: set mixername ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) ALSA: use card device as parent for jack input-devices ALSA: sound/ps3: Correct existing and add missing annotations ALSA: sound/ps3: Restructure driver source ALSA: sound/ps3: Fix checkpatch issues ASoC: Fix lm4857 control ALSA: ctxfi - Clear PCM resources at hw_params and hw_free ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() ALSA: ctxfi - Add use_system_timer module option ALSA: usb - Add boot quirk for C-Media 6206 USB Audio ALSA: ctxfi - Fix wrong model id for UAA ALSA: ctxfi - Clean up probe routines ALSA: hda - Fix the previous tagra-8ch patch ALSA: hda - Add 7.1 support for MSI GX620 ALSA: pcm - A helper function to compose PCM stream name for debug prints ALSA: emu10k1 - Fix minimum periods for efx playback ... commit e3f86d3d3ce350144562d9bd035dc8a274fce58e Merge: 056c1eb 2233123 Author: Takashi Iwai Date: Fri Jun 12 20:03:16 2009 +0200 Merge branch 'topic/ps3' into for-linus * topic/ps3: ALSA: sound/ps3: Correct existing and add missing annotations ALSA: sound/ps3: Restructure driver source ALSA: sound/ps3: Fix checkpatch issues commit 056c1ebf1121ca6c16652d0c3fa306622ee338ac Merge: be914cf 4f64e15 Author: Takashi Iwai Date: Fri Jun 12 20:03:15 2009 +0200 Merge branch 'topic/pcm-jiffies-check' into for-linus * topic/pcm-jiffies-check: ALSA: pcm - Update document about xrun_debug proc file commit be914cf91086ca7be9216a894cba0999ddbf541d Merge: 31d496a 1f3fff7 Author: Takashi Iwai Date: Fri Jun 12 20:03:13 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: use card device as parent for jack input-devices commit 31d496aaee1dad6ac63770035793032f2062e336 Merge: f8be792 de0525c Author: Takashi Iwai Date: Fri Jun 12 20:03:11 2009 +0200 Merge branch 'topic/lx6464es' into for-linus * topic/lx6464es: ALSA: lx6464es - support standard alsa module parameters commit f8be792d515045a4ecfec0bc9cd883d1b070f132 Merge: 80986be a5c0f88 Author: Takashi Iwai Date: Fri Jun 12 20:03:09 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) commit 80986be4864239dde9bb69e90be7707344f03725 Merge: a6093a2 955f2d9 Author: Takashi Iwai Date: Fri Jun 12 20:03:06 2009 +0200 Merge branch 'topic/caiaq' into for-linus * topic/caiaq: ALSA: snd_usb_caiaq: set mixername commit a6093a24bc7da25ce851d22ce3a7bcf1eaca4a95 Merge: 85e013a 236e672 Author: Takashi Iwai Date: Fri Jun 12 20:03:04 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: Fix lm4857 control commit 018df72dd01576ab199c6129233cdeaf1409958b Author: Mike Frysinger Date: Fri Jun 12 13:17:43 2009 -0400 perf_counter: Start documenting HAVE_PERF_COUNTERS requirements Help out arch porters who want to support perf counters by listing some basic requirements. Signed-off-by: Mike Frysinger Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1244827063-24046-1-git-send-email-vapier@gentoo.org> Signed-off-by: Ingo Molnar commit 6d21491838a2a9f22843c7530b118596ee9f4d77 Merge: c9b8af0 8429db5 Author: Linus Torvalds Date: Fri Jun 12 09:52:30 2009 -0700 Merge branch 'topic/slab/earlyboot-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'topic/slab/earlyboot-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: setup cpu caches later on when interrupts are enabled slab,slub: don't enable interrupts during early boot slab: fix gfp flag in setup_cpu_cache() x86: make zap_low_mapping could be used early irq: slab alloc for default irq_affinity memcg: fix page_cgroup fatal error in FLATMEM commit c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b Merge: c59a264 82681a3 Author: Linus Torvalds Date: Fri Jun 12 09:50:42 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: (154 commits) [SCSI] osd: Remove out-of-tree left overs [SCSI] libosd: Use REQ_QUIET requests. [SCSI] osduld: use filp_open() when looking up an osd-device [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue [SCSI] libosd: osd_req_{read,write} takes a length parameter [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes [SCSI] libosd: osd_req_{read,write}_kern new API [SCSI] libosd: Better printout of OSD target system information [SCSI] libosd: OSD2r05: Attribute definitions [SCSI] libosd: OSD2r05: Additional command enums [SCSI] mpt fusion: fix up doc book comments [SCSI] mpt fusion: Added support for Broadcast primitives Event handling [SCSI] mpt fusion: Queue full event handling [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state [SCSI] mpt fusion: Code Cleanup patch [SCSI] mpt fusion: Rescan SAS topology added [SCSI] mpt fusion: SAS topology scan changes, expander events [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function ... commit c59a264c9e932c828d533497e286b89e43c8d1be Merge: 6cb8a91 6e03a20 Author: Linus Torvalds Date: Fri Jun 12 09:44:30 2009 -0700 Merge git://git.infradead.org/~dwmw2/firmware-2.6 * git://git.infradead.org/~dwmw2/firmware-2.6: firmware: speed up request_firmware(), v3 commit 6cb8a911745616eee0bdd97a2e82eb9723e9599a Merge: 7f3591c 3ea4005 Author: Linus Torvalds Date: Fri Jun 12 09:43:44 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: Remove lock_kernel from gfs2_put_super() GFS2: Add tracepoints commit 7f3591cfacf2d79c4f42238e46c7d053da8e020d Merge: 16ffc3e d1f0132 Author: Linus Torvalds Date: Fri Jun 12 09:32:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits) lguest: add support for indirect ring entries lguest: suppress notifications in example Launcher lguest: try to batch interrupts on network receive lguest: avoid sending interrupts to Guest when no activity occurs. lguest: implement deferred interrupts in example Launcher lguest: remove obsolete LHREQ_BREAK call lguest: have example Launcher service all devices in separate threads lguest: use eventfds for device notification eventfd: export eventfd_signal and eventfd_fget for lguest lguest: allow any process to send interrupts lguest: PAE fixes lguest: PAE support lguest: Add support for kvm_hypercall4() lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated lguest: map switcher with executable page table entries lguest: fix writev returning short on console output lguest: clean up length-used value in example launcher lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition. lguest: beyond ARRAY_SIZE of cpu->arch.gdt ... commit 16ffc3eeaa00d513b0076b7b2b96419f28acc912 Merge: c34752b e335385 Author: Linus Torvalds Date: Fri Jun 12 09:31:52 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio: virtio: enhance id_matching for virtio drivers virtio: fix id_matching for virtio drivers virtio: handle short buffers in virtio_rng. virtio_blk: add missing __dev{init,exit} markings virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) virtio: teach virtio_has_feature() about transport features virtio: expose features in sysfs virtio_pci: optional MSI-X support virtio_pci: split up vp_interrupt virtio: find_vqs/del_vqs virtio operations virtio: add names to virtqueue struct, mapping from devices to queues. virtio: meet virtio spec by finalizing features before using device virtio: fix obsolete documentation on probe function commit c34752bc8b3196aee3115d1aa41972604ab0aea8 Merge: 65d52cc 151060a Author: Linus Torvalds Date: Fri Jun 12 09:31:20 2009 -0700 Merge branch 'cuse' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'cuse' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: CUSE: implement CUSE - Character device in Userspace fuse: export symbols to be used by CUSE fuse: update fuse_conn_init() and separate out fuse_conn_kill() fuse: don't use inode in fuse_file_poll fuse: don't use inode in fuse_do_ioctl() helper fuse: don't use inode in fuse_sync_release() fuse: create fuse_do_open() helper for CUSE fuse: clean up args in fuse_finish_open() and fuse_release_fill() fuse: don't use inode in helpers called by fuse_direct_io() fuse: add members to struct fuse_file fuse: prepare fuse_direct_io() for CUSE fuse: clean up fuse_write_fill() fuse: use struct path in release structure fuse: misc cleanups commit 65d52cc9d47975f4fbd0a50e62f4a49be2c0514a Merge: d614aec 5933048 Author: Linus Torvalds Date: Fri Jun 12 09:30:36 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: cleanup FIXME comments about trimming exception table entries. module: trim exception table on init free. module: merge module_alloc() finally uml module: fix uml build process due to this merge x86 module: merge the rest functions with macros x86 module: merge the same functions in module_32.c and module_64.c uvesafb: improve parameter handling. module_param: allow 'bool' module_params to be bool, not just int. module_param: add __same_type convenience wrapper for __builtin_types_compatible_p module_param: split perm field into flags and perm module_param: invbool should take a 'bool', not an 'int' cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK commit ba2533a47865ec0dbc72834287a8a048e9337a95 Author: Mark Brown Date: Fri Jun 12 16:55:56 2009 +0100 ASoC: Remove odd bit clock ratios for WM8903 These are not supported since performance can not be guaranteed when they are in use. Signed-off-by: Mark Brown Cc: stable@kernel.org commit d614aec4752f8c61b2e7cb77806b6bd59aa50836 Merge: db8e7f1 ad7c52d Author: Linus Torvalds Date: Fri Jun 12 09:29:42 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits) ide: re-implement ide_pci_init_one() on top of ide_pci_init_two() ide: unexport ide_find_dma_mode() ide: fix PowerMac bootup oops ide: skip probe if there are no devices on the port (v2) sl82c105: add printk() logging facility ide-tape: fix proc warning ide: add IDE_DFLAG_NIEN_QUIRK device flag ide: respect quirk_drives[] list on all controllers hpt366: enable all quirks for devices on quirk_drives[] list hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c ide: remove superfluous SELECT_MASK() call from do_rw_taskfile() ide: remove superfluous SELECT_MASK() call from ide_driveid_update() icside: remove superfluous ->maskproc method ide-tape: fix IDE_AFLAG_* atomic accesses ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically pdc202xx_old: kill resetproc() method pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout pdc202xx_old: use ide_dma_test_irq() ide: preserve Host Protected Area by default (v2) ide-gd: implement block device ->set_capacity method (v2) ... commit db8e7f10ed67933ca272f4030eb7057b7f13de07 Merge: 8ebf975 1260866 Author: Linus Torvalds Date: Fri Jun 12 09:26:32 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: Provide _sdata in the vmlinux.lds.S file x86: handle initrd that extends into unusable memory commit 7517b3fbe40c231d79d36f31c1e9930cbb8c4be2 Author: Eric Miao Date: Sat Jun 13 00:10:17 2009 +0800 MAINTAINERS: update Eric Miao's email address and status Signed-off-by: Eric Miao commit 638772c7553f6893f7b346bfee4d46851af59afc Author: Lennert Buytenhek Date: Wed Feb 11 17:25:24 2009 +0800 fb: add support of LCD display controller on pxa168/910 (base layer) This driver is originally written by Lennert, modified by Green to be feature complete, and ported by Jun Nie and Kevin Liu for pxa168/910 processors. The patch adds support for the on-chip LCD display controller, it currently supports the base (graphics) layer only. Signed-off-by: Lennert Buytenhek Signed-off-by: Green Wan Cc: Peter Liao Signed-off-by: Jun Nie Signed-off-by: Kevin Liu Acked-by: Krzysztof Helt Signed-off-by: Eric Miao commit 82d27b2b2f3a80ffa7759a49b9cba39e47df476e Author: Markus Heidelberg Date: Fri Jun 12 01:02:34 2009 +0200 trivial: remove the trivial patch monkey's name from SubmittingPatches It is outdated here and can be found in the MAINTAINERS file. Also remove the URL of the previous maintainer, similar content can be found in the SubmittingPatches file. Signed-off-by: Markus Heidelberg Signed-off-by: Jiri Kosina commit 590a9887a23b60d9c6ff5a82da757371037edbd4 Author: Masatake YAMATO Date: Tue Jun 9 10:41:12 2009 +0900 trivial: Fix a typo in comment of addrconf_dad_start() Signed-off-by: Masatake YAMATO Signed-off-by: Jiri Kosina commit 6e2216895421b4f83d2ebac15c9d9506dc105cff Author: Németh Márton Date: Sat Jun 6 19:06:36 2009 +0200 trivial: usb: fix missing space typo in doc Signed-off-by: Márton Németh Signed-off-by: Jiri Kosina commit db5ed9beabc0a2084ab0e0cc46bf911b8bf16fa8 Author: Peter Huewe Date: Sat Jun 6 14:58:56 2009 +0200 trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions from drivers/pci/hotplug/sgi_hotplug.c linux version 2.6.30-rc8 Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit ff2f5ff0cf224780c3bd035d3e6ff4a30fcacae7 Author: Matt Kraai Date: Thu Jun 4 21:43:10 2009 -0700 trivial: Remove the hyphen from git commands Signed-off-by: Matt Kraai Signed-off-by: Jiri Kosina commit 3ac49a1c9928b4a242b3cb1d83bc1d5c9b8fcb50 Author: Jean Delvare Date: Thu Jun 4 16:20:28 2009 +0200 trivial: fix ETIMEOUT -> ETIMEDOUT typos fix ETIMEOUT -> ETIMEDOUT typos Signed-off-by: Jean Delvare Signed-off-by: Jiri Kosina commit 4737f0978d6e64eae468e01fa181abf6499e6b84 Author: Pavel Machek Date: Fri Jun 5 00:44:53 2009 +0200 trivial: Kconfig: .ko is normally not included in module names .ko is normally not included in Kconfig help, make it consistent. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit 3226224039c8f8cb840d236b5f27d2a1104789e2 Author: Pavel Machek Date: Thu Jun 4 16:26:50 2009 +0200 trivial: SubmittingPatches: fix typo Fix typo. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit 1b68bfc18b258f5a0f285f9101a84da502254768 Author: Masanori Kobayasi Date: Thu Jun 4 21:12:29 2009 +0900 trivial: Documentation/dell_rbu.txt: fix typos Remove a period from end of command-line and fix misplaced comma. Signed-off-by: Masanori Kobayasi Signed-off-by: Jiri Kosina commit b6e731d8774810033823e78e04dfe67aae13b61f Author: Pavel Machek Date: Sat May 30 00:58:41 2009 +0200 trivial: Fix Pavel's address in MAINTAINERS Fix my address in MAINTAINERS. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit baf20b3e51913e8a5003d4e7a143934be8fe52b5 Author: GeunSik Lim Date: Mon Jun 1 10:49:41 2009 +0200 trivial: ftrace:fix description of trace directory Fix trace source directory from kernel/tracing/ to kernel/trace/. Signed-off-by: GeunSik Lim Signed-off-by: Jiri Kosina commit 1944df6bff414c769b55b00cb0547b6f285884a1 Author: Chris Sanford Date: Wed May 27 17:23:50 2009 +0200 trivial: unnecessary (void*) cast removal in sound/oss/msnd.c This is a trivial patch that removes an unnecessary void pointer cast. Signed-off-by: Chris Sanford Signed-off-by: Jiri Kosina commit 492d0f95e6927d60be6234c4b0dd500216e87e18 Author: Alessio Igor Bogani Date: Thu May 21 19:54:33 2009 +0200 trivial: input/misc: Fix typo in Kconfig Signed-off-by: Alessio Igor Bogani Signed-off-by: Jiri Kosina commit 0fa1b0a144ee3e57f63ae25a7c5402f57232853d Author: Alex Chiang Date: Thu May 14 23:15:22 2009 +0200 trivial: fix grammo in bus_for_each_dev() kerneldoc Signed-off-by: Alex Chiang Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 190342335c2a7939407d7391e5bb6c9ee39244eb Author: Wang Tinggong Date: Thu May 14 11:00:20 2009 +0200 trivial: rbtree.txt: fix rb_entry() parameters in sample code Reviewed-by: WANG Cong Signed-off-by: Jiri Kosina commit 5cdcd9d691a4810ec3f5ed6b49e2bb24871c6907 Author: Sankar P Date: Tue May 12 12:41:13 2009 +0530 trivial: spelling fix in ppc code comments Fixes a trivial spelling error in powerpc code comments. Signed-off-by: Sankar P Signed-off-by: Jiri Kosina commit 76d93ff344f547c633fd7b2ee6511bad82c4616f Author: Nikanth Karthikesan Date: Wed Apr 22 13:38:58 2009 +0530 trivial: fix typo in bio_alloc kernel doc Fix typo in bio_alloc kernel doc. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit 27af1da4b58675d5c6bacf9b7de9c2746687d272 Author: figo.zhang Date: Fri Apr 17 10:58:48 2009 +0800 trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt The first formal parameter of the rb_link_node() is a pointer, and the "node" is define a data struct (pls see line 67 and line 73 in the doc), so the actual parameter should use "&data->node". Signed-off-by: Figo.zhang Signed-off-by: Jiri Kosina commit 19f594600110377ec4037fdf7fb93a25ec516212 Author: Matt LaPlante Date: Mon Apr 27 15:06:31 2009 +0200 trivial: Miscellaneous documentation typo fixes Fix various typos in documentation txts. Signed-off-by: Matt LaPlante Signed-off-by: Jiri Kosina commit 19af5cdb7c79ff5ec96a99893ffb7f894f4a3dc1 Author: Martin Olsson Date: Thu Apr 23 11:37:37 2009 +0200 trivial: fix typo milisecond/millisecond for documentation and source comments. Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit 98a1708de1bfa5fe1c490febba850d6043d3c7fa Author: Martin Olsson Date: Wed Apr 22 18:21:29 2009 +0200 trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit ab2274af0569a43c6da390e969759d1138799839 Author: Thadeu Lima de Souza Cascardo Date: Fri Apr 17 08:14:23 2009 -0300 trivial: fix typo compatiable/compatiability has extra 'a'. Signed-off-by: Jiri Kosina commit 1dc492a0a4470852cb451db1e00d580ce9fd7a28 Author: Manish Katiyar Date: Sun Feb 22 10:24:27 2009 +0530 trivial: kernel/power/poweroff.c: whitespace fix Fix coding style whitespace fixes. Patch compile tested Before :- total: 1 errors, 0 warnings, 46 lines checked After total: 0 errors, 0 warnings, 46 lines checked Before :- text data bss dec hex filename 107 48 0 155 9b kernel/power/poweroff.o After text data bss dec hex filename 107 48 0 155 9b kernel/power/poweroff.o Signed-off-by: Manish Katiyar Signed-off-by: Jiri Kosina commit 6d60f9dfc8d437e914d46fa355c50c695cad24e7 Author: Martin Olsson Date: Tue Apr 7 10:30:24 2009 +0200 trivial: Fix paramater/parameter typo in dmesg and source comments Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit 7ea2ac9b6632038377cb488c7d1cb60b88164d4d Author: Thadeu Lima de Souza Cascardo Date: Tue Apr 14 23:14:17 2009 -0300 Trivial: fix typo s/balence/balance/ Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 4b512d26f425be1c779c8319249b42ce3c3424d2 Author: Thadeu Lima de Souza Cascardo Date: Tue Apr 14 23:14:10 2009 -0300 trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)able Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 0b1b51f50ed7b4225d0631140de8873fb235a6c0 Author: Paulius Zaleckas Date: Mon Apr 6 16:10:54 2009 +0300 trivial: mtd: fix Kconfig comment about 'armflash' The real 'armflash' map driver is selected by CONFIG_MTD_ARM_INTEGRATOR Signed-off-by: Paulius Zaleckas Signed-off-by: Jiri Kosina commit cf3f9130f48ed04f32a31cfad21f576d45b8788b Author: Viral Mehta Date: Fri Apr 3 13:08:14 2009 +0530 trivial: remove extra space Just for the sake of readability, removing extra space Signed-off-by: Viral Mehta Signed-off-by: Jiri Kosina commit 2eadfc0ed68690075dcff08b30d87831388a1663 Author: Wolfram Sang Date: Thu Apr 2 15:23:37 2009 +0200 trivial: fs/inode: Fix typo in file_update_time nanodoc The advertised flag for not updating the time was wrong. Signed-off-by: Wolfram Sang Signed-off-by: Jiri Kosina commit ff677f8d10a7b7dea6fbfc48d5ceeb3018cabb23 Author: Nikanth Karthikesan Date: Wed Apr 1 14:40:51 2009 +0530 trivial: fix comment typo in fs/compat.c Fix a typo in fs/compat.c Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit 88164ff4fca75051315d73729ea5a014e8986234 Author: Ali Gholami Rudi Date: Mon Mar 30 16:49:27 2009 +0430 trivial: ext2: fix a typo in comment in ext2.h Signed-off-by: Ali Gholami Rudi Signed-off-by: Jiri Kosina commit 8429db5c6336083594036c30f49401405d536911 Author: Pekka Enberg Date: Fri Jun 12 15:58:59 2009 +0300 slab: setup cpu caches later on when interrupts are enabled Fixes the following boot-time warning: [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc() [ 0.000000] Hardware name: [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492 [ 0.000000] Call Trace: [ 0.000000] [] ? _spin_unlock+0x4f/0x5c [ 0.000000] [] ? smp_call_function_many+0x56/0x1bc [ 0.000000] [] warn_slowpath_common+0x7c/0xa9 [ 0.000000] [] warn_slowpath_null+0x14/0x16 [ 0.000000] [] smp_call_function_many+0x56/0x1bc [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] smp_call_function+0x3d/0x68 [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] on_each_cpu+0x31/0x7c [ 0.000000] [] do_tune_cpucache+0x119/0x454 [ 0.000000] [] ? lockdep_init_map+0x94/0x10b [ 0.000000] [] ? kmem_cache_init+0x421/0x593 [ 0.000000] [] enable_cpucache+0x68/0xad [ 0.000000] [] kmem_cache_init+0x434/0x593 [ 0.000000] [] ? mem_init+0x156/0x161 [ 0.000000] [] start_kernel+0x1cc/0x3b9 [ 0.000000] [] x86_64_start_reservations+0xaa/0xae [ 0.000000] [] x86_64_start_kernel+0xe1/0xe8 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Cc: Christoph Lameter Cc: Nick Piggin Signed-off-by: Pekka Enberg commit 7e85ee0c1d15ca5f8bff0f514f158eba1742dd87 Author: Pekka Enberg Date: Fri Jun 12 14:03:06 2009 +0300 slab,slub: don't enable interrupts during early boot As explained by Benjamin Herrenschmidt: Oh and btw, your patch alone doesn't fix powerpc, because it's missing a whole bunch of GFP_KERNEL's in the arch code... You would have to grep the entire kernel for things that check slab_is_available() and even then you'll be missing some. For example, slab_is_available() didn't always exist, and so in the early days on powerpc, we used a mem_init_done global that is set form mem_init() (not perfect but works in practice). And we still have code using that to do the test. Therefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators in early boot code to avoid enabling interrupts. Signed-off-by: Pekka Enberg commit 6341de0527c26ea1eaf7b7918e1df98f99e1a525 Merge: 8ebf975 fa047e4 57fd637 Author: Jiri Kosina Date: Fri Jun 12 17:42:13 2009 +0200 Merge branches 'upstream' and 'ntrig-multitouch' into for-linus commit eb91f1d0a531289e18f5587dc197d12a251c66a3 Author: Pekka Enberg Date: Fri Jun 12 14:56:09 2009 +0300 slab: fix gfp flag in setup_cpu_cache() Fixes the following warning during bootup when compiling with CONFIG_SLAB: [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0x91/0xb9() [ 0.000000] Hardware name: [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #491 [ 0.000000] Call Trace: [ 0.000000] [] ? lockdep_trace_alloc+0x91/0xb9 [ 0.000000] [] warn_slowpath_common+0x7c/0xa9 [ 0.000000] [] warn_slowpath_null+0x14/0x16 [ 0.000000] [] lockdep_trace_alloc+0x91/0xb9 [ 0.000000] [] kmem_cache_alloc_node_notrace+0x26/0xdf [ 0.000000] [] ? setup_cpu_cache+0x7e/0x210 [ 0.000000] [] setup_cpu_cache+0x113/0x210 [ 0.000000] [] kmem_cache_create+0x409/0x486 [ 0.000000] [] kmem_cache_init+0x232/0x593 [ 0.000000] [] ? mem_init+0x156/0x161 [ 0.000000] [] start_kernel+0x1cc/0x3b9 [ 0.000000] [] x86_64_start_reservations+0xaa/0xae [ 0.000000] [] x86_64_start_kernel+0xe1/0xe8 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Signed-off-by: Pekka Enberg commit 7747a0b0af5976ba3828796b4f7a7adc3bb76dbd Author: Felix Blyakher Date: Thu Jun 11 17:07:28 2009 -0500 xfs: fix freeing memory in xfs_getbmap() Regression from commit 28e211700a81b0a934b6c7a4b8e7dda843634d2f. Need to free temporary buffer allocated in xfs_getbmap(). Signed-off-by: Felix Blyakher Signed-off-by: Hedi Berriche Reported-by: Justin Piszcz Reviewed-by: Eric Sandeen Reviewed-by: Christoph Hellwig commit 82681a318f9f028ea64e61f24bbd9ac535531921 Merge: 3860c97 8ebf975 Author: James Bottomley Date: Fri Jun 12 10:02:03 2009 -0500 [SCSI] Merge branch 'linus' Conflicts: drivers/message/fusion/mptsas.c fixed up conflict between req->data_len accessors and mptsas driver updates. Signed-off-by: James Bottomley commit d1f0132e76a11b05167313c606a853953f416081 Author: Mark McLoughlin Date: Mon May 11 18:11:46 2009 +0100 lguest: add support for indirect ring entries Support the VIRTIO_RING_F_INDIRECT_DESC feature. This is a simple matter of changing the descriptor walking code to operate on a struct vring_desc* and supplying it with an indirect table if detected. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit b60da13fc7bbf99d3c68578bd3fbcf66e1cb5f41 Author: Rusty Russell Date: Fri Jun 12 22:27:12 2009 -0600 lguest: suppress notifications in example Launcher The Guest only really needs to tell us about activity when we're going to listen to the eventfd: normally, we don't want to know. So if there are no available buffers, turn on notifications, re-check, then wait for the Guest to notify us via the eventfd, then turn notifications off again. There's enough else going on that the differences are in the noise. Before: Secs RxKicks TxKicks 1G TCP Guest->Host: 3.94 4686 32815 1M normal pings: 104 142862 1000010 1M 1k pings (-l 120): 57 142026 1000007 After: 1G TCP Guest->Host: 3.76 4691 32811 1M normal pings: 111 142859 997467 1M 1k pings (-l 120): 55 19648 501549 Signed-off-by: Rusty Russell commit 4a8962e21bc505c714fc2508494d4c7dd3fe2d29 Author: Rusty Russell Date: Fri Jun 12 22:27:12 2009 -0600 lguest: try to batch interrupts on network receive Rather than triggering an interrupt every time, we only trigger an interrupt when there are no more incoming packets (or the recv queue is full). However, the overhead of doing the select to figure this out is measurable: 1M pings goes from 98 to 104 seconds, and 1G Guest->Host TCP goes from 3.69 to 3.94 seconds. It's close to the noise though. I tested various timeouts, including reducing it as the number of pending packets increased, timing a 1 gigabyte TCP send from Guest -> Host and Host -> Guest (GSO disabled, to increase packet rate). // time tcpblast -o -s 65536 -c 16k 192.168.2.1:9999 > /dev/null Timeout Guest->Host Pkts/irq Host->Guest Pkts/irq Before 11.3s 1.0 6.3s 1.0 0 11.7s 1.0 6.6s 23.5 1 17.1s 8.8 8.6s 26.0 1/pending 13.4s 1.9 6.6s 23.8 2/pending 13.6s 2.8 6.6s 24.1 5/pending 14.1s 5.0 6.6s 24.4 Signed-off-by: Rusty Russell commit 95c517c09bad31a03e22f2fdb5f0aa26a490a92d Author: Rusty Russell Date: Fri Jun 12 22:27:11 2009 -0600 lguest: avoid sending interrupts to Guest when no activity occurs. If we track how many buffers we've used, we can tell whether we really need to interrupt the Guest. This happens as a side effect of spurious notifications. Spurious notifications happen because it can take a while before the Host thread wakes up and sets the VRING_USED_F_NO_NOTIFY flag, and meanwhile the Guest can more notifications. A real fix would be to use wake counts, rather than a suppression flag, but the practical difference is generally in the noise: the interrupt is usually coalesced into a pending one anyway so we just save a system call which isn't clearly measurable. Secs Spurious IRQS 1G TCP Guest->Host: 3.93 58 1M normal pings: 100 72 1M 1k pings (-l 120): 57 492904 Signed-off-by: Rusty Russell commit 38bc2b8c56a2e212bbd19de7cf9976dcc7bf9953 Author: Rusty Russell Date: Fri Jun 12 22:27:11 2009 -0600 lguest: implement deferred interrupts in example Launcher Rather than sending an interrupt on every buffer, we only send an interrupt when we're about to wait for the Guest to send us a new one. The console input and network input still send interrupts manually, but the block device, network and console output queues can simply rely on this logic to send interrupts to the Guest at the right time. The patch is cluttered by moving trigger_irq() higher in the code. In practice, two factors make this optimization less interesting: (1) we often only get one input at a time, even for networking, (2) triggering an interrupt rapidly tends to get coalesced anyway. Before: Secs RxIRQS TxIRQs 1G TCP Guest->Host: 3.72 32784 32771 1M normal pings: 99 1000004 995541 100,000 1k pings (-l 120): 5 49510 49058 After: 1G TCP Guest->Host: 3.69 32809 32769 1M normal pings: 99 1000004 996196 100,000 1k pings (-l 120): 5 52435 52361 (Note the interrupt count on 100k pings goes *up*: see next patch). Signed-off-by: Rusty Russell commit 5dac051bc6030963181b69faddd9e0ad04f85fa8 Author: Rusty Russell Date: Fri Jun 12 22:27:10 2009 -0600 lguest: remove obsolete LHREQ_BREAK call We no longer need an efficient mechanism to force the Guest back into host userspace, as each device is serviced without bothering the main Guest process (aka. the Launcher). Signed-off-by: Rusty Russell commit 659a0e6633567246edcb7bd400c7e2bece9237d9 Author: Rusty Russell Date: Fri Jun 12 22:27:10 2009 -0600 lguest: have example Launcher service all devices in separate threads Currently lguest has three threads: the main Launcher thread, a Waker thread, and a thread for the block device (because synchronous block was simply too painful to bear). The Waker selects() on all the input file descriptors (eg. stdin, net devices, pipe to the block thread) and when one becomes readable it calls into the kernel to kick the Launcher thread out into userspace, which repeats the poll, services the device(s), and then tells the kernel to release the Waker before re-entering the kernel to run the Guest. Also, to make a slightly-decent network transmit routine, the Launcher would suppress further network interrupts while it set a timer: that signal handler would write to a pipe, which would rouse the Waker which would prod the Launcher out of the kernel to check the network device again. Now we can convert all our virtqueues to separate threads: each one has a separate eventfd for when the Guest pokes the device, and can trigger interrupts in the Guest directly. The linecount shows how much this simplifies, but to really bring it home, here's an strace analysis of single Guest->Host ping before: * Guest sends packet, notifies xmit vq, return control to Launcher * Launcher clears notification flag on xmit ring * Launcher writes packet to TUN device writev(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"\366\r\224`\2058\272m\224vf\274\10\0E\0\0T\0\0@\0@\1\265"..., 98}], 2) = 108 * Launcher sets up interrupt for Guest (xmit ring is empty) write(10, "\2\0\0\0\3\0\0\0", 8) = 0 * Launcher sets up timer for interrupt mitigation setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 505}}, NULL) = 0 * Launcher re-runs guest pread64(10, 0xbfa5f4d4, 4, 0) ... * Waker notices reply packet in tun device (it was in select) select(12, [0 3 4 6 11], NULL, NULL, NULL) = 1 (in [4]) * Waker kicks Launcher out of guest: pwrite64(10, "\3\0\0\0\1\0\0\0", 8, 0) = 0 * Launcher returns from running guest: ... = -1 EAGAIN (Resource temporarily unavailable) * Launcher looks at input fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 1 (in [4], left {0, 0}) * Launcher reads pong from tun device: readv(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"\272m\224vf\274\366\r\224`\2058\10\0E\0\0T\364\26\0\0@"..., 1518}], 2) = 108 * Launcher injects guest notification: write(10, "\2\0\0\0\2\0\0\0", 8) = 0 * Launcher rechecks fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 0 (Timeout) * Launcher clears Waker: pwrite64(10, "\3\0\0\0\0\0\0\0", 8, 0) = 0 * Launcher reruns Guest: pread64(10, 0xbfa5f4d4, 4, 0) = ? ERESTARTSYS (To be restarted) * Signal comes in, uses pipe to wake up Launcher: --- SIGALRM (Alarm clock) @ 0 (0) --- write(8, "\0", 1) = 1 sigreturn() = ? (mask now []) * Waker sees write on pipe: select(12, [0 3 4 6 11], NULL, NULL, NULL) = 1 (in [6]) * Waker kicks Launcher out of Guest: pwrite64(10, "\3\0\0\0\1\0\0\0", 8, 0) = 0 * Launcher exits from kernel: pread64(10, 0xbfa5f4d4, 4, 0) = -1 EAGAIN (Resource temporarily unavailable) * Launcher looks to see what fd woke it: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 1 (in [6], left {0, 0}) * Launcher reads timeout fd, sets notification flag on xmit ring read(6, "\0", 32) = 1 * Launcher rechecks fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 0 (Timeout) * Launcher clears Waker: pwrite64(10, "\3\0\0\0\0\0\0\0", 8, 0) = 0 * Launcher resumes Guest: pread64(10, "\0p\0\4", 4, 0) .... strace analysis of single Guest->Host ping after: * Guest sends packet, notifies xmit vq, creates event on eventfd. * Network xmit thread wakes from read on eventfd: read(7, "\1\0\0\0\0\0\0\0", 8) = 8 * Network xmit thread writes packet to TUN device writev(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"J\217\232FI\37j\27\375\276\0\304\10\0E\0\0T\0\0@\0@\1\265"..., 98}], 2) = 108 * Network recv thread wakes up from read on tunfd: readv(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"j\27\375\276\0\304J\217\232FI\37\10\0E\0\0TiO\0\0@\1\214"..., 1518}], 2) = 108 * Network recv thread sets up interrupt for the Guest write(6, "\2\0\0\0\2\0\0\0", 8) = 0 * Network recv thread goes back to reading tunfd 13:39:42.460285 readv(4, * Network xmit thread sets up interrupt for Guest (xmit ring is empty) write(6, "\2\0\0\0\3\0\0\0", 8) = 0 * Network xmit thread goes back to reading from eventfd read(7, Signed-off-by: Rusty Russell commit df60aeef4f4fe0645d9a195a7689005520422de5 Author: Rusty Russell Date: Fri Jun 12 22:27:09 2009 -0600 lguest: use eventfds for device notification Currently, when a Guest wants to perform I/O it calls LHCALL_NOTIFY with an address: the main Launcher process returns with this address, and figures out what device to run. A far nicer model is to let processes bind an eventfd to an address: if we find one, we simply signal the eventfd. Signed-off-by: Rusty Russell Cc: Davide Libenzi commit 5718607bb670c721f45f0dbb1cc7d6c64969aab1 Author: Rusty Russell Date: Fri Jun 12 22:27:09 2009 -0600 eventfd: export eventfd_signal and eventfd_fget for lguest lguest wants to attach eventfds to guest notifications, and lguest is usually a module. Signed-off-by: Rusty Russell To: Davide Libenzi commit 9f155a9b3d5a5444bcc5e049ec2547bb5107150e Author: Rusty Russell Date: Fri Jun 12 22:27:08 2009 -0600 lguest: allow any process to send interrupts We currently only allow the Launcher process to send interrupts, but it as we already send interrupts from the hrtimer, it's a simple matter of extracting that code into a common set_interrupt routine. As we switch to a thread per virtqueue, this avoids a bottleneck through the main Launcher process. Signed-off-by: Rusty Russell commit 92b4d8df8436cdd74d22a2a5b6b23b9abc737a3e Author: Rusty Russell Date: Fri Jun 12 22:27:08 2009 -0600 lguest: PAE fixes 1) j wasn't initialized in setup_pagetables, so they weren't set up for me causing immediate guest crashes. 2) gpte_addr should not re-read the pmd from the Guest. Especially not BUG_ON() based on the value. If we ever supported SMP guests, they could trigger that. And the Launcher could also trigger it (tho currently root-only). Signed-off-by: Rusty Russell commit acdd0b6292b282c4511897ac2691a47befbf1c6a Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:07 2009 -0600 lguest: PAE support This version requires that host and guest have the same PAE status. NX cap is not offered to the guest, yet. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit cefcad1773197523e11e18b669f245e6a8d32058 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:07 2009 -0600 lguest: Add support for kvm_hypercall4() Add support for kvm_hypercall4(); PAE wants it. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e Author: Matias Zabaljauregui Date: Sat May 30 15:48:08 2009 -0300 lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD replace LHCALL_SET_PMD with LHCALL_SET_PGD hypercall name (That's really what it is, and the confusion gets worse with PAE support) Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell Reported-by: Jeremy Fitzhardinge commit 90603d15fa95605d1d08235b73e220d766f04bb0 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:06 2009 -0600 lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated Some cleanups and replace direct assignment with native_set_* macros which properly handle 64-bit entries when PAE is activated Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit ed1dc77810159a733240ba6751c1b31023bf8dd7 Author: Matias Zabaljauregui Date: Sat May 30 15:35:49 2009 -0300 lguest: map switcher with executable page table entries Map switcher with executable page table entries. (This bug didn't matter before PAE and hence NX support -- RR) Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 7b5c806c35f6ff76b2e36a8b5b1513c8a83fcff7 Author: Rusty Russell Date: Fri Jun 12 22:27:05 2009 -0600 lguest: fix writev returning short on console output I've never seen it here, but I can't find anywhere that says writev will write everything. Signed-off-by: Rusty Russell commit e606490c440900e50ccf73a54f6fc6150ff40815 Author: Rusty Russell Date: Fri Jun 12 22:27:04 2009 -0600 lguest: clean up length-used value in example launcher The "len" field in the used ring for virtio indicates the number of bytes *written* to the buffer. This means the guest doesn't have to zero the buffers in advance as it always knows the used length. Erroneously, the console and network example code puts the length *read* into that field. The guest ignores it, but it's wrong. Signed-off-by: Rusty Russell commit f086122bb6e885f926f935b1418fca3b293375f0 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:04 2009 -0600 lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition. If GDT_ENTRIES were every > 256, this could become a problem. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 81b79b01d057f8c5a378c38d2f738775b972934a Author: Roel Kluin Date: Wed May 20 01:45:45 2009 +0200 lguest: beyond ARRAY_SIZE of cpu->arch.gdt Do not go beyond ARRAY_SIZE of cpu->arch.gdt Signed-off-by: Roel Kluin Signed-off-by: Rusty Russell commit 2644f17d6c932929fd68cfec95691490947e0fd1 Author: Rusty Russell Date: Fri Jun 12 22:27:03 2009 -0600 lguest: clean up example launcher compile flags. 18 months ago 5bbf89fc260830f3f58b331d946a16b39ad1ca2d changed to loading bzImages directly, and no longer manually ungzipping them, so we no longer need libz. Also, -m32 is useful for those on 64-bit platforms (and harmless on 32-bit). Reported-by: Ron Minnich Signed-off-by: Rusty Russell commit 61f4bc83fea248a3092beb7ba43daa5629615513 Author: Rusty Russell Date: Fri Jun 12 22:27:03 2009 -0600 lguest: optimize by coding restore_flags and irq_enable in assembler. The downside of the last patch which made restore_flags and irq_enable check interrupts is that they are now too big to be patched directly into the callsites, so the C versions are always used. But the C versions go via PV_CALLEE_SAVE_REGS_THUNK which saves all the registers. In fact, we don't need any registers in the fast path, so we can do better than this if we actually code them in assembler. The results are in the noise, but since it's about the same amount of code, it's worth applying. 1GB Guest->Host: input(suppressed),output(suppressed) Before: Seconds: 0:16.53 Packets: 377268,753673 Interrupts: 22461,24297 Notifications: 1(5245),21303(732370) Net IRQs triggered: 377023(245),42578(711095) After: Seconds: 0:16.48 Packets: 377289,753673 Interrupts: 22281,24465 Notifications: 1(5245),21296(732377) Net IRQs triggered: 377060(229),42564(711109) Signed-off-by: Rusty Russell commit a32a8813d0173163ba44d8f9556e0d89fdc4fb46 Author: Rusty Russell Date: Fri Jun 12 22:27:02 2009 -0600 lguest: improve interrupt handling, speed up stream networking lguest never checked for pending interrupts when enabling interrupts, and things still worked. However, it makes a significant difference to TCP performance, so it's time we fixed it by introducing a pending_irq flag and checking it on irq_restore and irq_enable. These two routines are now too big to patch into the 8/10 bytes patch space, so we drop that code. Note: The high latency on interrupt delivery had a very curious effect: once everything else was optimized, networking without GSO was faster than networking with GSO, since more interrupts were sent and hence a greater chance of one getting through to the Guest! Note2: (Almost) Closing the same loophole for iret doesn't have any measurable effect, so I'm leaving that patch for the moment. Before: 1GB tcpblast Guest->Host: 30.7 seconds 1GB tcpblast Guest->Host (no GSO): 76.0 seconds After: 1GB tcpblast Guest->Host: 6.8 seconds 1GB tcpblast Guest->Host (no GSO): 27.8 seconds Signed-off-by: Rusty Russell commit abd41f037e1a64543000ed73b42f616d04d92700 Author: Rusty Russell Date: Fri Jun 12 22:27:02 2009 -0600 lguest: fix race in halt code When the Guest does the LHCALL_HALT hypercall, we go to sleep, expecting that a timer or the Waker will wake_up_process() us. But we do it in a stupid way, leaving a classic missing wakeup race. So split maybe_do_interrupt() into interrupt_pending() and try_deliver_interrupt(), and check maybe_do_interrupt() and the "break_out" flag before calling schedule. Signed-off-by: Rusty Russell commit ebf9a5a99c1a464afe0b4dfa64416fc8b273bc5c Author: Rusty Russell Date: Fri Jun 12 22:27:01 2009 -0600 lguest: remove invalid interrupt forcing logic. 20887611523e749d99cc7d64ff6c97d27529fbae (lguest: notify on empty) introduced lguest support for the VIRTIO_F_NOTIFY_ON_EMPTY flag, but in fact it turned on interrupts all the time. Because we always process one buffer at a time, the inflight count is always 0 when call trigger_irq and so we always ignore VRING_AVAIL_F_NO_INTERRUPT from the Guest. It should be looking to see if there are more buffers in the Guest's queue: if it's empty, then we force an interrupt. This makes little difference, since we usually have an empty queue; but that's the subject of another patch. Signed-off-by: Rusty Russell commit a6c372de6e4b9a8188b66badcee3e3792eccdd26 Author: Rusty Russell Date: Fri Jun 12 22:27:01 2009 -0600 lguest: fix lguest wake on guest clock tick, or fd activity The Launcher could be inside the Guest on another CPU; wake_up_process will do nothing because it is "running". kick_process will knock it back into our kernel in this case, otherwise we'll miss it until the next guest exit. Signed-off-by: Rusty Russell commit b43e352139f51216a8c56b0bd5fc3d4e05c65619 Author: Rusty Russell Date: Fri Jun 12 22:27:00 2009 -0600 sched: export kick_process lguest needs kick_process: wake_up_process() does nothing if a process is running, which isn't sufficient (we need it in the kernel). And lguest support is usually modular. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit f7027c6387d0c3acf569845165ec7947e2083c82 Author: Rusty Russell Date: Fri Jun 12 22:27:00 2009 -0600 lguest: get more serious about wmb() in example Launcher code Since the Launcher process runs the Guest, it doesn't have to be very serious about its barriers: the Guest isn't running while we are (Guest is UP). Before we change to use threads to service devices, we need to fix this. Signed-off-by: Rusty Russell commit 1028375e93a7aa4dbe466947d1c65f368b1f61c1 Author: Rusty Russell Date: Fri Jun 12 22:26:59 2009 -0600 lguest: clean up lguest_init_IRQ Copy from arch/x86/kernel/irqinit_32.c: we don't use the vectors beyond LGUEST_IRQS (if any), but we might as well set them all. Signed-off-by: Rusty Russell commit 56739c802ca845435f60e909104637880e14c769 Author: Rusty Russell Date: Fri Jun 12 22:26:59 2009 -0600 lguest: cleanup passing of /dev/lguest fd around example launcher. We hand the /dev/lguest fd everywhere; it's far neater to just make it a global (it already is, in fact, hidden in the waker_fds struct). Signed-off-by: Rusty Russell commit 713b15b3781240653d2b38414da3f4567dcbcf91 Author: Rusty Russell Date: Fri Jun 12 22:26:58 2009 -0600 lguest: be paranoid about guest playing with device descriptors. We can't trust the values in the device descriptor table once the guest has booted, so keep local copies. They could set them to strange values then cause us to segv (they're 8 bit values, so they can't make our pointers go too wild). This becomes more important with the following patches which read them. Signed-off-by: Rusty Russell commit e3353853730eb99c56b7b0aed1667d51c0e3699a Author: Christian Borntraeger Date: Tue May 26 15:46:10 2009 +0200 virtio: enhance id_matching for virtio drivers This patch allows a virtio driver to use VIRTIO_DEV_ANY_ID for the device id. This will be used by a test module that can be bound to any virtio device. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c89e80168ba1ed37627fe03116b0cf8474dcb7e0 Author: Christian Borntraeger Date: Tue May 26 15:46:09 2009 +0200 virtio: fix id_matching for virtio drivers This bug never appeared, since all current virtio drivers use VIRTIO_DEV_ANY_ID for the vendor field. If a real vendor would be used, the check in virtio_id_match is wrong - it returns 0 if id->vendor == dev->id.vendor. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 594de1dd6449f79c99e1ba4577ea0e4e06e2b405 Author: Rusty Russell Date: Fri Jun 12 22:16:39 2009 -0600 virtio: handle short buffers in virtio_rng. If the device fills less than 4 bytes of our random buffer, we'll BUG_ON. It's nicer to handle the case where it partially fills the buffer (the protocol doesn't explicitly bad that). Signed-off-by: Rusty Russell commit 98e94444748e9af93423d1fab90543e75569a58c Author: Mike Frysinger Date: Mon May 18 03:39:09 2009 -0400 virtio_blk: add missing __dev{init,exit} markings The remove member of the virtio_driver structure uses __devexit_p(), so the remove function itself should be marked with __devexit. And where there be __devexit on the remove, so is there __devinit on the probe. Signed-off-by: Mike Frysinger Signed-off-by: Rusty Russell commit 9fa29b9df32ba4db055f3977933cd0c1b8fe67cd Author: Mark McLoughlin Date: Mon May 11 18:11:45 2009 +0100 virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) Add a new feature flag for indirect ring entries. These are ring entries which point to a table of buffer descriptors. The idea here is to increase the ring capacity by allowing a larger effective ring size whereby the ring size dictates the number of requests that may be outstanding, rather than the size of those requests. This should be most effective in the case of block I/O where we can potentially benefit by concurrently dispatching a large number of large requests. Even in the simple case of single segment block requests, this results in a threefold increase in ring capacity. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit ee006b353f1ca8c9a8470b72b462beb011d62e32 Author: Mark McLoughlin Date: Mon May 11 18:11:44 2009 +0100 virtio: teach virtio_has_feature() about transport features Drivers don't add transport features to their table, so we shouldn't check these with virtio_check_driver_offered_feature(). We could perhaps add an ->offered_feature() virtio_config_op, but that perhaps that would be overkill for a consitency check like this. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit a92892825a122a74ddad1d408fa27132e28b05ae Author: Rusty Russell Date: Fri Jun 12 22:16:37 2009 -0600 virtio: expose features in sysfs Each device negotiates feature bits; expose these in sysfs to help diagnostics and debugging. Signed-off-by: Rusty Russell commit 82af8ce84ed65d2fb6d8c017d3f2bbbf161061fb Author: Michael S. Tsirkin Date: Thu May 14 13:55:41 2009 +0300 virtio_pci: optional MSI-X support This implements optional MSI-X support in virtio_pci. MSI-X is used whenever the host supports at least 2 MSI-X vectors: 1 for configuration changes and 1 for virtqueues. Per-virtqueue vectors are allocated if enough vectors available. Signed-off-by: Michael S. Tsirkin Acked-by: Anthony Liguori Signed-off-by: Rusty Russell (+ whitespace, style) commit 77cf524654a886e0fbbf03b16b44f048deef7b0c Author: Michael S. Tsirkin Date: Thu May 14 13:55:31 2009 +0300 virtio_pci: split up vp_interrupt This reorganizes virtio-pci code in vp_interrupt slightly, so that it's easier to add per-vq MSI support on top. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit d2a7ddda9ffb1c8961abff6714b0f1eb925c120f Author: Michael S. Tsirkin Date: Fri Jun 12 22:16:36 2009 -0600 virtio: find_vqs/del_vqs virtio operations This replaces find_vq/del_vq with find_vqs/del_vqs virtio operations, and updates all drivers. This is needed for MSI support, because MSI needs to know the total number of vectors upfront. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell (+ lguest/9p compile fixes) commit 9499f5e7ed5224c40706f0cec6542a9916bc7606 Author: Rusty Russell Date: Fri Jun 12 22:16:35 2009 -0600 virtio: add names to virtqueue struct, mapping from devices to queues. Add a linked list of all virtqueues for a virtio device: this helps for debugging and is also needed for upcoming interface change. Also, add a "name" field for clearer debug messages. Signed-off-by: Rusty Russell commit ef688e151c00e5d529703be9a04fd506df8bc54e Author: Rusty Russell Date: Fri Jun 12 22:16:35 2009 -0600 virtio: meet virtio spec by finalizing features before using device Virtio devices are supposed to negotiate features before they start using the device, but the current code doesn't do this. This is because the driver's probe() function invariably has to add buffers to a virtqueue, or probe the disk (virtio_blk). This currently doesn't matter since no existing backend is strict about the feature negotiation. But it's possible to imagine a future feature which completely changes how a device operates: in this case, we'd need to acknowledge it before using the device. Signed-off-by: Rusty Russell commit 20f77f5654042cf484d8964b618faf9d620f639b Author: Rusty Russell Date: Fri Jun 12 22:16:33 2009 -0600 virtio: fix obsolete documentation on probe function Signed-off-by: Rusty Russell commit 3ea400581f2b595afd91207bbd79c11cb38598e0 Author: Steven Whitehouse Date: Fri Jun 12 13:40:47 2009 +0100 GFS2: Remove lock_kernel from gfs2_put_super() It is not required here. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit 41d840e224170d2768493e320f290ed060491727 Author: Shaohua Li Date: Fri Jun 12 12:57:52 2009 +0800 x86: change kernel_physical_mapping_init() __init to __meminit kernel_physical_mapping_init() could be called in memory hotplug path. [ Impact: fix potential crash with memory hotplug ] Signed-off-by: Shaohua Li LKML-Reference: <20090612045752.GA827@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit 974802eaa1afdc87e00821df7020a2b3c6fee623 Author: Peter Zijlstra Date: Fri Jun 12 12:46:55 2009 +0200 perf_counter: Add forward/backward attribute ABI compatibility Provide for means of extending the perf_counter_attr in a 'natural' way. We allow growing the structure by appending fields at the end by specifying the full structure size inside it. When a new kernel sees a smaller (old) structure, it will 0 pad the tail. When an old kernel sees a larger (new) structure, it will verify the tail consists of 0s, otherwise fail. If we fail due to a size-mismatch, we return -E2BIG and write the kernel's native attribe size back into the provided structure. Furthermore, add some attribute verification, so that we'll fail counter creation when unknown bits are present (PERF_SAMPLE, PERF_FORMAT, or in the __reserved fields). (This ABI detail is introduced while keeping the existing syscall ABI.) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit bbd36e5e6aa6f1757c84cdb406b6eb81686d14af Author: Peter Zijlstra Date: Thu Jun 11 23:11:50 2009 +0200 perf record: Explicity program a default counter Up until now record has worked on the assumption that type=0, config=0 was a suitable configuration - which it is. Lets make this a little more explicit and more readable via the use of proper symbols. [ Impact: cleanup ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 081fad86178ec0f64f32f1bd04cf4aad22714fb9 Author: Peter Zijlstra Date: Thu Jun 11 17:57:21 2009 +0200 perf_counter: Remove PERF_TYPE_RAW special casing The PERF_TYPE_RAW special case seems superfluous these days. Remove it and add it to the switch() stmt like the others. [ Impact: cleanup ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f1a3c979059b2033d0b1cc4f9ee5c90bf92b5f94 Author: Peter Zijlstra Date: Thu Jun 11 17:56:09 2009 +0200 perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too is_software_counter() was missing the new HW_CACHE category. ( This could have caused some counter scheduling artifacts with mixed sw and hw counters and counter groups. ) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 4c921126fe553440261f56691c5f60fbaaa486d6 Author: Jaswinder Singh Rajput Date: Fri Jun 12 12:04:54 2009 +0530 powerpc, perf_counter: Fix performance counter event types Sachin Sant reported these compiler errors: CC arch/powerpc/kernel/power7-pmu.o arch/powerpc/kernel/power7-pmu.c:297: error: PERF_COUNT_CPU_CYCLES undeclared here (not in a function) Which happened because a last-minute rename of symbols crossed with the Power7 support patch. Fix this by using the new symbol names. Reported-by: Sachin Sant Signed-off-by: Jaswinder Singh Rajput Cc: Paul Mackerras Cc: linuxppc-dev@ozlabs.org LKML-Reference: <1244788494.5554.1.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 5933048c69edb546f1e93c26dc93816f0be9f754 Author: Rusty Russell Date: Fri Jun 12 21:47:04 2009 -0600 module: cleanup FIXME comments about trimming exception table entries. Everyone cut and paste this comment from my original one. We now do it generically, so cut the comments. Signed-off-by: Rusty Russell Cc: Amerigo Wang commit ad6561dffa17f17bb68d7207d422c26c381c4313 Author: Rusty Russell Date: Fri Jun 12 21:47:03 2009 -0600 module: trim exception table on init free. It's theoretically possible that there are exception table entries which point into the (freed) init text of modules. These could cause future problems if other modules get loaded into that memory and cause an exception as we'd see the wrong fixup. The only case I know of is kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n). Amerigo fixed this long-standing FIXME in the x86 version, but this patch is more general. This implements trim_init_extable(); most archs are simple since they use the standard lib/extable.c sort code. Alpha and IA64 use relative addresses in their fixups, so thier trimming is a slight variation. Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE, yet it defines its own sort_extable() which overrides the one in lib. It doesn't sort, so we have to mark deleted entries instead of actually trimming them. Inspired-by: Amerigo Wang Signed-off-by: Rusty Russell Cc: linux-alpha@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: linux-ia64@vger.kernel.org commit c398df30d5caad626ac72bfab0361a7b0f67a661 Author: Amerigo Wang Date: Wed Jun 3 21:46:46 2009 -0400 module: merge module_alloc() finally As Christoph Hellwig suggested, module_alloc() actually can be unified for i386 and x86_64 (of course, also UML). Signed-off-by: WANG Cong Cc: Christoph Hellwig Cc: 'Ingo Molnar' Signed-off-by: Rusty Russell commit c0e5e10bf380c7a7c4e8c8b7d42e0aba623e76a6 Author: Amerigo Wang Date: Wed Jun 3 21:46:28 2009 -0400 uml module: fix uml build process due to this merge Due to the previous merge, uml needs to be fixed. Signed-off-by: WANG Cong Cc: Jeff Dike Signed-off-by: Rusty Russell commit 0fdc83b950df9e2eb45db6fca9c3d92c66fd5028 Author: Amerigo Wang Date: Wed Jun 3 21:46:19 2009 -0400 x86 module: merge the rest functions with macros Merge the rest functions together, with proper preprocessing directives. Finally remove module_{32|64}.c. Signed-off-by: WANG Cong Cc: Ingo Molnar Signed-off-by: Rusty Russell commit 2d5bf28fb9e3c178db4f5536e2fe38d3a5ed7f40 Author: Amerigo Wang Date: Wed Jun 3 21:46:09 2009 -0400 x86 module: merge the same functions in module_32.c and module_64.c Merge the same functions both in module_32.c and module_64.c into module.c. This is the first step to merge both of them finally. Signed-off-by: WANG Cong Cc: Ingo Molnar Signed-off-by: Rusty Russell commit 2ead9439f0c6ed03faafe27abe8bc1dd256d117b Author: Rusty Russell Date: Fri Jun 12 21:46:58 2009 -0600 uvesafb: improve parameter handling. 1) Now module_param(..., invbool, ...) requires a bool, and similarly module_param(..., bool, ...) allows it, change pmi_setpal to a bool. 2) #define param_get_scroll to NULL, since it can never be called (perm argument to module_param_named is 0). 3) Return -EINVAL from param_set_scroll if the value is bad, so it's reported. Note that I don't think the old fb_get_options() is required for new drivers: the parameters automatically work as uvesafb.XXX=... anyway. Acked-by: Michał Januszewski Signed-off-by: Rusty Russell commit fddd520122953550ec2c8b60e7ca0d0f0d115d97 Author: Rusty Russell Date: Fri Jun 12 21:46:57 2009 -0600 module_param: allow 'bool' module_params to be bool, not just int. Impact: API cleanup For historical reasons, 'bool' parameters must be an int, not a bool. But there are around 600 users, so a conversion seems like useless churn. So we use __same_type() to distinguish, and handle both cases. Signed-off-by: Rusty Russell commit d2c123c27db841c6c11a63de9c144823d2b1ba76 Author: Rusty Russell Date: Fri Jun 12 21:46:56 2009 -0600 module_param: add __same_type convenience wrapper for __builtin_types_compatible_p Impact: new API __builtin_types_compatible_p() is a little awkward to use: it takes two types rather than types or variables, and it's just damn long. (typeof(type) == type, so this works on types as well as vars). Signed-off-by: Rusty Russell commit 45fcc70c0b6ee0c508e1fdb5fef735c3546803f4 Author: Rusty Russell Date: Fri Jun 12 21:46:56 2009 -0600 module_param: split perm field into flags and perm Impact: cleanup Rather than hack KPARAM_KMALLOCED into the perm field, separate it out. Since the perm field was 32 bits and only needs 16, we don't add bloat. Signed-off-by: Rusty Russell commit 9a71af2c3627b379b7c31917a7f6ee0d29bc559b Author: Rusty Russell Date: Fri Jun 12 21:46:53 2009 -0600 module_param: invbool should take a 'bool', not an 'int' It takes an 'int' for historical reasons, and there are only two users: simply switch it over to bool. The other user (uvesafb.c) will get a (harmless-on-x86) warning until the next patch is applied. Cc: Brad Douglas Cc: Michal Januszewski Signed-off-by: Rusty Russell commit ab8e2eb722f1e5fcbd8181e3e9ef4e95c52124df Author: Rusty Russell Date: Fri Jun 12 21:46:50 2009 -0600 cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK Russell explains the __module_get(): > cyber2000fb.c does it in its module initialization function > to prevent the module (when built for Shark) from being unloaded. It > does this because it's from the days of 2.2 kernels and no one bothered > writing the module unload support for Shark. Since 2.4, the correct answer has been to not define an unload fn. Cc: Russell King Cc: alex@shark-linux.de Signed-off-by: Rusty Russell commit c3bb4d24ab4b74e11992ccb9828569583166a87d Author: Catalin Marinas Date: Fri Jun 12 09:35:22 2009 +0100 kmemleak: Add more info to the MAINTAINERS entry The patch adds the "F:" fields to the KMEMLEAK MAINTAINERS entry and also moves it before KMEMTRACE to preserve the alphabetical order. Signed-off-by: Catalin Marinas commit dff5da6d09daaab40a8741dce0ed3c2e94079de2 Author: Yong Wang Date: Fri Jun 12 16:08:55 2009 +0800 perf_counter/x86: Add a quirk for Atom processors The fixed-function performance counters do not work on current Atom processors. Use the general-purpose ones instead. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090612080855.GA2286@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit faafec1e61e61d350248af2a7e5f047606adab6e Author: Yong Wang Date: Fri Jun 12 11:17:06 2009 +0800 perf_counter tools: Remove one L1-data alias Otherwise all L1-instruction aliases will be recognized as L1-data by strcasestr() when calling function parse_aliases. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090612031706.GA22126@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 55cd63676e0c5710fbe1ea86dfd9f8ea9aaa90f2 Author: Yinghai Lu Date: Fri Jun 12 11:36:52 2009 +0300 x86: make zap_low_mapping could be used early Only one cpu is there, just call __flush_tlb for it. Fixes the following boot warning on x86: [ 0.000000] Memory: 885032k/915540k available (5993k kernel code, 29844k reserved, 3842k data, 428k init, 0k highmem) [ 0.000000] virtual kernel memory layout: [ 0.000000] fixmap : 0xffe17000 - 0xfffff000 (1952 kB) [ 0.000000] vmalloc : 0xf8615000 - 0xffe15000 ( 120 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf7e15000 ( 894 MB) [ 0.000000] .init : 0xc19a5000 - 0xc1a10000 ( 428 kB) [ 0.000000] .data : 0xc15da4bb - 0xc199af6c (3842 kB) [ 0.000000] .text : 0xc1000000 - 0xc15da4bb (5993 kB) [ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok. [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x50/0x1b0() [ 0.000000] Hardware name: System Product Name [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip #52504 [ 0.000000] Call Trace: [ 0.000000] [] warn_slowpath_common+0x65/0x95 [ 0.000000] [] warn_slowpath_null+0x12/0x15 [ 0.000000] [] smp_call_function_many+0x50/0x1b0 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] smp_call_function+0x31/0x58 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] on_each_cpu+0x26/0x65 [ 0.000000] [] flush_tlb_all+0x19/0x1b [ 0.000000] [] zap_low_mappings+0x4d/0x56 [ 0.000000] [] ? printk+0x14/0x17 [ 0.000000] [] mem_init+0x23d/0x245 [ 0.000000] [] start_kernel+0x17a/0x2d5 [ 0.000000] [] ? unknown_bootoption+0x0/0x19a [ 0.000000] [] __init_begin+0x39/0x41 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Reported-by: Ingo Molnar Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit 28be225b23b115573e0ecc8ef9996f42a1652f74 Author: Yinghai Lu Date: Fri Jun 12 11:33:02 2009 +0300 irq: slab alloc for default irq_affinity Ingo had [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x2b/0x71() [ 0.000000] Hardware name: System Product Name [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Tainted: G W 2.6.30-tip-03087-g0bb2618-dirty #52506 [ 0.000000] Call Trace: [ 0.000000] [<81032588>] warn_slowpath_common+0x60/0x90 [ 0.000000] [<810325c5>] warn_slowpath_null+0xd/0x10 [ 0.000000] [<819d1bc0>] alloc_arch_preferred_bootmem+0x2b/0x71 [ 0.000000] [<819d1c31>] ___alloc_bootmem_nopanic+0x2b/0x9a [ 0.000000] [<81050a0a>] ? lock_release+0xac/0xb2 [ 0.000000] [<819d1d4c>] ___alloc_bootmem+0xe/0x2d [ 0.000000] [<819d1e9f>] __alloc_bootmem+0xa/0xc [ 0.000000] [<819d7c63>] alloc_bootmem_cpumask_var+0x21/0x26 [ 0.000000] [<819d0cc8>] early_irq_init+0x15/0x10d [ 0.000000] [<819bb75a>] start_kernel+0x167/0x326 [ 0.000000] [<819bb06b>] __init_begin+0x6b/0x70 [ 0.000000] ---[ end trace 4eaa2a86a8e2da23 ]--- [ 0.000000] NR_IRQS:2304 nr_irqs:424 [ 0.000000] CPU 0 irqstacks, hard=821e6000 soft=821e7000 we need to update init_irq_default_affinity Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit bf664c0a3a42683b78d74aca2d7cfb6ccc2aa2c3 Author: Mike Frysinger Date: Fri Jun 5 03:13:11 2009 -0400 Blackfin: fix sparseirq/kstat_irqs fallout The sparseirq changes (d7e51e66) played poorly with the Blackfin irqchip implementation as we're still using the old hardirq method. Our bad irq structure had a NULL kstat_irqs field so when all the common code tries to increment this field, everything goes big bada boom. Signed-off-by: Mike Frysinger commit ce0bf52dd3f9d980889190bc6097f1756b71eb8c Author: Mike Frysinger Date: Thu Jun 4 23:51:27 2009 -0400 Blackfin: fix unused warnings after nommu update The massive nommu update (8feae131) left the local variable "vml" unused, so punt it. Signed-off-by: Mike Frysinger commit 81f7f45606812f1d15d618c2646d0f33ca111f87 Author: Robin Getz Date: Wed Jun 3 18:58:26 2009 +0000 Blackfin: export the last exception cause via debugfs We have some test code that runs in userspace that exercises the exception handling of the Blackfin pretty thoroughly. Part of the validation process is checking the exact exception triggered, so export the last one seen to userspace via debugfs when debugging is enabled for the test code to check. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 0a990614264f04879d9608da1cfcf9a6596efe08 Author: Roel Kluin Date: Thu Jun 4 19:57:24 2009 -0400 Blackfin: fix length checking in kgdb_ebin2mem The kgdb_ebin2mem() was decrementing the count variable to do parsing, but then later still tries to use it based on its original meaning. So leave it untouched and use a different variable to walk the memory. Signed-off-by: Roel Kluin Signed-off-by: Mike Frysinger commit 11aca0e7352b6a28193221cd2dd85f758fb71b23 Author: Mike Frysinger Date: Thu Jun 4 17:28:16 2009 +0000 Blackfin: kgdb: fix up error return values The Blackfin kgdb code was all passing back positive errno values when it really should have been using negative errno values. Reported-by: Roel Kluin Signed-off-by: Mike Frysinger commit a43b739f257fd2569e11c6c93fbb86df382848e9 Author: Mike Frysinger Date: Thu Jun 4 19:24:31 2009 +0000 Blackfin: push access_ok() L1 attribute down There is no need for the L1 attribute to be on the prototype of the access_ok() function as all consumers of the function do not care where it lives -- they'll always use pcrel calls to get to it. This prevents pointless recompiles of most of the system when this config option changes. Signed-off-by: Mike Frysinger commit 8d0d8f2a3a57479b695a59ed2f67236f1488b90d Author: Mike Frysinger Date: Thu Jun 4 19:11:31 2009 +0000 Blackfin: punt duplicated search_exception_table() prototype The common code already has a prototype for this function and we don't use it anywhere in the Blackfin code, so punt it from the Blackfin headers. Signed-off-by: Mike Frysinger commit a8372b5ca618d4ea41b3c7ac3cef8dd6efa68bc6 Author: Robin Getz Date: Thu Jun 4 00:32:59 2009 +0000 Blackfin: add missing access_ok() checks to user functions The core string/clear user functions weren't checking the user pointers which caused kernel crashes with some bad programs and tests (like LTP). Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 685a694f0653b7db49f663b2cd6953695214fb30 Author: Mike Frysinger Date: Wed Jun 3 00:33:31 2009 +0000 Blackfin: convert early_printk EVT init to a loop The EVT registers are all contiguous in the memory map, so using a loop to initialize them all rather than hardcoding the list results in much better generated code (a hardware loop rather than a whole bunch of individual loads). Signed-off-by: Mike Frysinger commit f1db88d2a7f1c92284e64f5dbb5c7a316a22576d Author: Mike Frysinger Date: Tue Jun 2 08:46:35 2009 +0000 Blackfin: document the lsl variants of the L1 allocator Make sure the meaning of "lsl" is covered somewhere and it is clear why we somewhat duplicate the sram alloc/free functions. Signed-off-by: Mike Frysinger commit 595d681f2c0610223bbe79189b0896f1b8c24f8a Author: Mike Frysinger Date: Tue Jun 2 00:35:33 2009 +0000 Blackfin: rename Blackfin relocs according to the toolchain The latest Blackfin toolchain has fixed its relocation scheme to match other ports: always use R_BFIN_ prefix and capitalize everything. This brings the kernel in line with those fixes. Signed-off-by: Mike Frysinger commit 780172bf875298133fe5627552a632d1fda3775a Author: Mike Frysinger Date: Mon Jun 1 19:43:02 2009 -0400 Blackfin: check SIC defines rather than variant names Rather than having to maintain a hard coded list of Blackfin variants, use the SIC defines themselves. This fixes build problems on BF51x/BF538 under some configurations as they were missing from one of the lists. Signed-off-by: Mike Frysinger commit ea8538a039607cd959d28ed10086484e051ce7db Author: Sonic Zhang Date: Mon Jun 1 00:49:32 2009 -0400 Blackfin: add SSYNC to set_dma_sg() for descriptor fetching Make sure the internal core buffers are flushed before telling the DMA engine to fetch the descriptor structure so that it gets the right values. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 9b9bfded623cffb4259b95e5419404015dba361f Author: Graf Yang Date: Wed May 27 09:58:35 2009 +0000 Blackfin: convert SMP to only use generic time framework Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit ffc4d8bc4435918d2fd1e840b0bf985e7b56f0d3 Author: Michael Hennerich Date: Fri May 29 15:41:18 2009 +0000 Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346 Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 79df1b69471b5ea4be8285c9dc6ab05cdf5a85d7 Author: Mike Frysinger Date: Tue May 26 23:34:51 2009 +0000 Blackfin: override default uClinux MTD addr/size Due to a processor anomaly (05000263 to be exact), most Blackfin parts cannot keep the embedded filesystem image directly after the kernel in RAM. Instead, the filesystem needs to be relocated to the end of memory. As such, we need to tweak the map addr/size during boot for Blackfin systems. Signed-off-by: Mike Frysinger commit 37082511f06108129bd5f96d625a6fae2d5a4ab4 Author: Mike Frysinger Date: Tue May 26 21:48:38 2009 +0000 Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT Commit 6b3087c6 (which introduced Blackfin SMP) broke command line passing when the DEBUG_DOUBLEFAULT config option was enabled. Switch the code to using a scratch register and not R7 which holds the command line. Signed-off-by: Mike Frysinger commit 89ecd506917ba6e86ede072efbef6c69d01db4dd Author: Graf Yang Date: Mon May 25 06:40:42 2009 +0000 Blackfin: fix handling of initial L1 reservation This restores some L1 reservation logic that was lost during the Blackfin SMP merge. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit c72aa0794a0ecc0b87ba9d5546215c26c8c80668 Author: Graf Yang Date: Mon May 25 04:44:00 2009 +0000 Blackfin: merge sram init functions Now that the sram_init() function exists only to call the bfin_sram_init() after the punting of the reserve_pda() function, simply merge the two to avoid pointless overhead. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit d1800fe0e50ed22673cd895f2b0a7c2b79d3010a Author: Graf Yang Date: Mon May 25 04:27:22 2009 +0000 Blackfin: drop unused reserve_pda() function The Per-processor Data Area isn't actually reserved by this function, and all it ended up doing was issuing a printk(), so punt it. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit c8d5ea8ccb1ce586131c6c549899cb5073222da0 Author: Michael Hennerich Date: Mon May 4 09:11:37 2009 +0000 Blackfin: update gptimers API First we fix the prototypes for functions that return boolean values by using "int" rather than "uint16_t". Then we introduce a get_gptimer_run() function for checking the current run status of a timer, and then we add a disable_gptimers_sync() function which parallels disable_gptimers() with corresponding normal "_sync" behavior. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 9ba3c24f10c948dadac2ca91ed714dfbcedd61ca Author: Robin Getz Date: Wed May 20 21:19:21 2009 +0000 Blackfin: include system/processor info in dump messages People often copy & paste crash messages without surrounding context, so include common useful information like system/processor stats in the crash summary. This should smooth over the report/test cycle a bit more. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 0acad8dfee6bde7e246a95a52f864a8eee777ed8 Author: Robin Getz Date: Mon May 11 18:55:16 2009 +0000 Blackfin: add workaround for anomaly 05000461 Returning too fast with a bad RETI can trigger false errors. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit a0cab65642813b7990e1b4b2ab6ad92e171571f4 Author: Robin Getz Date: Mon May 11 18:34:41 2009 +0000 Blackfin: make sure stack is accessible before dumping it When displaying a crash dump, make sure accessing the stack is safe so we don't crash at the same time. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit b9a3899d59c3f0fc074573f0eba2419b1e4c0bca Author: Robin Getz Date: Mon May 18 18:33:26 2009 +0000 Blackfin: make deferred hardware errors more exact Hardware errors on the Blackfin architecture are queued by nature of the hardware design. Things that could generate a hardware level queue up at the system interface and might not process until much later, at which point the system would send a notification back to the core. As such, it is possible for user space code to do something that would trigger a hardware error, but have it delay long enough for the process context to switch. So when the hardware error does signal, we mistakenly evaluate it as a different process or as kernel context and panic (erp!). This makes it pretty difficult to find the offending context. But wait, there is good news somewhere. By forcing a SSYNC in the interrupt entry, we force all pending queues at the system level to be processed and all hardware errors to be signaled. Then we check the current interrupt state to see if the hardware error is now signaled. If so, we re-queue the current interrupt and return thus allowing the higher priority hardware error interrupt to process properly. Since we haven't done any other context processing yet, the right context will be selected and killed. There is still the possibility that the exact offending instruction will be unknown, but at least we'll have a much better idea of where to look. The downside of course is that this causes system-wide syncs at every interrupt point which results in significant performance degradation. Since this situation should not occur in any properly configured system (as hardware errors are triggered by things like bad pointers), make it a debug configuration option and disable it by default. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 97b070c8e7e82be30c8a3bf19e69b8c0c71f1fac Author: Mike Frysinger Date: Fri Apr 24 03:17:07 2009 +0000 Blackfin: add note about anomaly 05000242 being worked around Document anomaly 05000242 workaround in source code. Signed-off-by: Mike Frysinger commit 5ba766752d14a741aa2d7a3c321917a310b34afb Author: Graf Yang Date: Thu May 7 04:09:15 2009 +0000 Blackfin: work around anomaly 05000220 When possible, work around anomaly 05000220 (external memory is write back cached, but L2 is not cached). If not possible, detect the conditions at build time and reject any qualifying configurations. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit a261eec0009b6093727fb7a59b12a10c6c981714 Author: Mike Frysinger Date: Wed May 20 14:05:36 2009 +0000 Blackfin: rename some Blackfin drivers Try to keep the naming conventions consistent, so: SPI_ADC_BF533 -> BFIN_SPI_ADC TWI_LCD -> BFIN_TWI_LCD Signed-off-by: Mike Frysinger commit a17c7f6f5b3b3f91ff7121c33bea8748c415ab15 Author: Robin Getz Date: Tue May 5 17:14:39 2009 +0000 Blackfin: make sure MPU CPLB for first 1k is marked as valid This way we properly catch and kill applications that jump to a NULL ptr. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 8af7ffa0d5460586e0f06b2f045a6a2631224b61 Author: Graf Yang Date: Fri May 8 07:42:12 2009 +0000 Blackfin: add workaround for anomaly 05000287 Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 1fa9be72b558c39459f98835eb86dbb4ef4da30b Author: Graf Yang Date: Fri May 15 11:01:59 2009 +0000 Blackfin: add support for gptimer0 as a tick source For systems where the core cycles are not a usable tick source (like SMP or cycles gets updated), enable gptimer0 as an alternative. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 555487bbb63f527e63fecbff48c86e2c07ce5024 Author: Graf Yang Date: Wed May 6 10:38:07 2009 +0000 Blackfin: annotate anomaly 05000120 Add some notes for anomaly 05000120 to make sure we work around it. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit ee0263cc2e7d774655bba6a6750a06099a3cebf0 Author: Graf Yang Date: Wed May 20 06:06:15 2009 +0000 Blackfin: BF518F-EZBRD: handle required portmuxing of async pins The two high address lines on the BF51x are not dedicated which means we need to handle them like any other peripheral pin if we want to access the upper 2MB of parallel flash. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 7f3aee3c187641ec7c7e260d9cabb71ac4ac9f7c Author: Sonic Zhang Date: Thu May 7 10:04:19 2009 +0000 Blackfin: detect anomaly 05000274 Detect and reject operating conditions for anomaly 05000274 since the problem cannot be worked around in software. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit d8804adf52f5991388fa9af77428e4cc7768059d Author: Mike Frysinger Date: Wed Apr 29 06:26:46 2009 +0000 Blackfin: do not append newlines to panic() messages The panic() function already handles newlines for us. Signed-off-by: Mike Frysinger commit 729a3fa7333af58d57eecb0aacf7ca3d58237f81 Author: Mike Frysinger Date: Fri Apr 24 03:55:41 2009 +0000 Blackfin: workaround anomaly 05000227 Workaround anomaly 05000227 by only using the scratch pad for stack when absolutely necessary. The core code which reprograms clocks really only touches MMRs directly with constants. Signed-off-by: Mike Frysinger commit a9031028ef70f658daa2151e361aee7b082965ee Author: Mike Frysinger Date: Thu Apr 23 17:04:10 2009 +0000 Blackfin: delete unused sys_getpagesize() function Signed-off-by: Mike Frysinger commit e522c8466d6f8437cf02a34287c8707ef53081ed Author: Graf Yang Date: Fri May 8 07:42:12 2009 +0000 Blackfin: work around anomaly 05000287 Make sure we work around anomaly 05000287 by configuring different port preferences for the data cache. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit a9a59e3096443ea4d6f50db978d7d3bbb47708b4 Author: Mike Frysinger Date: Fri Apr 24 01:42:54 2009 +0000 Blackfin: punt useless GPIO init call This init code existed only to dump a printk(), and not even a useful one. Signed-off-by: Mike Frysinger commit 76068c3c5dee4332f532573b6423d75c3e14f660 Author: Robin Getz Date: Thu Apr 23 20:56:42 2009 +0000 Blackfin: annotate anomaly 05000119 in core DMA code Add a reminder note to avoid the DMA_DONE bit in our DMA core code. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit bc4d6f36db4b24bf328a5fd70038a2e609b9f028 Author: Robin Getz Date: Thu Apr 23 14:15:04 2009 +0000 Blackfin: document anomaly 05000234 workaround Note the reason for using CHIPD over DSPID. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit fecbd7366bf5a39eaae2c03541f0b412f319534f Author: Robin Getz Date: Thu Apr 23 20:49:43 2009 +0000 Blackfin: fix early L1 relocation crash Our early L1 relocate code may implicitly call code which lives in L1 memory. This is due to the dma_memcpy() rewrite that made the DMA code lockless and safe to be used by multiple processes. If we start the early DMA memcpy to relocate things into L1 instruction but then our DMA memcpy code calls a function that lives in L1, things fall apart. As such, create a small dedicated DMA memcpy routine that we can assume sanity at boot time. Reported-by: Filip Van Rillaer Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f5879fda09ea98d7aa845a0e0fa7e508452e5f9f Author: Graf Yang Date: Wed May 6 09:59:11 2009 +0000 Blackfin: add MDMA defines to make cross-variant coding easier Add some defines to make the BF538/BF561 look like most other Blackfin parts in that it has a MDMA0 channel available for low level init. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f339f46b05cfe289024b15a0525c8b61f1426a88 Author: Mike Frysinger Date: Tue May 19 12:58:13 2009 +0000 Blackfin: fix detection of cached L2 SRAM Make sure our bfin_addr_dcachable() function flags cached L2 SRAM properly else memory easily goes unflushed when working with DMA. Signed-off-by: Mike Frysinger commit c8f36dc3c11c3e9e879ded82cdf5d748d4ab2fb2 Author: Mike Frysinger Date: Thu May 14 14:55:50 2009 +0000 Blackfin: simplify BF561 coreb driver greatly Since 90% of this driver can be handled in user space, move it to the corebld user space application. Signed-off-by: Mike Frysinger commit b9ccf14bc5352b86e7e254e6cf55d9b917b1b1cc Author: Sonic Zhang Date: Thu May 21 06:39:46 2009 +0000 Blackfin: update defconfigs Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 78f28a0a83a86dfe021f7d8169208b9af2a23201 Author: Mike Frysinger Date: Fri Apr 10 21:20:19 2009 +0000 Blackfin: simplify the do_flush macro Simplify the do_flush macro now that we don't need to take into account a second instruction being used together. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f8b556514c4481a500ace4745731f04a77c08d54 Author: Mike Frysinger Date: Mon Apr 13 21:58:34 2009 +0000 Blackfin: set bf51x/bf52x to 0.0 rev by default and bf54x to 0.2 Update the default revs based on what we actually support (bf54x-0.[01] is too broken to use). Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d4b890b0cd9e0ac75cbdf7011ef38ebc662930e6 Author: Michael Hennerich Date: Thu Apr 16 12:38:34 2009 +0000 Blackfin: do not error if GPIO IRQ is requested already as GPIO Some drivers expect to be able to request both as GPIO and GPIO IRQ, so allow that use case. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger commit a413647bb5bbe5414cd68332ff77588db09d10be Author: Mike Frysinger Date: Fri May 8 07:40:25 2009 +0000 Blackfin: pull updated anomaly lists from toolchain Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 648882d940a1f84cbf11418ae6e405ef42a66855 Author: Michael Hennerich Date: Tue Apr 21 12:05:50 2009 +0000 Blackfin: fix up PATA resource handling in bf537-stamp Make sure the addresses declared match reality, and make the PATA IRQ code optional. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 51387009bd4d9fdbc9d4a91e45bd96cc8e3065de Author: Philippe Gerum Date: Wed Apr 8 07:41:55 2009 +0000 Blackfin: merge Philippe's recent ipipe patch ipipe-2.6.28.9-blackfin-git95aafe6.patch Singed-off-by: Philippe Gerum Signed-off-by: Yi Li Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger commit f75196c404246b371182bb7554eab695619cb36f Author: Mike Frysinger Date: Wed Apr 1 12:25:58 2009 +0000 Blackfin: fix warnings with I/O port macros The I/O port functions take ints, so we need to cast them up before passing to our read/write funcs to avoid ugly messes of warnings. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f4290e81f6035b49d4a03706081b2c5f58906386 Author: Mariusz Kozlowski Date: Sun Apr 12 20:03:30 2009 +0000 Blackfin: fix parentheses balance and convert some tab/space mixing Signed-off-by: Mariusz Kozlowski Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4b402e3a54a46505692ec8215231e2ede46a4aeb Author: Graf Yang Date: Mon Apr 20 09:20:58 2009 +0000 Blackfin: fix bug found by traps test case 21 The traps test case 21 "exception 0x3f: l1_instruction_access" would make the kernel panic on BF533's because we end up calling show_stack() infinitely. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d89137a17ca804ee60077f5d4ad8d7ca60f0614 Author: Mike Frysinger Date: Fri Apr 10 20:52:08 2009 +0000 Blackfin: fix data cache flushing when doing icache flushing Make sure we flush all data caches and their write buffers before flushing icache, otherwise random edge cases could crop up where stale data is read into icache from external memory. As fallout, punt the combined icache + dcache flush function since we cannot safely do them back to back -- the SSYNC is needed between the dcache flush and the icache flush. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f82e0a0c67621df83458753aef580a3508d5428e Author: Graf Yang Date: Wed Apr 8 08:30:22 2009 +0000 Blackfin: fix link failure due to CONFIG_EXCEPTION_L1_SCRATCH Move exception stack mess from entry.S to init.c to fix link failure when CONFIG_EXCEPTION_L1_SCRATCH is in use. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b8d0c778e652d23750cb1af9848408d620cbc425 Author: Robin Getz Date: Tue Mar 31 13:40:52 2009 +0000 Blackfin: allow scheduler functions to be placed into L1 Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8d5c2f03bb6302a2aa5a4d0d28f59d01e2eea6c1 Author: Sonic Zhang Date: Mon Mar 30 09:07:26 2009 +0000 Blackfin: Allow bf548 ATAPI to be routed to GPIO By default, it is routed to async memory address. In GPIO case, GPIO peripheral PINs should be requested in advance. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ffdf3ec8060c1089f92468ade63981a217b5aace Author: Yi Li Date: Tue Mar 31 10:36:51 2009 +0000 Blackfin: bf527-ezkit: add support for mmc-spi Signed-off-by: Yi Li Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c8342f872d7a3967fd09db54fece3f6c38d834df Author: Mike Frysinger Date: Tue Mar 31 00:18:35 2009 +0000 Blackfin: add some help text to the EBIU_AMBCTL settings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 349ebbcc26258f40da5534a586233e7d6233071c Author: Michael Hennerich Date: Wed Apr 15 08:48:08 2009 +0000 Blackfin: add comment for anomaly 05000171 to init code Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5b02ee3d219f9e01b6e9146e25613822cfc2e5ce Merge: 26a28fa 8ebf975 Author: Arnd Bergmann Date: Fri Jun 12 09:53:47 2009 +0200 asm-generic: merge branch 'master' of torvalds/linux-2.6 Fixes a merge conflict against the x86 tree caused by a fix to atomic.h which I renamed to atomic_long.h. Signed-off-by: Arnd Bergmann commit 6ab56315a36e42e90ad7173aa8b3bbd1467d1fea Author: Catalin Marinas Date: Fri Jun 12 09:29:52 2009 +0100 kmemleak: Remove the kmemleak.h include in drivers/char/vt.c This file is no longer annotated for false positives but the kmemleak.h include was still present. Signed-off-by: Catalin Marinas Acked-by: Alan Cox commit 310d6b671588dd7695cbc0d09d02e41d94a42bed Author: Heiko Carstens Date: Fri Jun 12 10:26:49 2009 +0200 [S390] wire up sys_perf_counter_open Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fc39453debac927a3ba477bafbc6c18c7166ae78 Author: Heiko Carstens Date: Fri Jun 12 10:26:48 2009 +0200 [S390] wire up sys_rt_tgsigqueueinfo Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9bf1226b33dc2f94fc37ffd70ee161e2bda1ff5c Author: Heiko Carstens Date: Fri Jun 12 10:26:47 2009 +0200 [S390] ftrace: add system call tracer support System call tracer support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 88dbd2037229bd2ed7543ffd0d8f2d9dec9d31d2 Author: Heiko Carstens Date: Fri Jun 12 10:26:46 2009 +0200 [S390] ftrace: add function graph tracer support Function graph tracer support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8b4488f85d619253c9e631ec723368f400106771 Author: Heiko Carstens Date: Fri Jun 12 10:26:45 2009 +0200 [S390] ftrace: add function trace mcount test support Add support for early test if the function tracer is enabled or disabled. Saves some extra function calls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dfd9f7abc0fb67b5781f340d982384cea53b2884 Author: Heiko Carstens Date: Fri Jun 12 10:26:44 2009 +0200 [S390] ftrace: add dynamic ftrace support Dynamic ftrace support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a2b53673fae14601bb520acf6a6f154463994565 Author: Heiko Carstens Date: Fri Jun 12 10:26:43 2009 +0200 [S390] kprobes: use probe_kernel_write Use proble_kernel_write() to patch the kernel. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 88df125fd6127e409793fd84a574566651450320 Author: Heiko Carstens Date: Fri Jun 12 10:26:42 2009 +0200 [S390] maccess: arch specific probe_kernel_write() implementation Add an s390 specific probe_kernel_write() function which allows to write to the kernel text segment even if write protection is enabled. This is implemented using the lra (load real address) and stura (store using real address) instructions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d93f82b6e0c12a4373f2d04b1f92fcb2d175b62c Author: Heiko Carstens Date: Fri Jun 12 10:26:41 2009 +0200 [S390] maccess: add weak attribute to probe_kernel_write probe_kernel_write() gets used to write to the kernel address space. E.g. to patch the kernel (kgdb, ftrace, kprobes...). Some architectures however enable write protection for the kernel text section, so that writes to this region would fault. This patch allows to specify an architecture specific version of probe_kernel_write() which allows to handle and bypass write protection of the text segment. That way it is still possible to catch random writes to kernel text and explicitly allow writes via this interface. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f3d0a0d96a7a2b4e1335437f68b3181ab252050a Author: Martin Schwidefsky Date: Fri Jun 12 10:26:40 2009 +0200 [S390] profile_tick called twice profile_tick is called twice for every clock comparator interrupt. The generic clock event code does it in tick_sched_timer and the s390 backend code in clock_comparator_work. That is one too many, remove the one in the arch backend code. Signed-off-by: Martin Schwidefsky commit 6cc7f168954fe8b3d8988a90b2478a9c11c5ebcb Author: Stefan Weinhuber Date: Fri Jun 12 10:26:39 2009 +0200 [S390] dasd: forward internal errors to dasd_sleep_on caller If a DASD requests is started with dasd_sleep_on and fails, then the calling function may need to know the reason for the failure. In cases of hardware errors it can inspect the sense data in the irb, but when the reason is internal (e.g. start_IO failed) then it needs a meaningfull return code. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 736e6ea0bf97ec79521f88704ce8506e5d60d078 Author: Sebastian Ott Date: Fri Jun 12 10:26:38 2009 +0200 [S390] dasd: sync after async probe Some functions called as a late_initcall depend on completely initialized devices. Since commit f3445a1a656bc26b07946cc6d20de1ef07c8d116 the dasd driver uses the new async framework and relies on the fact that synchronization is done in prepare_namespace which is called after the late_initcalls. Fix this by calling async_synchronize_full at the end of the related init functions. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 92636b152f3b58e459988934f689619af9e04dbc Author: Sebastian Ott Date: Fri Jun 12 10:26:37 2009 +0200 [S390] dasd: check_characteristics cleanup Fix a broken memset (sizeof pointer vs sizeof the underlying structure) by cleaning up the involved functions. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 45b44d76d373e66d08e0c745dc82ff9123103588 Author: Stefan Weinhuber Date: Fri Jun 12 10:26:36 2009 +0200 [S390] dasd: no High Performance FICON in 31-bit mode The High Performance FICON feature is not supported in 31-bit mode, no matter what the various flags say. So we need to check for the CONFIG_64BIT option as well. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit d0591485e15ccd908f91058f7da134248dcdbbb3 Author: Gerald Schaefer Date: Fri Jun 12 10:26:35 2009 +0200 [S390] dcssblk: revert devt conversion git commit f331c0296f2a9fee0d396a70598b954062603015 changed users of ->first_minor to devt. This broke device handling in dcssblk, so that no additional devices could be added after the first one. This patch reverts the devt conversion to the previous ->first_minor handling. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 6b9d8e80bb9edd0c9fe948a6ef105391de56b012 Author: Roel Kluin Date: Fri Jun 12 10:26:34 2009 +0200 [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs Do not go beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs Signed-off-by: Roel Kluin Signed-off-by: Martin Schwidefsky commit 239a64255fae8933d95273b5b92545949ca4e743 Author: Heiko Carstens Date: Fri Jun 12 10:26:33 2009 +0200 [S390] vmalloc: add vmalloc kernel parameter support With the kernel parameter 'vmalloc=' the size of the vmalloc area can be specified. This can be used to increase or decrease the size of the area. Works in the same way as on some other architectures. This can be useful for features which make excessive use of vmalloc and wouldn't work otherwise. The default sizes remain unchanged: 96MB for 31 bit kernels and 1GB for 64 bit kernels. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dab4079d5b5ac421208499d5e554a07f9beb16e4 Author: Heiko Carstens Date: Fri Jun 12 10:26:32 2009 +0200 [S390] uaccess: use might_fault() instead of might_sleep() Adds more checking in case lockdep is turned on. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 205d7ab9c9af6847dda30650a0b8f98555a20654 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:31 2009 +0200 [S390] 3270: lock dependency fixes Lockdep found a problem with the lock order of the view lock and the ccw device lock. raw3270_activate_view/raw3270_deactivate_view first take the ccw device lock then call the activate/deactivate functions of the view which take view lock. The update functions of the con3270/tty3270 view will first take the view lock, then take the ccw device lock. To fix this the activate/deactivate functions are changed to avoid taking the view lock by moving the functions calls that modify the 3270 output buffer to the update function which is called by a timer. Signed-off-by: Martin Schwidefsky commit fcf7581f7ca82e63e4e137be77c342a4e4ec8401 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:30 2009 +0200 [S390] 3270: do not register with tty_register_device The tty3270_notifier that calls tty_register_device / tty_unregister_device is harmful in two ways: 1) the device node that is create is wrong because the minor numbers for 3270 tty start with 1 and tty_notifier passes the minor as index. 2) If 1) is corrected you'll get a warning: WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x4c/0x60() sysfs: duplicate filename '227:1' can not be created The 227:1 link is already created by raw3270_create_attributes to refer to ../../class/tty/tty. There cannot be two links. Signed-off-by: Martin Schwidefsky commit a7c65a559ac371a08e67600ae585052441d71392 Author: Jan Glauber Date: Fri Jun 12 10:26:29 2009 +0200 [S390] qdio: inline qdio_perf_stat_inc Move qdio_perf_stat_inc to the header file so it can be inlined. Remove unused qdio_perf_stat_dec. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 4c57542320e73b9ff46b04092273dbcc184a4fb6 Author: Jan Glauber Date: Fri Jun 12 10:26:28 2009 +0200 [S390] qdio: simplify error handling in irq handler The check for the device status in qdio_establish_handle_irq() had dead code. Remove the unused code and simplify the error handling. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e45efa99b0b0035a2afc192c242e37eec5477497 Author: Sebastian Ott Date: Fri Jun 12 10:26:27 2009 +0200 [S390] cio: fix sanity checks in device_ops. Some sanity checks in device_ops.c 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 bcf5cef7db869dd3b0ec55ad99641e66b2f5cf02 Author: Heiko Carstens Date: Fri Jun 12 10:26:26 2009 +0200 [S390] secure computing arch backend Enable secure computing on s390 as well. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7757591ab4a36314a258e181dbf0994415c288c2 Author: Heiko Carstens Date: Fri Jun 12 10:26:25 2009 +0200 [S390] implement is_compat_task Implement is_compat_task and use it all over the place. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d90cbd469c9c7c1494fc2084af9319e6a557368b Author: Heiko Carstens Date: Fri Jun 12 10:26:24 2009 +0200 [S390] add mini sclp driver This adds a mini sclp device driver for very early use. The primary and probably only use will be to emit a message to the console if the cpu doesn't provide the minimum required capabilities to run the kernel. After printing the message a disabled wait will be loaded and the machine stops operating. Printing the message is also part of this patch. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8c4caa4fbfc18aa50d9d682f502303a8e0d72726 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:23 2009 +0200 [S390] use facility list for cpu type safety check Signed-off-by: Martin Schwidefsky commit ce58ae6f7f6bdd48c87472ff830a6d586ff076b2 Author: Heiko Carstens Date: Fri Jun 12 10:26:22 2009 +0200 [S390] implement interrupt-enabling rwlocks arch backend for f5f7eac41db827a47b2163330eecd7bb55ae9f12 "Allow rwlocks to re-enable interrupts". Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 76d4e00a05d06c1d1552adea24fcf6182c9d8999 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:21 2009 +0200 [S390] merge cpu.h into cputime.h All definition in cpu.h have to do with cputime accounting. Move them to cputime.h and remove the header file. Signed-off-by: Martin Schwidefsky commit 7aa79f948749da7de3de0c427e9c9ee0ff595243 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:20 2009 +0200 [S390] vdso: kernel parameter syntax The syntax of the vdso kernel parameter is documented as vdso=[on|off]. The implementation uses vdso=[0|1], an invalid parameter string disables the vdso support. Fix the mismatch by adding vdso=[on|off] as additional parameter syntax. Signed-off-by: Martin Schwidefsky commit ca371c0d7e23d0d0afae65fc83a0e91cf7399573 Author: KAMEZAWA Hiroyuki Date: Fri Jun 12 10:33:53 2009 +0300 memcg: fix page_cgroup fatal error in FLATMEM Now, SLAB is configured in very early stage and it can be used in init routine now. But replacing alloc_bootmem() in FLAT/DISCONTIGMEM's page_cgroup() initialization breaks the allocation, now. (Works well in SPARSEMEM case...it supports MEMORY_HOTPLUG and size of page_cgroup is in reasonable size (< 1 << MAX_ORDER.) This patch revive FLATMEM+memory cgroup by using alloc_bootmem. In future, We stop to support FLATMEM (if no users) or rewrite codes for flatmem completely.But this will adds more messy codes and overheads. Reported-by: Li Zefan Tested-by: Li Zefan Tested-by: Ingo Molnar Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Pekka Enberg commit 63997775b795f97ef51f3e56bc3abc9edc04bbb0 Author: Steven Whitehouse Date: Fri Jun 12 08:49:20 2009 +0100 GFS2: Add tracepoints This patch adds the ability to trace various aspects of the GFS2 filesystem. The trace points are divided into three groups, glocks, logging and bmap. These points have been chosen because they allow inspection of the major internal functions of GFS2 and they are also generic enough that they are unlikely to need any major changes as the filesystem evolves. Signed-off-by: Steven Whitehouse commit 1260866a271abc84274345580f3d613d3bceff87 Author: Catalin Marinas Date: Mon May 11 13:22:00 2009 +0100 x86: Provide _sdata in the vmlinux.lds.S file _sdata is a common symbol defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses this symbol when scanning the data sections. [ Impact: add new global symbol ] Signed-off-by: Catalin Marinas LKML-Reference: <20090511122105.26556.96593.stgit@pc1117.cambridge.arm.com> Signed-off-by: Ingo Molnar commit bc47ab0241c7c86da4f5e5f82fbca7d45387c18d Merge: 37f9ef5 8ebf975 Author: Benjamin Herrenschmidt Date: Fri Jun 12 16:53:38 2009 +1000 Merge commit 'origin/master' into next Manual merge of: arch/powerpc/kernel/asm-offsets.c commit 37f9ef553bed630957e025504cdcbc76f5de49d5 Author: Benjamin Herrenschmidt Date: Fri Jun 12 16:46:47 2009 +1000 powerpc: Fix bug in move of altivec code to vector.S The patch that moved to vector.S and made common between 32 and 64-bit the altivec code had a nasty bug on 32-bit (did I really test that ?) which causes the kernel to blr back into userspace ... oops :-) Signed-off-by: Benjamin Herrenschmidt commit 3c24475c1e4e8d10e50df161d8c4f1d382997a7c Author: Jerome Glisse Date: Wed Apr 8 18:34:28 2009 +0200 drm: include kernel list header file in hashtab header Signed-off-by: Dave Airlie commit f2cb5d86e1af175a9b210241800f03a447f92621 Author: Jerome Glisse Date: Wed Apr 8 17:16:24 2009 +0200 drm: Export hash table functionality. add exports so TTM module can use these functions. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 249d6048ca98b5452105b0824abac1275661b8e3 Author: Jerome Glisse Date: Wed Apr 8 17:11:16 2009 +0200 drm: Split out the mm declarations in a separate header. Add atomic operations. this is a TTM preparation patch, it rearranges the mm and add operations needed to do mm operations in atomic context. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 715cbb05c935e8a4306a730d14a72d5af881523e Author: Alex Deucher Date: Fri Jun 12 15:55:44 2009 +1000 drm/radeon: add support for RV790. This adds the PCI IDs for the rv790 which are equiv to the rv770. Signed-off-by: Dave Airlie commit 2a71ebcd85bcc4d6607f577f23a491f796c30e82 Author: Alex Deucher Date: Fri Jun 12 15:53:10 2009 +1000 drm/radeon: add rv740 drm support. This adds drm support for the RV740 family of chips to the r600 support code. Signed-off-by: Dave Airlie commit fbe0efb869efde8d847ede3a925230ef88910086 Author: Kristian Høgsberg Date: Tue Jun 9 01:50:41 2009 +1000 drm_calloc_large: check right size, check integer overflow, use GFP_ZERO Previously we would check size instead of size * nmemb, and so would never hit the vmalloc path. Also add integer overflow check as in kcalloc, and allocate GFP_ZERO pages instead of memset()ing them. Signed-off-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit 61f11699e7a92d932b31ded3715ad4f70eb26ef2 Author: Keith Packard Date: Sat May 30 20:42:27 2009 -0700 drm: Eliminate magic I2C frobbing when reading EDID This code depends on the underlying I2C adapter using the bit-banging algo, which may not be the case. If specific encoders require this mechanism, they should build a custom I2C algo that implements this workaround, rather than having it in the general path. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 7ff145593d808a371924652c8d6a15fb75ce2250 Author: Dave Airlie Date: Wed Apr 22 18:52:14 2009 +1000 drm/i915: duplicate desired mode for use by fbcon. duplicate the mode into fbcon storage, so when we free modes later we don't just lose this. Signed-off-by: Dave Airlie commit c5c07550d41abe86d109430e718f2007113031f8 Author: Figo.zhang Date: Sat Jun 6 18:26:26 2009 +0800 drm/via: vfree() no need checking before calling it vfree() does it's own NULL checking, no need for explicit check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Dave Airlie commit be25ed9c5cc06e1d17aa97e41daf88f0b46143e6 Author: yakui_zhao Date: Tue Jun 2 14:13:55 2009 +0800 drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver Replace the DRM_DEBUG with the DRM_DEBUG_DRIVER to print the debug info in i915 driver. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit f053185948a1bd16329433f5371809765086c1ec Author: yakui_zhao Date: Tue Jun 2 14:12:47 2009 +0800 drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode Replace the DRM_DEBUG with DRM_DEBUG_MODE macro to print the info in drm_mode. airlied:- fixed up to remove a conflicting #define Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit da6782927de809d9d427bd4bd6a4024243e41f13 Author: Michał Mirosław Date: Fri Jun 5 05:35:28 2009 +0000 bridge: Simplify interface for ATM LANE This patch changes FDB entry check for ATM LANE bridge integration. There's no point in holding a FDB entry around SKB building. br_fdb_get()/br_fdb_put() pair are changed into single br_fdb_test_addr() hook that checks if the addr has FDB entry pointing to other port to the one the request arrived on. FDB entry refcounting is removed as it's not used anywhere else. Signed-off-by: Michał Mirosław Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 746e6ad23cd6fec2edce056e014a0eabeffa838c Author: John Dykstra Date: Thu Jun 11 20:57:21 2009 -0700 [PATCH] net core: Some interface flags not returned by SIOCGIFFLAGS Commit b00055aacdb172c05067612278ba27265fcd05ce " [NET] core: add RFC2863 operstate" defined new interface flag values. Its documentation specified that these flags could be accessed from user space via SIOCGIFFLAGS. However, this does not work because the new flags do not fit in that ioctl's argument width. Change the documentation to match the code's behavior. Also change the source to explicitly show the truncation. This _should_ have no effect on executable code, and did not with gcc 4.2.4 generating x86 code. A new ioctl could be defined to return all interface flags to user space. However, since this has been broken for three years with no one complaining, there doesn't seem much need. They are still accessible via netlink. Reported-by: "Fredrik Arnerup" Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit 8981f01001c616f58f1623ecadfab8b1ed758da7 Author: Herbert Xu Date: Thu Jun 11 20:55:17 2009 -0700 virtio_net: Fix IP alignment on non-mergeable RX path We need to enforce the IP alignment on the non-mergeable RX path just like the other RX path. Not doing so results in misaligned IP headers. Signed-off-by: Herbert Xu Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 8ebf975608aaebd7feb33d77f07ba21a6380e086 Author: Randy Dunlap Date: Thu Jun 11 20:00:41 2009 -0700 block: fix kernel-doc in recent block/ changes Fix kernel-doc warnings in recently changed block/ source code. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 4b4f1d017815f96737ca4a62f90e5a1f0b9f02d6 Merge: 875287c aa7dfb8 Author: Linus Torvalds Date: Thu Jun 11 20:05:37 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: (87 commits) nilfs2: get rid of bd_mount_sem use from nilfs nilfs2: correct exclusion control in nilfs_remount function nilfs2: simplify remaining sget() use nilfs2: get rid of sget use for checking if current mount is present nilfs2: get rid of sget use for acquiring nilfs object nilfs2: remove meaningless EBUSY case from nilfs_get_sb function remove the call to ->write_super in __sync_filesystem nilfs2: call nilfs2_write_super from nilfs2_sync_fs jffs2: call jffs2_write_super from jffs2_sync_fs ufs: add ->sync_fs sysv: add ->sync_fs hfsplus: add ->sync_fs hfs: add ->sync_fs fat: add ->sync_fs ext2: add ->sync_fs exofs: add ->sync_fs bfs: add ->sync_fs affs: add ->sync_fs sanitize ->fsync() for affs repair bfs_write_inode(), switch bfs to simple_fsync() ... commit 875287caa067492779670f5fb3b98ec8dcfe2cb0 Merge: aee74f3 193e984 Author: Linus Torvalds Date: Thu Jun 11 20:05:08 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: m68knommu: remove unecessary include of thread_info.h in entry.S m68knommu: enumerate INIT_THREAD fields properly headers_check fix: m68k, swab.h arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( m68knommu: remove obsolete reset code m68knommu: move CPU reset code for the 5272 ColdFire into its platform code m68knommu: move CPU reset code for the 528x ColdFire into its platform code m68knommu: move CPU reset code for the 527x ColdFire into its platform code m68knommu: move CPU reset code for the 523x ColdFire into its platform code m68knommu: move CPU reset code for the 520x ColdFire into its platform code m68knommu: add CPU reset code for the 532x ColdFire m68knommu: add CPU reset code for the 5249 ColdFire m68knommu: add CPU reset code for the 5206e ColdFire m68knommu: add CPU reset code for the 5206 ColdFire m68knommu: add CPU reset code for the 5407 ColdFire m68knommu: add CPU reset code for the 5307 ColdFire m68knommu: merge system reset for code ColdFire 523x family m68knommu: fix system reset for ColdFire 527x family commit aee74f3bb3f4fb5dbeae8c1947c6d8ebdc19ee01 Author: Yinghai Lu Date: Thu Jun 11 15:09:00 2009 -0700 kvm: remove the duplicated cpumask_clear zalloc_cpumask_var already cleared it. Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit 12274e96b42884f043dfaa87eb1e5e10281bfac3 Author: Yinghai Lu Date: Thu Jun 11 15:07:48 2009 -0700 x86: use zalloc_cpumask_var in arch_early_irq_init So we make sure MAXSMP gets a cleared cpumask Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit e14112d1bd5e193166b54be19119cf6440470560 Author: Stephen Rothwell Date: Fri Jun 12 10:14:22 2009 +1000 perfcounters: remove powerpc definitions of perf_counter_do_pending Commit 925d519ab82b6dd7aca9420d809ee83819c08db2 ("perf_counter: unify and fix delayed counter wakeup") added global definitions. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit adf76cfe24dab32a54e2dd1f51534cea8277f32a Merge: 17d0cdf 24992ea Author: David S. Miller Date: Thu Jun 11 20:00:44 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit aa7dfb8954ccf49e026ba13d12991a4eb7defb96 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:33 2009 +0900 nilfs2: get rid of bd_mount_sem use from nilfs This will remove every bd_mount_sem use in nilfs. The intended exclusion control was replaced by the previous patch ("nilfs2: correct exclusion control in nilfs_remount function") for nilfs_remount(), and this patch will replace remains with a new mutex that this inserts in nilfs object. Signed-off-by: Ryusuke Konishi Cc: Christoph Hellwig Signed-off-by: Al Viro commit e59399d0102c1813cec48db5cebe1750313f88a0 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:32 2009 +0900 nilfs2: correct exclusion control in nilfs_remount function nilfs_remount() changes mount state of a superblock instance. Even though nilfs accesses other superblock instances during mount or remount, the mount state was not properly protected in nilfs_remount(). Moreover, nilfs_remount() has a lock order reversal problem; nilfs_get_sb() holds: 1. bdev->bd_mount_sem 2. sb->s_umount (sget acquires) and nilfs_remount() holds: 1. sb->s_umount (locked by the caller in vfs) 2. bdev->bd_mount_sem To avoid these problems, this patch divides a semaphore protecting super block instances from nilfs->ns_sem, and applies it to the mount state protection in nilfs_remount(). With this change, bd_mount_sem use is removed from nilfs_remount() and the lock order reversal will be resolved. And the new rw-semaphore, nilfs->ns_super_sem will properly protect the mount state except the modification from nilfs_error function. Signed-off-by: Ryusuke Konishi Signed-off-by: Al Viro commit 6dd4740662405a68bb229ac2b9e0aeaaf2188bf2 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:31 2009 +0900 nilfs2: simplify remaining sget() use This simplifies the test function passed on the remaining sget() callsite in nilfs. Instead of checking mount type (i.e. ro-mount/rw-mount/snapshot mount) in the test function passed to sget(), this patch first looks up the nilfs_sb_info struct which the given mount type matches, and then acquires the super block instance holding the nilfs_sb_info. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 3f82ff55168e92859119bf348e9e0bd6714d2fea Author: Ryusuke Konishi Date: Mon Jun 8 01:39:30 2009 +0900 nilfs2: get rid of sget use for checking if current mount is present This stops using sget() for checking if an r/w-mount or an r/o-mount exists on the device. This elimination uses a back pointer to the current mount added to nilfs object. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 33c8e57c86d1bd1548c12a4f7c4bceb94b862cca Author: Ryusuke Konishi Date: Mon Jun 8 01:39:29 2009 +0900 nilfs2: get rid of sget use for acquiring nilfs object This will change the way to obtain nilfs object in nilfs_get_sb() function. Previously, a preliminary sget() call was performed, and the nilfs object was acquired from a super block instance found by the sget() call. This patch, instead, instroduces a new dedicated function find_or_create_nilfs(); as the name implies, the function finds an existent nilfs object from a global list or creates a new one if no object is found on the device. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 81fc20bd0e75ba6357bce2403767d7c2585d8f28 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:28 2009 +0900 nilfs2: remove meaningless EBUSY case from nilfs_get_sb function The following EBUSY case in nilfs_get_sb() is meaningless. Indeed, this error code is never returned to the caller. if (!s->s_root) { ... } else if (!(s->s_flags & MS_RDONLY)) { err = -EBUSY; } This simply removes the else case. Signed-off-by: Ryusuke Konishi Signed-off-by: Al Viro commit 0c95ee190e1dea60c55c834d14695341085c9b7b Author: Christoph Hellwig Date: Mon Jun 8 10:08:54 2009 +0200 remove the call to ->write_super in __sync_filesystem Now that all filesystems provide ->sync_fs methods we can change __sync_filesystem to only call ->sync_fs. This gives us a clear separation between periodic writeouts which are driven by ->write_super and data integrity syncs that go through ->sync_fs. (modulo file_fsync which is also going away) Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit d731e06323cb705003e4172ec209e469be4c18e1 Author: Christoph Hellwig Date: Mon Jun 8 10:08:36 2009 +0200 nilfs2: call nilfs2_write_super from nilfs2_sync_fs The call to ->write_super from __sync_filesystem will go away, so make sure nilfs2 performs the same actions from inside ->sync_fs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit d579ed00aa96a7f7486978540a0d7cecaff742ae Author: Christoph Hellwig Date: Mon Jun 8 10:08:21 2009 +0200 jffs2: call jffs2_write_super from jffs2_sync_fs The call to ->write_super from __sync_filesystem will go away, so make sure jffs2 performs the same actions from inside ->sync_fs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 8c8006564a58d0ea912bf7f2d0a758d97e4b464f Author: Christoph Hellwig Date: Mon Jun 8 10:08:05 2009 +0200 ufs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit ad43ffdeea0a7bd3e6036c4aeec2e6699aef8ac7 Author: Christoph Hellwig Date: Mon Jun 8 10:07:45 2009 +0200 sysv: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 7fbc6df0e7a561a313f49faa77829d5de45a97f8 Author: Christoph Hellwig Date: Mon Jun 8 10:05:12 2009 +0200 hfsplus: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 58bc5bbb873eb5d86126a3fd3ff02aaa69ec15d0 Author: Christoph Hellwig Date: Mon Jun 8 10:04:54 2009 +0200 hfs: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f83d6d46e7adf241a064a4a425e5cd8a8fd8925f Author: Christoph Hellwig Date: Mon Jun 8 10:04:35 2009 +0200 fat: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 40f31dd47e7c3d15af1f9845eda0fa0c4c33f32f Author: Christoph Hellwig Date: Mon Jun 8 10:04:17 2009 +0200 ext2: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 80e09fb942d38beb19dcffbeb14d496beeb0a989 Author: Christoph Hellwig Date: Mon Jun 8 10:03:58 2009 +0200 exofs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 561e47ce7244168788d4ecef9a2271df204b3c89 Author: Christoph Hellwig Date: Mon Jun 8 10:03:38 2009 +0200 bfs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e28964365faf3b9961695eb62b48cbc9f2a2a245 Author: Christoph Hellwig Date: Mon Jun 8 10:03:15 2009 +0200 affs: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Factor out common code between affs_put_super, affs_write_super and the new affs_sync_fs into a helper. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit c475879556a8602bbe2faa9a06f6e5fcc8c05bb2 Author: Al Viro Date: Mon Jun 8 01:22:00 2009 -0400 sanitize ->fsync() for affs unfortunately, for affs (especially for affs directories) we have no real way to keep track of metadata ownership. So we have to do more or less what file_fsync() does, but we do *not* need to call write_super() there. Signed-off-by: Al Viro commit 4427f0c36e22e2cd6696b2fe7643e9756a14b3d3 Author: Al Viro Date: Mon Jun 8 01:15:58 2009 -0400 repair bfs_write_inode(), switch bfs to simple_fsync() Signed-off-by: Al Viro commit 224c886643e52e6b4c1143489cd0b289b6c03976 Author: Al Viro Date: Mon Jun 8 00:46:40 2009 -0400 Fix adfs GET_FRAG_ID() on big-endian Missing conversion to host-endian before doing shifts Signed-off-by: Al Viro commit ffdc9064f8b4fa9db37a7d5180f41cce2ea2b7ad Author: Al Viro Date: Mon Jun 8 00:44:42 2009 -0400 repair adfs ->write_inode(), switch to simple_fsync() Signed-off-by: Al Viro commit bea6b64c277f0824cdaea6190209b26a164419d6 Author: Al Viro Date: Sun Jun 7 15:44:50 2009 -0400 switch omfs to simple_fsync() Signed-off-by: Al Viro commit 90de066443a8632bb42fed0a8216313d7da07aba Author: Al Viro Date: Sun Jun 7 15:40:27 2009 -0400 switch udf to simple_fsync() Signed-off-by: Al Viro commit a932801543fe74050ebee07fde082234c46b624f Author: Al Viro Date: Sun Jun 7 15:35:18 2009 -0400 switch ufs to simple_fsync() Signed-off-by: Al Viro commit 05459ca81ac3064cb040d983342bc453cccec458 Author: Al Viro Date: Sun Jun 7 15:29:45 2009 -0400 repair sysv_write_inode(), switch sysv to simple_fsync() Signed-off-by: Al Viro commit 0d7916d7e985da52cdd2989c900485e17b035972 Author: Al Viro Date: Sun Jun 7 15:21:06 2009 -0400 switch minix to simple_fsync() * get minix_write_inode() to honour the second argument * now we can use simple_fsync() for minixfs Signed-off-by: Al Viro commit e1740a462ecb2eae213be15857b577cc6f6bb8b4 Author: Al Viro Date: Sun Jun 7 15:14:02 2009 -0400 switch ext2 to simple_fsync() kill ext2_sync_file() (along with ext2/fsync.c), get rid of ext2_update_inode() - it's an alias of ext2_write_inode(). Signed-off-by: Al Viro commit b522412aeabadbb302fd4338eaabf09d10e2d29c Author: Al Viro Date: Sun Jun 7 13:44:36 2009 -0400 Sanitize ->fsync() for FAT * mark directory data blocks as assoc. metadata * add new inode to deal with FAT, mark FAT blocks as assoc. metadata of that * now ->fsync() is trivial both for files and directories Signed-off-by: Al Viro commit 964f5369667b342994fe3f384e9ba41d404ee796 Author: Al Viro Date: Sun Jun 7 09:47:13 2009 -0400 fs/qnx4: sanitize includes fs-internal parts of qnx4_fs.h taken to fs/qnx4/qnx4.h, includes adjusted, qnx4_fs.h doesn't need unifdef anymore. Signed-off-by: Al Viro commit 79d25767583e4e086f8309bfd1f502660a64fe7f Author: Al Viro Date: Sun Jun 7 09:30:08 2009 -0400 Sanitize qnx4 fsync handling * have directory operations use mark_buffer_dirty_inode(), so that sync_mapping_buffers() would get those. * make qnx4_write_inode() honour its last argument. * get rid of insane copies of very ancient "walk the indirect blocks" in qnx4/fsync - they never matched the actual fs layout and, fortunately, never'd been called. Again, all this junk is not needed; ->fsync() should just do sync_mapping_buffers + sync_inode (and if we implement block allocation for qnx4, we'll need to use mark_buffer_dirty_inode() for extent blocks) Signed-off-by: Al Viro commit d5aacad548db1ff547adf35d0a77eb2a8ed4fe14 Author: Al Viro Date: Sun Jun 7 14:56:44 2009 -0400 New helper - simple_fsync() writes associated buffers, then does sync_inode() to write the inode itself (and to make it clean). Depends on ->write_inode() honouring the second argument. Signed-off-by: Al Viro commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7 Author: Alessio Igor Bogani Date: Tue May 12 15:10:54 2009 +0200 Push BKL down into ->remount_fs() [xfs, btrfs, capifs, shmem don't need BKL, exempt] Signed-off-by: Alessio Igor Bogani Signed-off-by: Al Viro commit 4195f73d1329e49727bcceb028e58cb38376c2b0 Author: Nick Piggin Date: Thu May 28 09:01:15 2009 +0200 fs: block_dump missing dentry locking I think the block_dump output in __mark_inode_dirty is missing dentry locking. Surely the i_dentry list can change any time, so we may not even *get* a dentry there. If we do get one by chance, then it would appear to be able to go away or get renamed at any time... Signed-off-by: Al Viro commit 545b9fd3d737afc0bb5203b1e79194a471605acd Author: Nick Piggin Date: Tue Jun 2 12:07:47 2009 +0200 fs: remove incorrect I_NEW warnings Some filesystems can call in to sync an inode that is still in the I_NEW state (eg. ext family, when mounted with -osync). This is OK because the filesystem has sole access to the new inode, so it can modify i_state without races (because no other thread should be modifying it, by definition of I_NEW). Ie. a false positive, so remove the warnings. The races are described here 7ef0d7377cb287e08f3ae94cebc919448e1f5dff, which is also where the warnings were introduced. Reported-by: Stephen Hemminger Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 8688b8635266cf98f00c6b0350ea2dbe7c42c321 Author: Mike Frysinger Date: Tue May 26 05:45:04 2009 -0400 linux/magic.h: move cramfs magic out of cramfs_fs.h Signed-off-by: Mike Frysinger CC: Alexander Viro Signed-off-by: Al Viro commit f95022161d23ee661a48af8f280472209f513a67 Author: Christoph Hellwig Date: Fri Jun 5 12:26:23 2009 +0200 xfs: remove ->write_super and stop maintaining ->s_dirt the write_super method is used for (1) writing back the superblock periodically from pdflush (2) called just before ->sync_fs for data integerity syncs We don't need (1) because we have our own peridoc writeout through xfssyncd, and we don't need (2) because xfs_fs_sync_fs performs a proper synchronous superblock writeout after all other data and metadata has been written out. Also remove ->s_dirt tracking as it's only used to decide when too call ->write_super. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Al Viro commit 13205fb9260c2377438599ef0773c6a3eaeb0b07 Author: Jens Axboe Date: Mon May 25 09:30:45 2009 +0200 ntfs: remove old debug check for dirty data in ntfs_put_super() This should not trigger anymore, so kill it. Acked-by: Anton Altaparmakov Signed-off-by: Jens Axboe Signed-off-by: Al Viro commit 28ad0c118b0ed98b042d362acfe0017591921138 Author: Theodore Ts'o Date: Thu May 21 16:01:02 2009 -0400 fs: Rearrange inode structure elements to avoid waste due to padding Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro commit 9fd5746fd3d7838bf6ff991d50f1257057d1156f Author: Theodore Ts'o Date: Thu May 21 16:01:00 2009 -0400 fs: Remove i_cindex from struct inode The only user of the i_cindex element in the inode structure is used is by the firewire drivers. As part of an attempt to slim down the inode structure to save memory --- since a typical Linux system will have hundreds of thousands if not millions of inodes cached, a reduction in the size inode has high leverage. The firewire driver does not need i_cindex in any fast path, so it's simple enough to calculate when it is needed, instead of wasting space in the inode structure. Signed-off-by: "Theodore Ts'o" Cc: krh@redhat.com Cc: stefanr@s5r6.in-berlin.de Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro commit ebc1ac164560a241d9bf1b7519062910c3f90a01 Author: Christoph Hellwig Date: Mon May 11 23:35:03 2009 +0200 ->write_super lock_super pushdown Push down lock_super into ->write_super instances and remove it from the caller. Following filesystem don't need ->s_lock in ->write_super and are skipped: * bfs, nilfs2 - no other uses of s_lock and have internal locks in ->write_super * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in ->write_super * xfs - no other uses of s_lock and uses internal lock (buffer lock on superblock buffer) to serialize ->write_super. Also xfs_fs_write_super is superflous and will go away in the next merge window Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 01ba687577647beef6c5f2ea59bfb56fac9fcde2 Author: Christoph Hellwig Date: Mon May 11 23:34:27 2009 +0200 jffs2: move jffs2_write_super to super.c jffs2_write_super is only called from super.c and doesn't use any functionality from fs.c. So move it over to super.c and make it static there. [should go in through the vfs tree as it is a requirement for the next patch] Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 4aa98cf768b6f2ea4b204620d949a665959214f6 Author: Al Viro Date: Fri May 8 13:36:58 2009 -0400 Push BKL down into do_remount_sb() [folded fix from Jiri Slaby] Signed-off-by: Al Viro commit 7f78d4cd4c5d01864943c22b79df1b6bde923129 Author: Al Viro Date: Fri May 8 13:34:06 2009 -0400 Push BKL down beyond VFS-only parts of do_mount() Signed-off-by: Al Viro commit 6fac98dd218653c6aff8a0f56305c424930cea2a Author: Al Viro Date: Fri May 8 13:31:17 2009 -0400 Push BKL into do_mount() Signed-off-by: Al Viro commit bbd6851a3213a525128473e978b692ab6ac11aba Author: Al Viro Date: Wed May 6 10:43:07 2009 -0400 Push lock_super() into the ->remount_fs() of filesystems that care about it Note that since we can't run into contention between remount_fs and write_super (due to exclusion on s_umount), we have to care only about filesystems that touch lock_super() on their own. Out of those ext3, ext4, hpfs, sysv and ufs do need it; fat doesn't since its ->remount_fs() only accesses assign-once data (basically, it's "we have no atime on directories and only have atime on files for vfat; force nodiratime and possibly noatime into *flags"). [folded a build fix from hch] Signed-off-by: Al Viro commit 6cfd0148425e528b859b26e436b01f23f6926224 Author: Christoph Hellwig Date: Tue May 5 15:40:36 2009 +0200 push BKL down into ->put_super Move BKL into ->put_super from the only caller. A couple of filesystems had trivial enough ->put_super (only kfree and NULLing of s_fs_info + stuff in there) to not get any locking: coda, cramfs, efs, hugetlbfs, omfs, qnx4, shmem, all others got the full treatment. Most of them probably don't need it, but I'd rather sort that out individually. Preferably after all the other BKL pushdowns in that area. [AV: original used to move lock_super() down as well; these changes are removed since we don't do lock_super() at all in generic_shutdown_super() now] [AV: fuse, btrfs and xfs are known to need no damn BKL, exempt] Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit a9e220f8322e2b0e0b8903fe00265461cffad3f0 Author: Al Viro Date: Tue May 5 22:10:44 2009 -0400 No need to do lock_super() for exclusion in generic_shutdown_super() We can't run into contention on it. All other callers of lock_super() either hold s_umount (and we have it exclusive) or hold an active reference to superblock in question, which prevents the call of generic_shutdown_super() while the reference is held. So we can replace lock_super(s) with get_fs_excl() in generic_shutdown_super() (and corresponding change for unlock_super(), of course). Since ext4 expects s_lock held for its put_super, take lock_super() into it. The rest of filesystems do not care at all. Signed-off-by: Al Viro commit 62c6943b4b1e818aea60c11c5a68a50785b83119 Author: Al Viro Date: Thu May 7 03:12:29 2009 -0400 Trim a bit of crap from fs.h do_remount_sb() is fs/internal.h fodder, fsync_no_super() is long gone. Signed-off-by: Al Viro commit 443b94baaa16771e98b29ca7c24f1e305738ffca Author: Al Viro Date: Tue May 5 23:48:50 2009 -0400 Make sure that all callers of remount hold s_umount exclusive Signed-off-by: Al Viro commit 5af7926ff33b68b3ba46531471c6e0564b285efc Author: Christoph Hellwig Date: Tue May 5 15:41:25 2009 +0200 enforce ->sync_fs is only called for rw superblock Make sure a superblock really is writeable by checking MS_RDONLY under s_umount. sync_filesystems needed some re-arragement for that, but all but one sync_filesystem caller had the correct locking already so that we could add that check there. cachefiles grew s_umount locking. I've also added a WARN_ON to sync_filesystem to assert this for future callers. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e5004753388dcf5e1b8a52ac0ab807d232340fbb Author: Christoph Hellwig Date: Tue May 5 16:08:56 2009 +0200 cleanup sync_supers Merge the write_super helper into sync_super and move the check for ->write_super earlier so that we can avoid grabbing a reference to a superblock that doesn't have it. While we're at it also add a little comment documenting sync_supers. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f3da392e9ff14b9f388e74319e6d195848991c07 Author: Alexey Dobriyan Date: Mon May 4 03:32:03 2009 +0400 dcache: extrace and use d_unlinked() d_unlinked() will be used in middle-term to ban checkpointing when opened but unlinked file is detected, and in long term, to detect such situation and special case on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Al Viro commit 8c85e125124a473d6f3e9bb187b0b84207f81d91 Author: Christoph Hellwig Date: Tue Apr 28 18:00:26 2009 +0200 remove ->write_super call in generic_shutdown_super We just did a full fs writeout using sync_filesystem before, and if that's not enough for the filesystem it can perform it's own writeout in ->put_super, which many filesystems already do. Move a call to foofs_write_super into every foofs_put_super for now to guarantee identical behaviour until it's cleaned up by the individual filesystem maintainers. Exceptions: - affs already has identical copy & pasted code at the beginning of affs_put_super so no need to do it twice. - xfs does the right thing without it and I have changes pending for the xfs tree touching this are so I don't really need conflicts here.. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 517bfae28353e996160518add4d00033d3886e61 Author: Christoph Hellwig Date: Mon Apr 27 09:46:45 2009 -0400 qnx4: remove ->write_super Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 94cb993f2ee99f3a9318e7b4dbb383497c4bedea Author: Christoph Hellwig Date: Mon Apr 27 09:46:44 2009 -0400 ocfs2: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Acked-by: Joel Becker Signed-off-by: Al Viro commit b7d245de25d1f0bb75a0d04194b647762b30d3db Author: Christoph Hellwig Date: Mon Apr 27 09:46:43 2009 -0400 gfs2: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Acked-by: Steven Whitehouse Signed-off-by: Al Viro commit ca41f7b918294c2a17780e057568413dcbfc6d49 Author: Christoph Hellwig Date: Mon Apr 27 09:46:42 2009 -0400 ext3: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 59d697b70285c348c01cfc2695c3469ba71d7539 Author: Christoph Hellwig Date: Mon Apr 27 09:46:41 2009 -0400 btrfs: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit c3f8a40c1cd5591b882497d1d00d43d0e5bb4698 Author: Jan Kara Date: Mon Apr 27 16:43:55 2009 +0200 quota: Introduce writeout_quota_sb() (version 4) Introduce this function which just writes all the quota structures but avoids all the syncing and cache pruning work to expose quota structures to userspace. Use this function from __sync_filesystem when wait == 0. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 850b201b087f5525a0a7278551c2bcd0423c3b26 Author: Christoph Hellwig Date: Mon Apr 27 16:43:54 2009 +0200 quota: cleanup dquota sync functions (version 4) Currently the VFS calls vfs_dq_sync to sync out disk quotas for a given superblock. This is a small wrapper around sync_dquots which for the case of a non-NULL superblock is a small wrapper around quota_sync_sb. Just make quota_sync_sb global (rename it to sync_quota_sb) and call it directly. Also call it directly for those cases in quota.c that have a superblock and leave sync_dquots purely an iterator over sync_quota_sb and remove it's superblock argument. To make this nicer move the check for the lack of a quota_sync method from the callers into sync_quota_sb. [folded build fix from Alexander Beregalov ] Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 60b0680fa236ac4e17ce31a50048c9d75f9ec831 Author: Jan Kara Date: Mon Apr 27 16:43:53 2009 +0200 vfs: Rename fsync_super() to sync_filesystem() (version 4) Rename the function so that it better describe what it really does. Also remove the unnecessary include of buffer_head.h. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit c15c54f5f056ee4819da9fde59a5f2cd45445f23 Author: Jan Kara Date: Mon Apr 27 16:43:52 2009 +0200 vfs: Move syncing code from super.c to sync.c (version 4) Move sync_filesystems(), __fsync_super(), fsync_super() from super.c to sync.c where it fits better. [build fixes folded] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 5cee5815d1564bbbd505fea86f4550f1efdb5cd0 Author: Jan Kara Date: Mon Apr 27 16:43:51 2009 +0200 vfs: Make sys_sync() use fsync_super() (version 4) It is unnecessarily fragile to have two places (fsync_super() and do_sync()) doing data integrity sync of the filesystem. Alter __fsync_super() to accommodate needs of both callers and use it. So after this patch __fsync_super() is the only place where we gather all the calls needed to properly send all data on a filesystem to disk. Nice bonus is that we get a complete livelock avoidance and write_supers() is now only used for periodic writeback of superblocks. sync_blockdevs() introduced a couple of patches ago is gone now. [build fixes folded] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 429479f031322a0cc5c921ffb2321a51718dc875 Author: Jan Kara Date: Mon Apr 27 16:43:50 2009 +0200 vfs: Make __fsync_super() a static function (version 4) __fsync_super() does the same thing as fsync_super(). So change the only caller to use fsync_super() and make __fsync_super() static. This removes unnecessarily duplicated call to sync_blockdev() and prepares ground for the changes to __fsync_super() in the following patches. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit bfe881255c74800147523b59c85328a1a826ba21 Author: Jan Kara Date: Mon Apr 27 16:43:49 2009 +0200 vfs: Call ->sync_fs() even if s_dirt is 0 (version 4) sync_filesystems() has a condition that if wait == 0 and s_dirt == 0, then ->sync_fs() isn't called. This does not really make much sence since s_dirt is generally used by a filesystem to mean that ->write_super() needs to be called. But ->sync_fs() does different things. I even suspect that some filesystems (btrfs?) sets s_dirt just to fool this logic. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 5a3e5cb8e08bd876e2542c1451c9a93dab1b0e39 Author: Jan Kara Date: Mon Apr 27 16:43:48 2009 +0200 vfs: Fix sys_sync() and fsync_super() reliability (version 4) So far, do_sync() called: sync_inodes(0); sync_supers(); sync_filesystems(0); sync_filesystems(1); sync_inodes(1); This ordering makes it kind of hard for filesystems as sync_inodes(0) need not submit all the IO (for example it skips inodes with I_SYNC set) so e.g. forcing transaction to disk in ->sync_fs() is not really enough. Therefore sys_sync has not been completely reliable on some filesystems (ext3, ext4, reiserfs, ocfs2 and others are hit by this) when racing e.g. with background writeback. A similar problem hits also other filesystems (e.g. ext2) because of write_supers() being called before the sync_inodes(1). Change the ordering of calls in do_sync() - this requires a new function sync_blockdevs() to preserve the property that block devices are always synced after write_super() / sync_fs() call. The same issue is fixed in __fsync_super() function used on umount / remount read-only. [AV: build fixes] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 876a9f76abbcb775f8d21cbc99fa161f9e5937f1 Author: Christoph Hellwig Date: Tue Apr 28 18:05:55 2009 +0200 remove s_async_list Remove the unused s_async_list in the superblock, a leftover of the broken async inode deletion code that leaked into mainline. Having this in the middle of the sync/unmount path is not helpful for the following cleanups. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 864d7c4c068f23642efe91b33be3a84afe5f71e0 Author: npiggin@suse.de Date: Sun Apr 26 20:25:56 2009 +1000 fs: move mark_files_ro into file_table.c This function walks the s_files lock, and operates primarily on the files in a superblock, so it better belongs here (eg. see also fs_may_remount_ro). [AV: ... and it shouldn't be static after that move] Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 96029c4e09ccbd73a6d0ed2b29e80bf2586ad7ef Author: npiggin@suse.de Date: Sun Apr 26 20:25:55 2009 +1000 fs: introduce mnt_clone_write This patch speeds up lmbench lat_mmap test by about another 2% after the first patch. Before: avg = 462.286 std = 5.46106 After: avg = 453.12 std = 9.58257 (50 runs of each, stddev gives a reasonable confidence) It does this by introducing mnt_clone_write, which avoids some heavyweight operations of mnt_want_write if called on a vfsmount which we know already has a write count; and mnt_want_write_file, which can call mnt_clone_write if the file is open for write. After these two patches, mnt_want_write and mnt_drop_write go from 7% on the profile down to 1.3% (including mnt_clone_write). [AV: mnt_want_write_file() should take file alone and derive mnt from it; not only all callers have that form, but that's the only mnt about which we know that it's already held for write if file is opened for write] Cc: Dave Hansen Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit d3ef3d7351ccfbef3e5d926efc5ee332136f40d4 Author: npiggin@suse.de Date: Sun Apr 26 20:25:54 2009 +1000 fs: mnt_want_write speedup This patch speeds up lmbench lat_mmap test by about 8%. lat_mmap is set up basically to mmap a 64MB file on tmpfs, fault in its pages, then unmap it. A microbenchmark yes, but it exercises some important paths in the mm. Before: avg = 501.9 std = 14.7773 After: avg = 462.286 std = 5.46106 (50 runs of each, stddev gives a reasonable confidence, but there is quite a bit of variation there still) It does this by removing the complex per-cpu locking and counter-cache and replaces it with a percpu counter in struct vfsmount. This makes the code much simpler, and avoids spinlocks (although the msync is still pretty costly, unfortunately). It results in about 900 bytes smaller code too. It does increase the size of a vfsmount, however. It should also give a speedup on large systems if CPUs are frequently operating on different mounts (because the existing scheme has to operate on an atomic in the struct vfsmount when switching between mounts). But I'm most interested in the single threaded path performance for the moment. [AV: minor cleanup] Cc: Dave Hansen Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 3174c21b74b56c6a53fddd41a30fd6f757a32bd0 Author: Al Viro Date: Tue Apr 7 13:19:18 2009 -0400 Move junk from proc_fs.h to fs/proc/internal.h Signed-off-by: Al Viro commit 1c755af4df75996b0dd4b7e6cacaf9d57a6ef2ef Author: Al Viro Date: Sat Apr 18 14:06:57 2009 -0400 switch lookup_mnt() Signed-off-by: Al Viro commit 79ed0226198c628133530b179a90dbf42b1c2eba Author: Al Viro Date: Sat Apr 18 13:59:41 2009 -0400 switch follow_mount() Signed-off-by: Al Viro commit 9393bd07cf218ca51d0e627653f906a9d76a9131 Author: Al Viro Date: Sat Apr 18 13:58:15 2009 -0400 switch follow_down() Signed-off-by: Al Viro commit 589ff870ed60a9ebdd5ec99ec3f5afe1282fe151 Author: Al Viro Date: Sat Apr 18 03:28:19 2009 -0400 Switch collect_mounts() to struct path Signed-off-by: Al Viro commit bab77ebf51e3902f608ecf08c9d34a0a52ac35a9 Author: Al Viro Date: Sat Apr 18 03:26:48 2009 -0400 switch follow_up() to struct path Signed-off-by: Al Viro commit e64c390ca0b60fd2119331ef1fa888d7ea27e424 Author: Al Viro Date: Sat Apr 18 03:00:46 2009 -0400 switch rqst_exp_parent() Signed-off-by: Al Viro commit 91c9fa8f75877c0c1e455c23e8f8206c91c8f77f Author: Al Viro Date: Sat Apr 18 02:42:05 2009 -0400 switch rqst_exp_get_by_name() Signed-off-by: Al Viro commit 5bf3bd2b5cb68ba43c91f5bd0ac043543fba2558 Author: Al Viro Date: Sat Apr 18 02:14:32 2009 -0400 switch exp_parent() to struct path ... and lose the always-NULL last argument (non-NULL case had been split off a while ago). Signed-off-by: Al Viro commit 55430e2ecee574e729c12d4063b3ecabfa98fa82 Author: Al Viro Date: Sat Apr 18 02:04:46 2009 -0400 nfsd struct path use: exp_get_by_name() Signed-off-by: Al Viro commit dd5cae6e9772ecc62fd374f7a8ec10eb51c96c4d Author: Al Viro Date: Tue Apr 7 12:21:18 2009 -0400 Don't bother with check_mnt() in do_add_mount() on shrinkable ones These guys are what we add as submounts; checks for "is that attached in our namespace" are simply irrelevant for those and counterproductive for use of private vfsmount trees a-la what NFS folks want. Signed-off-by: Al Viro commit 5b857119538daac7118c1364d7ff3613f12b84d3 Author: Al Viro Date: Tue Apr 7 11:53:49 2009 -0400 Make vfs_path_lookup() use starting point as root Signed-off-by: Al Viro commit 2a737871108de9ba8930f7650d549f1383767f8b Author: Al Viro Date: Tue Apr 7 11:49:53 2009 -0400 Cache root in nameidata New field: nd->root. When pathname resolution wants to know the root, check if nd->root.mnt is non-NULL; use nd->root if it is, otherwise copy current->fs->root there. After path_walk() is finished, we check if we'd got a cached value in nd->root and drop it. Before calling path_walk() we should either set nd->root.mnt to NULL *or* copy (and pin down) some path to nd->root. In the latter case we won't be looking at current->fs->root at all. Signed-off-by: Al Viro commit 9b4a9b14a793bc69b505ed916051f6f32db13bb8 Author: Al Viro Date: Tue Apr 7 11:44:16 2009 -0400 Preparations to caching root in path_walk() Split do_path_lookup(), opencode the call from do_filp_open() do_filp_open() is the only caller of do_path_lookup() that cares about root afterwards (it keeps resolving symlinks on O_CREAT path after it'd done LOOKUP_PARENT walk). So when we start caching fs->root in path_walk(), it'll need a different treatment. Signed-off-by: Al Viro commit 4e44b6852e03c915618ca6776b6697b436246b00 Author: Al Viro Date: Tue Apr 7 11:08:56 2009 -0400 Get rid of path_lookup in autofs4 Signed-off-by: Al Viro commit 73422811d290c628b4ddbf6830e5cd6fa42e84f1 Author: Jeff Mahoney Date: Sun May 10 16:05:39 2009 -0400 reiserfs: allow exposing privroot w/ xattrs enabled This patch adds an -oexpose_privroot option to allow access to the privroot. Signed-off-by: Jeff Mahoney Signed-off-by: Al Viro commit 10f52dd9febf0302bc458a6ea7979767dfa9f3b6 Merge: ec3cf2e 336ff73 Author: Benjamin Herrenschmidt Date: Fri Jun 12 10:35:52 2009 +1000 Merge commit 'jwb/next' into next commit 17d0cdfa8f3c09a110061c67421d662b3e149d0a Author: Eric Dumazet Date: Thu Jun 11 17:23:24 2009 -0700 net: ntohs() misuse Some drivers incorrectly use ntohs() instead of htons() A cleanup as htons() returns same result than ntohs(), but better to use the proper one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3ee40c376ad3252d13946141588db7e2f435f958 Merge: 6700254 98eb0f5 Author: David S. Miller Date: Thu Jun 11 17:11:33 2009 -0700 Merge branch 'linux-2.6.31.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit 24992eacd8a9f4af286bdaaab627b6802ceb8bce Author: Patrick McHardy Date: Fri Jun 12 01:53:09 2009 +0200 netfilter: ip_tables: fix build error Fix build error introduced by commit bb70dfa5 (netfilter: xtables: consolidate comefrom debug cast access): net/ipv4/netfilter/ip_tables.c: In function 'ipt_do_table': net/ipv4/netfilter/ip_tables.c:421: error: 'comefrom' undeclared (first use in this function) net/ipv4/netfilter/ip_tables.c:421: error: (Each undeclared identifier is reported only once net/ipv4/netfilter/ip_tables.c:421: error: for each function it appears in.) Signed-off-by: Patrick McHardy commit 11b6aa9555d0c2f4d195695cd151e1fd07413387 Author: Paul Mundt Date: Fri Jun 12 01:34:12 2009 +0300 sh: intc: alloc_bootmem() -> kzalloc() conversion. Now that the slab allocators are available much earlier, this triggers a the slab_is_available() warning when registering the interrupt controller. Convert to kzalloc() with GFP_NOWAIT, as per the generic changes. Signed-off-by: Paul Mundt commit 19470e185a088591c228e1e8473006567719aa1c Author: Paul Mundt Date: Fri Jun 12 01:33:22 2009 +0300 sh: Wire up sys_perf_counter_open. Signed-off-by: Paul Mundt commit 8c5dd8f43367f4f266dd616f11658005bc2d20ef Author: Yinghai Lu Date: Thu Jun 4 19:14:22 2009 -0700 x86: handle initrd that extends into unusable memory On a system where system memory (according e820) is not covered by mtrr, mtrr_trim_memory converts a portion of memory to reserved, but bootloader has already put the initrd in that range. Thus, we need to have 64bit to use relocate_initrd too. [ Impact: fix using initrd when mtrr_trim_memory happen ] Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit cf64c800f0673cee7e36d7a97e2a1b575385b3db Merge: 512626a 9e28c46 Author: Paul Mundt Date: Fri Jun 12 01:12:44 2009 +0300 Merge branch 'sh/ftrace' of git://github.com/mfleming/linux-2.6 commit 35fd035968de4f674b9d62ee7b1d80ab7a50c384 Merge: 4e73e0e ef14f0c Author: Felix Blyakher Date: Thu Jun 11 16:56:49 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit 0d5959723e1db3fd7323c198a50c16cecf96c7a9 Merge: 62fdac5 512626a Author: Ingo Molnar Date: Thu Jun 11 23:31:52 2009 +0200 Merge branch 'linus' into x86/mce3 Conflicts: arch/x86/kernel/cpu/mcheck/mce_64.c arch/x86/kernel/irq.c Merge reason: Resolve the conflicts above. Signed-off-by: Ingo Molnar commit a525890cb6a2949b644d212ae290b658967d3919 Merge: 3bb66d7 b263c2c Author: Linus Torvalds Date: Thu Jun 11 14:23:12 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: (23 commits) Btrfs: fix extent_buffer leak during tree log replay Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir Btrfs: fix -o nodatasum printk spelling Btrfs: check duplicate backrefs for both data and metadata Btrfs: init worker struct fields before kthread-run Btrfs: pin buffers during write_dev_supers Btrfs: avoid races between super writeout and device list updates Fix btrfs when ACLs are configured out Btrfs: fdatasync should skip metadata writeout Btrfs: remove crc32c.h and use libcrc32c directly. Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION Btrfs: autodetect SSD devices Btrfs: add mount -o ssd_spread to spread allocations out Btrfs: avoid allocation clusters that are too spread out Btrfs: Add mount -o nossd Btrfs: avoid IO stalls behind congested devices in a multi-device FS Btrfs: don't allow WRITE_SYNC bios to starve out regular writes Btrfs: fix metadata dirty throttling limits Btrfs: reduce mount -o ssd CPU usage Btrfs: balance btree more often ... commit 3bb66d7f8cc31537a3170c9bb82b38e538b984c5 Merge: 512626a a092ee2 Author: Linus Torvalds Date: Thu Jun 11 14:22:55 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: fsnotify: allow groups to set freeing_mark to null inotify/dnotify: should_send_event shouldn't match on FS_EVENT_ON_CHILD dnotify: do not bother to lock entry->lock when reading mask dnotify: do not use ?true:false when assigning to a bool fsnotify: move events should indicate the event was on a child inotify: reimplement inotify using fsnotify fsnotify: handle filesystem unmounts with fsnotify marks fsnotify: fsnotify marks on inodes pin them in core fsnotify: allow groups to add private data to events fsnotify: add correlations between events fsnotify: include pathnames with entries when possible fsnotify: generic notification queue and waitq dnotify: reimplement dnotify using fsnotify fsnotify: parent event notification fsnotify: add marks to inodes so groups can interpret how to handle those inodes fsnotify: unified filesystem notification backend commit ca8cbc8391cbd4d6e4304fc6b62682ed93d2b165 Author: Matthias Kaehlcke Date: Thu Jun 11 19:57:34 2009 +0100 [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN ep93xx: get_uart_rate() uses the constants EP93XX_SYSCON_CLOCK_CONTROL and EP93XX_SYSCON_CLOCK_UARTBAUD, which no longer exist. Use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCNT_UARTBAUD instead Signed-off-by: Matthias Kaehlcke Signed-off-by: Russell King commit 512626a04e72aca60effe111fa0333ed0b195d21 Merge: 8a1ca8c 3aa27bb Author: Linus Torvalds Date: Thu Jun 11 14:15:57 2009 -0700 Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 * 'for-linus' of git://linux-arm.org/linux-2.6: kmemleak: Add the corresponding MAINTAINERS entry kmemleak: Simple testing module for kmemleak kmemleak: Enable the building of the memory leak detector kmemleak: Remove some of the kmemleak false positives kmemleak: Add modules support kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash kmemleak: Add the vmalloc memory allocation/freeing hooks kmemleak: Add the slub memory allocation/freeing hooks kmemleak: Add the slob memory allocation/freeing hooks kmemleak: Add the slab memory allocation/freeing hooks kmemleak: Add documentation on the memory leak detector kmemleak: Add the base support Manual conflict resolution (with the slab/earlyboot changes) in: drivers/char/vt.c init/main.c mm/slab.c commit 8a1ca8cedd108c8e76a6ab34079d0bbb4f244799 Merge: b640f04 940010c Author: Linus Torvalds Date: Thu Jun 11 14:01:07 2009 -0700 Merge branch 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits) perf_counter: Turn off by default perf_counter: Add counter->id to the throttle event perf_counter: Better align code perf_counter: Rename L2 to LL cache perf_counter: Standardize event names perf_counter: Rename enums perf_counter tools: Clean up u64 usage perf_counter: Rename perf_counter_limit sysctl perf_counter: More paranoia settings perf_counter: powerpc: Implement generalized cache events for POWER processors perf_counters: powerpc: Add support for POWER7 processors perf_counter: Accurate period data perf_counter: Introduce struct for sample data perf_counter tools: Normalize data using per sample period data perf_counter: Annotate exit ctx recursion perf_counter tools: Propagate signals properly perf_counter tools: Small frequency related fixes perf_counter: More aggressive frequency adjustment perf_counter/x86: Fix the model number of Intel Core2 processors perf_counter, x86: Correct some event and umask values for Intel processors ... commit b640f042faa2a2fad6464f259a8afec06e2f6386 Merge: 871fa90 b8ec757 Author: Linus Torvalds Date: Thu Jun 11 12:25:06 2009 -0700 Merge branch 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: vgacon: use slab allocator instead of the bootmem allocator irq: use kcalloc() instead of the bootmem allocator sched: use slab in cpupri_init() sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var() memcg: don't use bootmem allocator in setup code irq/cpumask: make memoryless node zero happy x86: remove some alloc_bootmem_cpumask_var calling vt: use kzalloc() instead of the bootmem allocator sched: use kzalloc() instead of the bootmem allocator init: introduce mm_init() vmalloc: use kzalloc() instead of alloc_bootmem() slab: setup allocators earlier in the boot sequence bootmem: fix slab fallback on numa bootmem: use slab if bootmem is no longer available commit 26a28fa4fea5b8c65713aa50c124f76a88c7924d Author: Arnd Bergmann Date: Wed May 13 22:56:38 2009 +0000 add generic lib/checksum.c Add a generic (unoptimized) implementation of checksum.c in pure C for use by all architectures that cannot be bother with implementing their own version. Based on microblaze code by Michal Simek Cc: Michal Simek Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit eed417ddd52146f446595b5a7d8f21b1814b95b7 Author: Arnd Bergmann Date: Wed May 13 22:56:37 2009 +0000 asm-generic: add a generic uaccess.h Based on discussions with Michal Simek and code from m68knommu and h8300, this version of uaccess.h should be usable by most architectures, by overriding some parts of it. Simple NOMMU architectures can use it out of the box, but a minimal __access_ok() should be added there as well. Cc: Michal Simek Signed-off-by: Arnd Bergmann commit 5c01b46bb6bb8f2662573c05c87b5d68fa25af89 Author: Arnd Bergmann Date: Wed May 13 22:56:36 2009 +0000 asm-generic: add generic NOMMU versions of some headers Memory management in generic is highly architecture specific, but on NOMMU architectures, it is mostly trivial, so just add a default implementation in asm-generic that applies to all NOMMU architectures. The two files cache.h and cacheflush.h can possibly also be used by architectures that have an MMU but never require flushing the cache or have cache lines larger than 32 bytes. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 3f7e212df82ca0459d44c91d9e019efd1b5f936c Author: Arnd Bergmann Date: Wed May 13 22:56:35 2009 +0000 asm-generic: add generic atomic.h and io.h atomic.h and io.h are based on the mn10300 architecture, which is already pretty generic and can be used by other architectures that do not have hardware support for atomic operations or out-of-order I/O access. Signed-off-by: Arnd Bergmann commit ae49e807951d5e26767bc55d1dc29671c596c450 Author: Arnd Bergmann Date: Wed May 13 22:56:34 2009 +0000 asm-generic: add legacy I/O header files The dma.h, hw_irq.h, serial.h and timex.h files originally described PC-style i8237, i8259A, i8250, i8253 and i8255 chips as well as the VGA style text mode graphics. Modern architectures live happily without these specific interfaces, but a few definitions from these headers keep getting used in common code. The new generic headers are what most architectures use anyway nowadays, just implementing the minimal definitions. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit aafe4dbed0bf6cbdb2e9f03e1d42f8a540d8541d Author: Arnd Bergmann Date: Wed May 13 22:56:33 2009 +0000 asm-generic: add generic versions of common headers These are all kernel internal interfaces that get copied around a lot. In most cases, architectures can provide their own optimized versions, but these generic versions can work as well. I have tried to use the most common contents of each header to allow existing architectures to migrate easily. Thanks to Remis for suggesting a number of cleanups. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 9858c60cc2d33b18367b2bc6947e3ea23db26ccb Author: Arnd Bergmann Date: Wed May 13 22:56:32 2009 +0000 asm-generic: make bitops.h usable bitops.h apparently suffered from some level of bitrot, it was missing the smp_mb__{before,after}_clear_bit functions, and included other headers in an invalid order. This changes the file so that new architectures can use it out of the box. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit d7c4f1b78afeedfc22b1756fcdc1acbe84284d74 Author: Arnd Bergmann Date: Wed May 13 22:56:31 2009 +0000 asm-generic: make pci.h usable directly Some generic code is using the horribly misnamed PCI_DMA_BUS_IS_PHYS from asm/pci.h. This makes sure that an architecture without PCI support does not have to define this itself but can rely on the asm-generic version. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 3aef392822e1a42e80077a332ea2efdfd8a4248a Author: Arnd Bergmann Date: Sun May 17 21:00:05 2009 +0000 asm-generic: make get_rtc_time overridable Evidently, set_rtc_time is supposed to be overridable by architectures that define their own version, but unfortunately, get_rtc_ss would in that case still use the generic version. This makes get_rtc_ss call the real set_rtc_time to let architectures define their own version. The change should fix the "Extended RTC operation" on Alpha, which uses the incorrect get_rtc_ss call. It also allows PowerPC to use the asm-generic/rtc.h file in the future. Cc: Richard Henderson Cc: linux-alpha@vger.kernel.org Cc: Tom Rini Cc: rtc-linux@googlegroups.com Cc: Alessandro Zummo Cc: Paul Gortmaker Signed-off-by: Arnd Bergmann commit 5b17e1cd8928ae65932758ce6478ac6d3e9a86b2 Author: Arnd Bergmann Date: Wed May 13 22:56:30 2009 +0000 asm-generic: rename page.h and uaccess.h The current asm-generic/page.h only contains the get_order function, and asm-generic/uaccess.h only implements unaligned accesses. This renames the file to getorder.h and uaccess-unaligned.h to make room for new page.h and uaccess.h file that will be usable by all simple (e.g. nommu) architectures. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 72099ed2719fc5829bd79c6ca9d1783ed026eb37 Author: Arnd Bergmann Date: Wed May 13 22:56:29 2009 +0000 asm-generic: rename atomic.h to atomic-long.h The existing asm-generic/atomic.h only defines the atomic_long type. This renames it to atomic-long.h so we have a place to add a truly generic atomic.h that can be used on all non-SMP systems. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann Acked-by: Ingo Molnar commit e64a1617eca39d62b248a11699de9c1195369661 Author: Arnd Bergmann Date: Wed May 13 22:56:28 2009 +0000 asm-generic: add a generic unistd.h A new architecture should only define a minimal set of system calls while still providing the full functionality. This version of unistd.h has gone through intensive review to make sure that by default it only enables syscalls that do not already have a more featureful replacement. It is modeled after the x86-64 version of unistd.h, which unifies the syscall number definition and the actual system call table in a single file, in order to keep them synchronized much more easily. This first version still keeps legacy system call definitions around, guarded by various #ifdefs, and with numbers larger than 1024. The idea behind this is to make it easier for new architectures to transition from a full list to the reduced set. In particular, the new microblaze architecture that should migrate to using the generic ABI headers can at least use an existing uClibc source tree without major rewrites during the conversion. Signed-off-by: Arnd Bergmann commit 6103ec56c65c33774c7c38652c8204120c3c7519 Author: Arnd Bergmann Date: Wed May 13 22:56:27 2009 +0000 asm-generic: add generic ABI headers These header files are typically copied from an existing architecture into any new one, slightly modified and then remain untouched until the end of time in the name of ABI stability. To make it easier for future architectures, provide a sane generic version here. In cases where multiple architectures already use identical code, I used the most common version. In cases like stat.h that are more or less broken everywhere, I provide a version that is meant to be ideal for new architectures. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 2864d32be31a20a4617e37a857dd9915a57e2efb Author: Arnd Bergmann Date: Wed May 13 22:56:26 2009 +0000 asm-generic: add generic sysv ipc headers The ipc64 data structures were originally meant to be architecture specific so that each architecture could add their own optimizations for padding. In the end, most of them just copied the x86 version, and most got that wrong. UClibc expects the x86 anyway, so we might just declare that the default and get rid of the extra copies. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit c31ae4bb4a9fa4606a74c0a4fb61b74f804e861e Author: Arnd Bergmann Date: Wed May 13 22:56:25 2009 +0000 asm-generic: introduce asm/bitsperlong.h This provides a reliable way for asm-generic/types.h and other files to find out if it is running on a 32 or 64 bit platform. We cannot use CONFIG_64BIT for this in headers that are included from user space because CONFIG symbols are not available there. We also cannot do it inside of asm/types.h because some headers need the word size but cannot include types.h. The solution is to introduce a new header that defines both __BITS_PER_LONG for user space and BITS_PER_LONG for usage in the kernel. The asm-generic version falls back to 32 bit unless the architecture overrides it, which I did for all 64 bit platforms. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 63b852a6b67d0820d388b0ecd0da83ccb4048b8d Author: Arnd Bergmann Date: Wed May 13 22:56:24 2009 +0000 asm-generic: rename termios.h, signal.h and mman.h The existing asm-generic versions are incomplete and included by some architectures. New architectures should be able to use a generic version, so rename the existing files and change all users, which lets us add the new files. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit a092ee20fd33d2df0990dcbf2235afc181612818 Author: Eric Paris Date: Thu Jun 11 11:09:48 2009 -0400 fsnotify: allow groups to set freeing_mark to null Most fsnotify listeners (all but inotify) do not care about marks being freed. Allow groups to set freeing_mark to null and do not call any function if it is set that way. Signed-off-by: Eric Paris commit e42e27736de80045f925564ea27a1d32957219e7 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 inotify/dnotify: should_send_event shouldn't match on FS_EVENT_ON_CHILD inotify and dnotify will both indicate that they want any event which came from a child inode. The fix is to mask off FS_EVENT_ON_CHILD when deciding if inotify or dnotify is interested in a given event. Signed-off-by: Eric Paris commit ce61856bd2aadb064f595e5c0444376a2b117c41 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 dnotify: do not bother to lock entry->lock when reading mask entry->lock is needed to make sure entry->mask does not change while manipulating it. In dnotify_should_send_event() we don't care if we get an old or a new mask value out of this entry so there is no point it taking the lock. Signed-off-by: Eric Paris commit 5ac697b793a3c45005c568df692518da6e690390 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 dnotify: do not use ?true:false when assigning to a bool dnotify_should send event assigned a bool using ?true:false when computing a bit operation. This is poitless and the bool type does this for us. Signed-off-by: Eric Paris commit ff52cc2158b32b3b979ca7802b1fd7c70f36e13c Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 fsnotify: move events should indicate the event was on a child fsnotify tells its listeners explicitly when an event happened on the given inode verses on the child of the given inode. (see __fsnotify_parent) However, the semantics of fsnotify_move() are such that we deliver events directly to the two parent directories in question (old_dir and new_dir) directly without using the __fsnotify_parent() call. fsnotify should be adding FS_EVENT_ON_CHILD for the notifications to these parents. Signed-off-by: Eric Paris commit 63c882a05416e18de6fb59f7dd6da48f3bbe8273 Author: Eric Paris Date: Thu May 21 17:02:01 2009 -0400 inotify: reimplement inotify using fsnotify Reimplement inotify_user using fsnotify. This should be feature for feature exactly the same as the original inotify_user. This does not make any changes to the in kernel inotify feature used by audit. Those patches (and the eventual removal of in kernel inotify) will come after the new inotify_user proves to be working correctly. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 164bc6195139047faaf5ada1278332e99494803b Author: Eric Paris Date: Thu May 21 17:01:58 2009 -0400 fsnotify: handle filesystem unmounts with fsnotify marks When an fs is unmounted with an fsnotify mark entry attached to one of its inodes we need to destroy that mark entry and we also (like inotify) send an unmount event. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 1ef5f13c6c8acd3fd10db9f1743f3b4cf30a4abb Author: Eric Paris Date: Thu May 21 17:01:54 2009 -0400 fsnotify: fsnotify marks on inodes pin them in core This patch pins any inodes with an fsnotify mark in core. The idea is that as soon as the mark is removed from the inode->fsnotify_mark_entries list the inode will be iput. In reality is doesn't quite work exactly this way. The igrab will happen when the mark is added to an inode, but the iput will happen when the inode pointer is NULL'd inside the mark. It's possible that 2 racing things will try to remove the mark from different directions. One may try to remove the mark because of an explicit request and one might try to remove it because the inode was deleted. It's possible that the removal because of inode deletion will remove the mark from the inode's list, but the removal by explicit request will actually set entry->inode == NULL; and call the iput. This is safe. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit e4aff117368cfdd3567ee41844d216d079b55173 Author: Eric Paris Date: Thu May 21 17:01:50 2009 -0400 fsnotify: allow groups to add private data to events inotify needs per group information attached to events. This patch allows groups to attach private information and implements a callback so that information can be freed when an event is being destroyed. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 47882c6f51e8ef41fbbe2bbb746a1ea3228dd7ca Author: Eric Paris Date: Thu May 21 17:01:47 2009 -0400 fsnotify: add correlations between events As part of the standard inotify events it includes a correlation cookie between two dentry move operations. This patch includes the same behaviour in fsnotify events. It is needed so that inotify userspace can be implemented on top of fsnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 62ffe5dfba056f7ba81d710fee9f28c58a42fdd6 Author: Eric Paris Date: Thu May 21 17:01:43 2009 -0400 fsnotify: include pathnames with entries when possible When inotify wants to send events to a directory about a child it includes the name of the original file. This patch collects that filename and makes it available for notification. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit a2d8bc6cb4a3024661baf877242f123787d0c054 Author: Eric Paris Date: Thu May 21 17:01:37 2009 -0400 fsnotify: generic notification queue and waitq inotify needs to do asyc notification in which event information is stored on a queue until the listener is ready to receive it. This patch implements a generic notification queue for inotify (and later fanotify) to store events to be sent at a later time. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 3c5119c05d624f95f4967d16b38c9624b816bdb9 Author: Eric Paris Date: Thu May 21 17:01:33 2009 -0400 dnotify: reimplement dnotify using fsnotify Reimplement dnotify using fsnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit c28f7e56e9d95fb531dc3be8df2e7f52bee76d21 Author: Eric Paris Date: Thu May 21 17:01:29 2009 -0400 fsnotify: parent event notification inotify and dnotify both use a similar parent notification mechanism. We add a generic parent notification mechanism to fsnotify for both of these to use. This new machanism also adds the dentry flag optimization which exists for inotify to dnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 3be25f49b9d6a97eae9bcb96d3292072b7658bd8 Author: Eric Paris Date: Thu May 21 17:01:26 2009 -0400 fsnotify: add marks to inodes so groups can interpret how to handle those inodes This patch creates a way for fsnotify groups to attach marks to inodes. These marks have little meaning to the generic fsnotify infrastructure and thus their meaning should be interpreted by the group that attached them to the inode's list. dnotify and inotify will make use of these markings to indicate which inodes are of interest to their respective groups. But this implementation has the useful property that in the future other listeners could actually use the marks for the exact opposite reason, aka to indicate which inodes it had NO interest in. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 90586523eb4b349806887c62ee70685a49415124 Author: Eric Paris Date: Thu May 21 17:01:20 2009 -0400 fsnotify: unified filesystem notification backend fsnotify is a backend for filesystem notification. fsnotify does not provide any userspace interface but does provide the basis needed for other notification schemes such as dnotify. fsnotify can be extended to be the backend for inotify or the upcoming fanotify. fsnotify provides a mechanism for "groups" to register for some set of filesystem events and to then deliver those events to those groups for processing. fsnotify has a number of benefits, the first being actually shrinking the size of an inode. Before fsnotify to support both dnotify and inotify an inode had unsigned long i_dnotify_mask; /* Directory notify events */ struct dnotify_struct *i_dnotify; /* for directory notifications */ struct list_head inotify_watches; /* watches on this inode */ struct mutex inotify_mutex; /* protects the watches list But with fsnotify this same functionallity (and more) is done with just __u32 i_fsnotify_mask; /* all events for this inode */ struct hlist_head i_fsnotify_mark_entries; /* marks on this inode */ That's right, inotify, dnotify, and fanotify all in 64 bits. We used that much space just in inotify_watches alone, before this patch set. fsnotify object lifetime and locking is MUCH better than what we have today. inotify locking is incredibly complex. See 8f7b0ba1c8539 as an example of what's been busted since inception. inotify needs to know internal semantics of superblock destruction and unmounting to function. The inode pinning and vfs contortions are horrible. no fsnotify implementers do allocation under locks. This means things like f04b30de3 which (due to an overabundance of caution) changes GFP_KERNEL to GFP_NOFS can be reverted. There are no longer any allocation rules when using or implementing your own fsnotify listener. fsnotify paves the way for fanotify. In brief fanotify is a notification mechanism that delivers the lisener both an 'event' and an open file descriptor to the object in question. This means that fanotify is pathname agnostic. Some on lkml may not care for the original companies or users that pushed for TALPA, but fanotify was designed with flexibility and input for other users in mind. The readahead group expressed interest in fanotify as it could be used to profile disk access on boot without breaking the audit system. The desktop search groups have also expressed interest in fanotify as it solves a number of the race conditions and problems present with managing inotify when more than a limited number of specific files are of interest. fanotify can provide for a userspace access control system which makes it a clean interface for AV vendors to hook without trying to do binary patching on the syscall table, LSM, and everywhere else they do their things today. With this patch series fanotify can be implemented in less than 1200 lines of easy to review code. Almost all of which is the socket based user interface. This patch series builds fsnotify to the point that it can implement dnotify and inotify_user. Patches exist and will be sent soon after acceptance to finish the in kernel inotify conversion (audit) and implement fanotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 98eb0f53e2fc66482e2ea8033c58b20a079e5260 Author: Inaky Perez-Gonzalez Date: Thu Jun 11 11:13:41 2009 -0700 wimax: fix gcc warnings in sh4 when calling BUG() SH4's BUG() seems to confuse the compiler as it is considered to return; thus, some functions would trigger usage of uninitialized variables or non-void functions returning void. Work around by initializing/returning. Signed-off-by: Inaky Perez-Gonzalez commit 871fa90791a6f83dd8e2e489feb9534a8c02088d Merge: 7702667 79f52b7 Author: Linus Torvalds Date: Thu Jun 11 11:27:09 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: Add missing mutex_unlock call to error path missing unlock in jfs_quota_write() commit 7702667bb490573c807fa45519378e84b5050d1d Merge: b415c49 9866b7e Author: Linus Torvalds Date: Thu Jun 11 11:26:56 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: memtest: use pointers of equal type for comparison commit b415c49a864dab8ee90713833d642dd461eccae9 Author: Oleg Nesterov Date: Thu Jun 11 13:12:55 2009 +0100 slow_work_thread() should do the exclusive wait slow_work_thread() sleeps on slow_work_thread_wq without WQ_FLAG_EXCLUSIVE, this means that slow_work_enqueue()->__wake_up(nr_exclusive => 1) wakes up all kslowd threads. This is not what we want, so we change slow_work_thread() to use prepare_to_wait_exclusive() instead. Signed-off-by: Oleg Nesterov Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 6adc74b7d03c06a8e15d51fe33c3d924ada9271a Merge: c905959 517d3cc Author: Linus Torvalds Date: Thu Jun 11 11:23:17 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: [libata] ata_piix: Enable parallel scan sata_nv: use hardreset only for post-boot probing [libata] ahci: Restore SB600 SATA controller 64 bit DMA ata_piix: Remove stale comment ata_piix: Turn on hotplugging support for older chips ahci: misc cleanups for EM stuff [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2 sata_sil: enable 32-bit PIO sata_sx4: speed up ECC initialization libata-sff: avoid byte swapping in ata_sff_data_xfer() [libata] ahci: use less error-prone array initializers commit d2f4c10544231c3681f937a1e511f4780b4b39af Author: Inaky Perez-Gonzalez Date: Thu Jun 11 11:12:48 2009 -0700 wimax: fix warning caused by not checking retval of rfkill_set_hw_state() Caused by an API update. The return value can be safely ignored, as there is notthing we can do with it. Signed-off-by: Inaky Perez-Gonzalez commit c9059598ea8981d02356eead3188bf7fa4d717b8 Merge: 0a33f80 b0fd271 Author: Linus Torvalds Date: Thu Jun 11 10:52:27 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block: (153 commits) block: add request clone interface (v2) floppy: fix hibernation ramdisk: remove long-deprecated "ramdisk=" boot-time parameter fs/bio.c: add missing __user annotation block: prevent possible io_context->refcount overflow Add serial number support for virtio_blk, V4a block: Add missing bounce_pfn stacking and fix comments Revert "block: Fix bounce limit setting in DM" cciss: decode unit attention in SCSI error handling code cciss: Remove no longer needed sendcmd reject processing code cciss: change SCSI error handling routines to work with interrupts enabled. cciss: separate error processing and command retrying code in sendcmd_withirq_core() cciss: factor out fix target status processing code from sendcmd functions cciss: simplify interface of sendcmd() and sendcmd_withirq() cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code cciss: Use schedule_timeout_uninterruptible in SCSI error handling code block: needs to set the residual length of a bidi request Revert "block: implement blkdev_readpages" block: Fix bounce limit setting in DM Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt ... Manually fix conflicts with tracing updates in: block/blk-sysfs.c drivers/ide/ide-atapi.c drivers/ide/ide-cd.c drivers/ide/ide-floppy.c drivers/ide/ide-tape.c include/trace/events/block.h kernel/trace/blktrace.c commit 9e28c46b7dd116a607ffb054c5545c468c77d779 Author: Matt Fleming Date: Wed Jun 10 22:07:53 2009 +0100 sh: Fix dynamic ftrace's NOP action. Ftrace on sh handles nop'ing out trace function calls differently than other architectures. Instead of inserting NOP instructions in place of the call to the function tracer we branch over the call instructions and continue executing the main body of the function. This patch fixes a bug in the implementation of ftrace_modify_code() where we check that the old value of the code we're about to replace is an expected one. In the ftrace_make_call() code path ftrace_modify_code() was comparing the old instruction value with NOP instructions. The compare was failing because we never actually insert NOP instructions. It makes sense to just get rid of the NOP instructions in ftrace_nop and compare the old code with the address of the function body if we're expecting ftrace to have nop'd out the function trace call. Signed-off-by: Matt Fleming commit 0a33f80a8373eca7f4bea3961d1346c3815fa5ed Merge: c29f5ec 003dec8 Author: Linus Torvalds Date: Thu Jun 11 10:36:12 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: (25 commits) GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta GFS2: Fix cache coherency between truncate and O_DIRECT read GFS2: Fix locking issue mounting gfs2meta fs GFS2: Remove unused variable GFS2: smbd proccess hangs with flock() call. GFS2: Remove args subdir from gfs2 sysfs files GFS2: Remove lockstruct subdir from gfs2 sysfs files GFS2: Move gfs2_unlink_ok into ops_inode.c GFS2: Move gfs2_readlinki into ops_inode.c GFS2: Move gfs2_rmdiri into ops_inode.c GFS2: Merge mount.c and ops_super.c into super.c GFS2: Clean up some file names GFS2: Be more aggressive in reclaiming unlinked inodes GFS2: Add a rgrp bitmap full flag GFS2: Improve resource group error handling GFS2: Don't warn when delete inode fails on ro filesystem GFS2: Update docs GFS2: Umount recovery race fix GFS2: Remove a couple of unused sysfs entries GFS2: Add commit= mount option ... commit c29f5ec022451546be1e0b24c330a0368e63e4a7 Merge: d3d07d9 c476c23 Author: Linus Torvalds Date: Thu Jun 11 10:33:36 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (26 commits) amd64_edac: add MAINTAINERS entry EDAC: do not enable modules by default amd64_edac: do not enable module by default amd64_edac: add module registration routines amd64_edac: add ECC reporting initializers amd64_edac: add EDAC core-related initializers amd64_edac: add error decoding logic amd64_edac: add ECC chipkill syndrome mapping table amd64_edac: add per-family descriptors amd64_edac: add F10h-and-later methods-p3 amd64_edac: add F10h-and-later methods-p2 amd64_edac: add F10h-and-later methods-p1 amd64_edac: add k8-specific methods amd64_edac: assign DRAM chip select base and mask in a family-specific way amd64_edac: add helper to dump relevant registers amd64_edac: add DRAM address type conversion facilities amd64_edac: add functionality to compute the DRAM hole amd64_edac: add sys addr to memory controller mapping helpers amd64_edac: add memory scrubber interface amd64_edac: add MCA error types ... commit d3d07d941fd80c173b6d690ded00ee5fb8302e06 Merge: 6cd8e30 54ff328 Author: Linus Torvalds Date: Thu Jun 11 10:08:33 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: (266 commits) sh: Tie sparseirq in to Kconfig. sh: Wire up sys_rt_tgsigqueueinfo. sh: Fix sys_pwritev() syscall table entry for sh32. sh: Fix sh4a llsc-based cmpxchg() sh: sh7724: Add JPU support sh: sh7724: INTC setting update sh: sh7722 clock framework rewrite sh: sh7366 clock framework rewrite sh: sh7343 clock framework rewrite sh: sh7724 clock framework rewrite V3 sh: sh7723 clock framework rewrite V2 sh: add enable()/disable()/set_rate() to div6 code sh: add AP325RXA mode pin configuration sh: add Migo-R mode pin configuration sh: sh7722 mode pin definitions sh: sh7724 mode pin comments sh: sh7723 mode pin V2 sh: rework mode pin code sh: clock div6 helper code sh: clock div4 frequency table offset fix ... commit 670025478c2a687453cd1bac697d7d765843f59d Author: Karsten Keil Date: Thu Jun 11 15:52:10 2009 +0200 mISDN: cleanup mISDNhw.h Remove unused stuff. Signed-off-by: Karsten Keil commit 8164491dd628ffcac5d61267f747997689ee256c Author: Karsten Keil Date: Tue Jun 9 14:38:39 2009 +0200 mISDN: Do not disable IRQ in ph_data_ind() This fix triggering the WARN_ON_ONCE(in_irq() || irqs_disabled()); in local_bh_enable(). Here is no need to grab this lock, this was wrong at all and may cause a deadlock and access to freed memory, since on a TEI remove the current listelement can be deleted under us. So this is clearly a case for list_for_each_entry_safe. Signed-off-by: Karsten Keil commit 395df11f5fa7fe852be28ccec8aaa15634386ad1 Author: Roel Kluin Date: Wed Jun 10 12:52:44 2009 -0700 drivers/isdn/i4l/isdn_tty.c: fix check for array overindexing The check for overindexing of dev->mdm.info[] has an off-by-one. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Acked-by: Karsten Keil commit cdae28e1a28f26c765c5882a48b9fd4a5b9ce91c Author: Andreas Mohr Date: Tue Jun 2 18:15:12 2009 +0200 mISDN: Free hfcpci IRQ if init was not successful If we get no interrupts for after 3 resets we need to unregister the interrupt function, which is already done outside the loop. Signed-off-by: Andreas Mohr Signed-off-by: Karsten Keil commit 1ce1513f48e3bc4d55ee672f0e39f5063a02ab7a Author: Karsten Keil Date: Tue Jun 2 15:37:37 2009 +0200 mISDN: Fix overlapping data access Remove code rewriting a buffer by itself. This fix bug 12970 on bugzilla.kernel.org. Signed-off-by: Karsten Keil commit 8a745b9d91962991ce87a649a4dc3af3206c2c8b Author: Karsten Keil Date: Tue Jun 2 14:57:35 2009 +0200 ISDN:Fix DMA alloc for hfcpci Replace wrong code with correct DMA API functions. Signed-off-by: Karsten Keil commit 6cd8e300b49332eb9eeda45816c711c198d31505 Merge: ddbb868 09f8ca7 Author: Linus Torvalds Date: Thu Jun 11 10:03:30 2009 -0700 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits) KVM: Prevent overflow in largepages calculation KVM: Disable large pages on misaligned memory slots KVM: Add VT-x machine check support KVM: VMX: Rename rmode.active to rmode.vm86_active KVM: Move "exit due to NMI" handling into vmx_complete_interrupts() KVM: Disable CR8 intercept if tpr patching is active KVM: Do not migrate pending software interrupts. KVM: inject NMI after IRET from a previous NMI, not before. KVM: Always request IRQ/NMI window if an interrupt is pending KVM: Do not re-execute INTn instruction. KVM: skip_emulated_instruction() decode instruction if size is not known KVM: Remove irq_pending bitmap KVM: Do not allow interrupt injection from userspace if there is a pending event. KVM: Unprotect a page if #PF happens during NMI injection. KVM: s390: Verify memory in kvm run KVM: s390: Sanity check on validity intercept KVM: s390: Unlink vcpu on destroy - v2 KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock KVM: s390: use hrtimer for clock wakeup from idle - v2 KVM: s390: Fix memory slot versus run - v3 ... commit ddbb868493abdb71d6c0e3ff93f735923842de38 Merge: 3296ca2 61b6bc5 Author: Linus Torvalds Date: Thu Jun 11 10:02:46 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: remove never-used in6_addr option cifs: add addr= mount option alias for ip= [CIFS] Add mention of new mount parm (forceuid) to cifs readme cifs: make overriding of ownership conditional on new mount options cifs: fix IPv6 address length check cifs: clean up set_cifs_acl interfaces cifs: reorganize get_cifs_acl [CIFS] Update readme to indicate change to default mount (serverino) cifs: make serverino the default when mounting cifs: rename cifs_iget to cifs_root_iget cifs: make cnvrtDosUnixTm take a little-endian args and an offset cifs: have cifs_NTtimeToUnix take a little-endian arg cifs: tighten up default file_mode/dir_mode cifs: fix artificial limit on reading symlinks commit 3296ca27f50ecbd71db1d808c7a72d311027f919 Merge: e893123 73fbad2 Author: Linus Torvalds Date: Thu Jun 11 10:01:41 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: (44 commits) nommu: Provide mmap_min_addr definition. TOMOYO: Add description of lists and structures. TOMOYO: Remove unused field. integrity: ima audit dentry_open failure TOMOYO: Remove unused parameter. security: use mmap_min_addr indepedently of security models TOMOYO: Simplify policy reader. TOMOYO: Remove redundant markers. SELinux: define audit permissions for audit tree netlink messages TOMOYO: Remove unused mutex. tomoyo: avoid get+put of task_struct smack: Remove redundant initialization. integrity: nfsd imbalance bug fix rootplug: Remove redundant initialization. smack: do not beyond ARRAY_SIZE of data integrity: move ima_counts_get integrity: path_check update IMA: Add __init notation to ima functions IMA: Minimal IMA policy and boot param for TCB IMA policy selinux: remove obsolete read buffer limit from sel_read_bool ... commit e893123c7378192c094747dadec326b7c000c190 Merge: 27951da a41f207 Author: Linus Torvalds Date: Thu Jun 11 10:00:50 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: (49 commits) ext4: Avoid corrupting the uninitialized bit in the extent during truncate ext4: Don't treat a truncation of a zero-length file as replace-via-truncate ext4: fix dx_map_entry to support 256k directory blocks ext4: truncate the file properly if we fail to copy data from userspace ext4: Avoid leaking blocks after a block allocation failure ext4: Change all super.c messages to print the device ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle() ext4: super.c whitespace cleanup jbd2: Fix minor typos in comments in fs/jbd2/journal.c ext4: Clean up calls to ext4_get_group_desc() ext4: remove unused function __ext4_write_dirty_metadata ext2: Fix memory leak in ext2_fill_super() in case of a failed mount ext3: Fix memory leak in ext3_fill_super() in case of a failed mount ext4: Fix memory leak in ext4_fill_super() in case of a failed mount ext4: down i_data_sem only for read when walking tree for fiemap ext4: Add a comprehensive block validity check to ext4_get_blocks() ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks() ext4: Add BUG_ON debugging checks to noalloc_get_block_write() ext4: Add documentation to the ext4_*get_block* functions ... commit 27951daa71f1c91300ae4de9441916d1ffe2b078 Merge: 59c288f e8e7526 Author: Linus Torvalds Date: Thu Jun 11 10:00:03 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (28 commits) ide-tape: fix debug call alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC ide-dma: don't reset request fields on dma_timeout_retry() ide: drop rq->data handling from ide_map_sg() ide-atapi: kill unused fields and callbacks ide-tape: simplify read/write functions ide-tape: use byte size instead of sectors on rw issue functions ide-tape: unify r/w init paths ide-tape: kill idetape_bh ide-tape: use standard data transfer mechanism ide-tape: use single continuous buffer ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len ide-tape,floppy: fix failed command completion after request sense ide-pm: don't abuse rq->data ide-cd,atapi: use bio for internal commands ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer ide-cd: convert to using generic sense request ide: add helpers for preparing sense requests ide-cd: don't abuse rq->buffer ide-atapi: don't abuse rq->buffer ... commit b8ec757390282e21d349bf6b602a8cb182da0429 Author: Pekka Enberg Date: Thu Jun 11 19:25:37 2009 +0300 vgacon: use slab allocator instead of the bootmem allocator Slab is initialized before the console subsystem so use the slab allocator in vgacon_scrollback_startup(). Signed-off-by: Pekka Enberg commit 22fb4e71e646695c7e0f379ada66b372c2d1aa1a Author: Pekka Enberg Date: Thu Jun 11 14:46:49 2009 +0300 irq: use kcalloc() instead of the bootmem allocator Fixes the following problem: [ 0.000000] Experimental hierarchical RCU init done. [ 0.000000] NR_IRQS:4352 nr_irqs:256 [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e() [ 0.000000] Hardware name: To Be Filled By O.E.M. [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709 [ 0.000000] Call Trace: [ 0.000000] [] ? alloc_arch_preferred_bootmem+0x40/0x7e [ 0.000000] [] warn_slowpath_common+0x88/0xcb [ 0.000000] [] warn_slowpath_null+0x27/0x3d [ 0.000000] [] alloc_arch_preferred_bootmem+0x40/0x7e [ 0.000000] [] ___alloc_bootmem_nopanic+0x4e/0xec [ 0.000000] [] ___alloc_bootmem+0x20/0x61 [ 0.000000] [] __alloc_bootmem+0x1e/0x34 [ 0.000000] [] early_irq_init+0x6d/0x118 [ 0.000000] [] ? early_idt_handler+0x0/0x71 [ 0.000000] [] start_kernel+0x192/0x394 [ 0.000000] [] ? early_idt_handler+0x0/0x71 [ 0.000000] [] x86_64_start_reservations+0xb4/0xcf [ 0.000000] [] ? __init_begin+0x0/0x140 [ 0.000000] [] x86_64_start_kernel+0x158/0x17b [ 0.000000] ---[ end trace a7919e7f17c0a725 ]--- [ 0.000000] Fast TSC calibration using PIT [ 0.000000] Detected 2002.510 MHz processor. [ 0.004000] Console: colour VGA+ 80x25 Reported-by: Ingo Molnar Signed-off-by: Pekka Enberg commit 0fb530291621c8b8a1b16abeeab05d9262489f71 Author: Pekka Enberg Date: Thu Jun 11 08:41:22 2009 +0300 sched: use slab in cpupri_init() Lets not use the bootmem allocator in cpupri_init() as slab is already up when it is run. Cc: Ingo Molnar Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 4bdddf8ff9bbb8aa7b4d7847586202bd25842c90 Author: Pekka Enberg Date: Thu Jun 11 08:35:27 2009 +0300 sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var() Slab is initialized when sched_init() runs now so lets use alloc_cpumask_var(). Cc: Ingo Molnar Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 959982fee4e635c61780e989c3e34267143fcc02 Author: Yinghai Lu Date: Thu May 28 18:15:16 2009 -0700 memcg: don't use bootmem allocator in setup code The bootmem allocator is no longer available for page_cgroup_init() because we set up the kernel slab allocator much earlier now. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit dad213aeb59718623fc59defeff95fe8c3feb8a0 Author: Yinghai Lu Date: Thu May 28 18:14:40 2009 -0700 irq/cpumask: make memoryless node zero happy Don't hardcode to node zero for early boot IRQ setup memory allocations. [ penberg@cs.helsinki.fi: minor cleanups ] Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit 38c7fed2f5ffee17e1fa3e0f78b0e1bf43d52d13 Author: Yinghai Lu Date: Mon May 25 15:10:58 2009 +0300 x86: remove some alloc_bootmem_cpumask_var calling Now that we set up the slab allocator earlier, we can get rid of some alloc_bootmem_cpumask_var() calls in boot code. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit a5f4f52e82114e85aa1a066bd1a450acc19a464d Author: Pekka Enberg Date: Wed Jun 10 23:53:37 2009 +0300 vt: use kzalloc() instead of the bootmem allocator Now that kmem_cache_init() happens before console_init(), we should use kzalloc() and not the bootmem allocator. Signed-off-by: Pekka Enberg commit 36b7b6d465489c4754c4fd66fcec6086eba87896 Author: Pekka Enberg Date: Wed Jun 10 23:42:36 2009 +0300 sched: use kzalloc() instead of the bootmem allocator Now that kmem_cache_init() happens before sched_init(), we should use kzalloc() and not the bootmem allocator. Signed-off-by: Pekka Enberg commit 444f478f65c7ca4606f9965b31feed13fe2bc9fa Author: Pekka Enberg Date: Thu Jun 11 18:29:06 2009 +0300 init: introduce mm_init() As suggested by Christoph Lameter, introduce mm_init() now that we initialize all the kernel memory allocations together. Cc: Christoph Lameter Signed-off-by: Pekka Enberg commit 43ebdac42f16037263b52a5aeedcd1bfa4a9bb29 Author: Pekka Enberg Date: Mon May 25 15:01:35 2009 +0300 vmalloc: use kzalloc() instead of alloc_bootmem() We can call vmalloc_init() after kmem_cache_init() and use kzalloc() instead of the bootmem allocator when initializing vmalloc data structures. Acked-by: Johannes Weiner Acked-by: Linus Torvalds Acked-by: Nick Piggin Cc: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 83b519e8b9572c319c8e0c615ee5dd7272856090 Author: Pekka Enberg Date: Wed Jun 10 19:40:04 2009 +0300 slab: setup allocators earlier in the boot sequence This patch makes kmalloc() available earlier in the boot sequence so we can get rid of some bootmem allocations. The bulk of the changes are due to kmem_cache_init() being called with interrupts disabled which requires some changes to allocator boostrap code. Note: 32-bit x86 does WP protect test in mem_init() so we must setup traps before we call mem_init() during boot as reported by Ingo Molnar: We have a hard crash in the WP-protect code: [ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...BUG: Int 14: CR2 ffcff000 [ 0.000000] EDI 00000188 ESI 00000ac7 EBP c17eaf9c ESP c17eaf8c [ 0.000000] EBX 000014e0 EDX 0000000e ECX 01856067 EAX 00000001 [ 0.000000] err 00000003 EIP c10135b1 CS 00000060 flg 00010002 [ 0.000000] Stack: c17eafa8 c17fd410 c16747bc c17eafc4 c17fd7e5 000011fd f8616000 c18237cc [ 0.000000] 00099800 c17bb000 c17eafec c17f1668 000001c5 c17f1322 c166e039 c1822bf0 [ 0.000000] c166e033 c153a014 c18237cc 00020800 c17eaff8 c17f106a 00020800 01ba5003 [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #52203 [ 0.000000] Call Trace: [ 0.000000] [] ? printk+0x14/0x16 [ 0.000000] [] ? do_test_wp_bit+0x19/0x23 [ 0.000000] [] ? test_wp_bit+0x26/0x64 [ 0.000000] [] ? mem_init+0x1ba/0x1d8 [ 0.000000] [] ? start_kernel+0x164/0x2f7 [ 0.000000] [] ? unknown_bootoption+0x0/0x19c [ 0.000000] [] ? __init_begin+0x6a/0x6f Acked-by: Johannes Weiner Acked-by Linus Torvalds Cc: Christoph Lameter Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit c91c4773b334d4d3a6d44626dc2a558ad97b86f3 Author: Pekka Enberg Date: Thu Jun 11 08:10:28 2009 +0300 bootmem: fix slab fallback on numa If the user requested bootmem allocation on a specific node, we should use kzalloc_node() for the fallback allocation. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 441c7e0a2ed38827b48b907bd1fa29faba2017a3 Author: Pekka Enberg Date: Wed Jun 10 20:05:53 2009 +0300 bootmem: use slab if bootmem is no longer available As a preparation for initializing the slab allocator early, make sure the bootmem allocator does not crash and burn if someone calls it after slab is up; otherwise we'd need a flag day for switching to early slab. Acked-by: Johannes Weiner Acked-by: Linus Torvalds Cc: Christoph Lameter Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 3aa27bbe7a6536d1ec859d3a97caf3319b5081b7 Author: Catalin Marinas Date: Thu Jun 11 13:24:14 2009 +0100 kmemleak: Add the corresponding MAINTAINERS entry Signed-off-by: Catalin Marinas commit 0822ee4ac1ae6af5a953f97f75553738834b10b9 Author: Catalin Marinas Date: Thu Jun 11 13:24:14 2009 +0100 kmemleak: Simple testing module for kmemleak This patch adds a loadable module that deliberately leaks memory. It is used for testing various memory leaking scenarios. Signed-off-by: Catalin Marinas commit 3bba00d7bdd57cb7aa739b751fa0a1fbbb04dc18 Author: Catalin Marinas Date: Thu Jun 11 13:24:13 2009 +0100 kmemleak: Enable the building of the memory leak detector This patch adds the Kconfig.debug and Makefile entries needed for building kmemleak into the kernel. Signed-off-by: Catalin Marinas commit 2e1483c995bbd0fa6cbd055ad76088a520799ba4 Author: Catalin Marinas Date: Thu Jun 11 13:24:13 2009 +0100 kmemleak: Remove some of the kmemleak false positives There are allocations for which the main pointer cannot be found but they are not memory leaks. This patch fixes some of them. For more information on false positives, see Documentation/kmemleak.txt. Signed-off-by: Catalin Marinas commit 4f2294b6dc88d99295230d97fef2c9863cec44c3 Author: Catalin Marinas Date: Thu Jun 11 13:23:20 2009 +0100 kmemleak: Add modules support This patch handles the kmemleak operations needed for modules loading so that memory allocations from inside a module are properly tracked. Signed-off-by: Catalin Marinas commit dbb1f81ca67a56c6cfce4c94d07c76378fd4af9e Author: Catalin Marinas Date: Thu Jun 11 13:23:19 2009 +0100 kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash The alloc_large_system_hash function is called from various places in the kernel and it contains pointers to other allocated structures. It therefore needs to be traced by kmemleak. Signed-off-by: Catalin Marinas commit 89219d37a2377c44fde7bff0bf0623453c05329a Author: Catalin Marinas Date: Thu Jun 11 13:23:19 2009 +0100 kmemleak: Add the vmalloc memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from vmalloc/vfree. Signed-off-by: Catalin Marinas commit 06f22f13f3cc2eff00db09f053218e5d4b757bc8 Author: Catalin Marinas Date: Thu Jun 11 13:23:18 2009 +0100 kmemleak: Add the slub memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slub allocator. Signed-off-by: Catalin Marinas Cc: Christoph Lameter Reviewed-by: Pekka Enberg commit 4374e616d28e65265a5b433ceece275449f3d2e3 Author: Catalin Marinas Date: Thu Jun 11 13:23:17 2009 +0100 kmemleak: Add the slob memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slob allocator. Signed-off-by: Catalin Marinas Acked-by: Matt Mackall Acked-by: Pekka Enberg commit d5cff635290aec9ad7e6ee546aa4fae895361cbb Author: Catalin Marinas Date: Thu Jun 11 13:22:40 2009 +0100 kmemleak: Add the slab memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slab allocator. The patch also adds the SLAB_NOLEAKTRACE flag to avoid recursive calls to kmemleak when it allocates its own data structures. Signed-off-by: Catalin Marinas Reviewed-by: Pekka Enberg commit 04f70336c80c43a15e617b36c2043dfa0ad6ed0f Author: Catalin Marinas Date: Thu Jun 11 13:22:39 2009 +0100 kmemleak: Add documentation on the memory leak detector This patch adds the Documentation/kmemleak.txt file with some information about how kmemleak works. Signed-off-by: Catalin Marinas commit 3c7b4e6b8be4c16f1e6e5c558e33b7ff0db2dfaf Author: Catalin Marinas Date: Thu Jun 11 13:22:39 2009 +0100 kmemleak: Add the base support This patch adds the base support for the kernel memory leak detector. It traces the memory allocation/freeing in a way similar to the Boehm's conservative garbage collector, the difference being that the unreferenced objects are not freed but only shown in /sys/kernel/debug/kmemleak. Enabling this feature introduces an overhead to memory allocations. Signed-off-by: Catalin Marinas Cc: Ingo Molnar Acked-by: Pekka Enberg Cc: Andrew Morton Reviewed-by: Paul E. McKenney commit 59c288ffb6dfb55bdd6bfe6826ab6203ff791930 Merge: 49c3556 4a3b989 5d28996 Author: Linus Torvalds Date: Thu Jun 11 09:02:31 2009 -0700 Merge branches 'frv' and 'mn10300' * frv: FRV: Implement new-style ptrace FRV: Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue FRV: Implement TIF_NOTIFY_RESUME FRV: Remove in-kernel strace code FRV: BUG to BUG_ON changes FRV: bitops: Change the bitmap index from int to unsigned long * mn10300: MN10300: Add utrace/tracehooks support MN10300: Don't set the dirty bit in the DTLB entries in the TLB-miss handler commit 5d289964e1f1e8a2ec4289274bf15bce6a4f8ab8 Author: David Howells Date: Thu Jun 11 13:08:37 2009 +0100 MN10300: Add utrace/tracehooks support Add utrace/tracehooks support to MN10300. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit fd4f683d045e053abb093f80d81afce30ceadad2 Author: David Howells Date: Thu Jun 11 13:08:32 2009 +0100 MN10300: Don't set the dirty bit in the DTLB entries in the TLB-miss handler Remove the special handling for the Data TLB entry dirty bit in the TLB-miss handler. As the code stands, all that it does is to cause us to take a second data address exception to set the dirty bit. Instead, we can just let pte_mkdirty() set the bit. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 4a3b98932270f5d69f2c081924e356325ed704d9 Author: David Howells Date: Thu Jun 11 13:05:24 2009 +0100 FRV: Implement new-style ptrace Implement the new-style ptrace for FRV, including adding appropriate tracehooks. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 24ceb7e8a6c5dd6e32ac3d43a2424542c97989f5 Author: David Howells Date: Thu Jun 11 13:05:19 2009 +0100 FRV: Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue in FRV's entry.S. This was originally for debugging stuff and should have been removed a long time ago. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit b7bab880c795ec620041ef0295cbbbc5a726f414 Author: David Howells Date: Thu Jun 11 13:05:14 2009 +0100 FRV: Implement TIF_NOTIFY_RESUME Implement the TIF_NOTIFY_RESUME thread flag, making it call do_notify_resume() which then clears it. This will be made use of later by tracehooks in the new-style ptrace implementation Also discard TIF_IRET as that's not used by FRV. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit aa1913c0214a53568731617c0afbbfa3f59513fb Author: David Howells Date: Thu Jun 11 13:05:09 2009 +0100 FRV: Remove in-kernel strace code Remove in-kernel strace code from the FRV arch as it's not really needed any more. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit db5c444eeb781788a0db36a2682b2417cf71f764 Author: Stoyan Gaydarov Date: Thu Jun 11 13:05:04 2009 +0100 FRV: BUG to BUG_ON changes Change some BUG()'s to BUG_ON()'s. Signed-off-by: Stoyan Gaydarov Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d2f11bf7fc630e27dfcede367399dddf40521878 Author: Justin Chen Date: Thu Jun 11 13:04:59 2009 +0100 FRV: bitops: Change the bitmap index from int to unsigned long Change the index to unsigned long in all bitops for [frv] Signed-off-by: Justin Chen Reviewed-by: Bjorn Helgaas Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 49c355617f603b8e71ec117c1f940152a998528a Merge: 991ec02 f0e8527 Author: Linus Torvalds Date: Thu Jun 11 08:57:47 2009 -0700 Merge branch 'serial-from-alan' * serial-from-alan: (79 commits) moxa: prevent opening unavailable ports imx: serial: use tty_encode_baud_rate to set true rate imx: serial: add IrDA support to serial driver imx: serial: use rational library function lib: isolate rational fractions helper function imx: serial: handle initialisation failure correctly imx: serial: be sure to stop xmit upon shutdown imx: serial: notify higher layers in case xmit IRQ was not called imx: serial: fix one bit field type imx: serial: fix whitespaces (no changes in functionality) tty: use prepare/finish_wait tty: remove sleep_on sierra: driver interface blacklisting sierra: driver urb handling improvements tty: resolve some sierra breakage timbuart: Fix the termios logic serial: Added Timberdale UART driver tty: Add URL for ttydev queue devpts: unregister the file system on error tty: Untangle termios and mm mutex dependencies ... commit 940010c5a314a7bd9b498593bc6ba1718ac5aec5 Merge: 8dc8e5e 991ec02 Author: Ingo Molnar Date: Thu Jun 11 17:55:42 2009 +0200 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/kernel/irqinit.c arch/x86/kernel/irqinit_64.c arch/x86/kernel/traps.c arch/x86/mm/fault.c include/linux/sched.h kernel/exit.c commit 8dc8e5e8bc0ce00b0f656bf972f67cd8a72759e5 Author: Ingo Molnar Date: Thu Jun 11 16:13:24 2009 +0200 perf_counter: Turn off by default Perfcounters were enabled by default to help testing - but now that we are submitting it upstream, make it default-disabled. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit cca3f454a85ff42d426401bce7ac804541b2bd03 Author: Peter Zijlstra Date: Thu Jun 11 14:57:55 2009 +0200 perf_counter: Add counter->id to the throttle event So as to be able to distuinguish between multiple counters. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a308444ceb576d3089f9ca0dfd097eba6f1e623f Author: Ingo Molnar Date: Thu Jun 11 14:44:26 2009 +0200 perf_counter: Better align code Whitespace and comment bits. Also update copyrights. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: commit 8be6e8f3c3a13900169f1141870562d0c723b010 Author: Peter Zijlstra Date: Thu Jun 11 14:19:11 2009 +0200 perf_counter: Rename L2 to LL cache The top (fastest) and last level (biggest) caches are the most interesting ones, performance wise. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: [ Fixed the Nehalem LL table to LLC Reference/Miss events ] Signed-off-by: Ingo Molnar commit f4dbfa8f3131a84257223393905f7efad0ca5996 Author: Peter Zijlstra Date: Thu Jun 11 14:06:28 2009 +0200 perf_counter: Standardize event names Pure renames only, to PERF_COUNT_HW_* and PERF_COUNT_SW_*. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 1c432d899d32d36371ee4ee310fa3609cf0e5742 Author: Peter Zijlstra Date: Thu Jun 11 13:19:29 2009 +0200 perf_counter: Rename enums Rename the perf enums to be in the 'perf_' namespace and strictly enumerate the ABI bits. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f0e8527726b9e56649b9eafde3bc0fbc4dd2dd47 Author: Dirk Eibach Date: Thu Jun 11 14:56:44 2009 +0100 moxa: prevent opening unavailable ports In moxa.c there are 32 minor numbers reserved for each device. The number of ports actually available per device is stored in moxa_board_conf->numPorts. This number is not considered in moxa_open(). Opening a port that is not available results in a kernel oops. This patch adds a test to moxa_open() that prevents opening unavailable ports. Signed-off-by: Dirk Eibach Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d7f8d437bda0ec409e26cffb846bc28a40603ee3 Author: Oskar Schirmer Date: Thu Jun 11 14:55:22 2009 +0100 imx: serial: use tty_encode_baud_rate to set true rate real baud rate may be different from the one requested. for upper layers, set the nearest value to the real rate in favour of the rate previously requested. Signed-off-by: Oskar Schirmer Signed-off-by: Linus Torvalds commit b6e4913834cd032082e5c76dfade61050212dc98 Author: Fabian Godehardt Date: Thu Jun 11 14:53:18 2009 +0100 imx: serial: add IrDA support to serial driver Using the iMX serial driver with an IrDA device needs extra peripheral settings and specific timing depending on the transmitter circuitry used. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 534fca068ec8063ec8b67626b3eb34ba6ec86967 Author: Oskar Schirmer Date: Thu Jun 11 14:52:23 2009 +0100 imx: serial: use rational library function for calculation of numerator and denominator used in baud rate setting, use generic library function for optimum settings. Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8759ef32d992fc6c0bcbe40fca7aa302190918a5 Author: Oskar Schirmer Date: Thu Jun 11 14:51:15 2009 +0100 lib: isolate rational fractions helper function Provide a helper function to determine optimum numerator denominator value pairs taking into account restricted register size. Useful especially with PLL and other clock configurations. Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f322ad064f9210e7d472dfe77e702274d5c9dba Author: Daniel Glöckner Date: Thu Jun 11 14:39:21 2009 +0100 imx: serial: handle initialisation failure correctly correctly de-initialise device when setting up failed, call to pdata->exit() was missing. Signed-off-by: Daniel Glöckner Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2e1463922a35584c863f71d4021e1e71f76eaed0 Author: Fabian Godehardt Date: Thu Jun 11 14:38:38 2009 +0100 imx: serial: be sure to stop xmit upon shutdown needed to avoid continued transmission by hardware while software already shuts down, which might cause dangling characters to show up in hardware queues when restarting the device. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 977757311e50dc5d832c9fef34e7555411f7ccd8 Author: Fabian Godehardt Date: Thu Jun 11 14:37:19 2009 +0100 imx: serial: notify higher layers in case xmit IRQ was not called upper layers, namely line discipline, need to be notified when transmission of more data is possible. For spurious cases, where IRQ handling does not supply notification for sure, it is given additionally here, when data has just been transmitted and space in the buffer will most probably be available. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 26bbb3ff1ff6163d6a233055766e26af8054a212 Author: Daniel Glöckner Date: Thu Jun 11 14:36:29 2009 +0100 imx: serial: fix one bit field type "have_rtscts" is assigned 1, while it is declared int:1, two's complement, which can hold 0 and -1 only. The code works, as the upper bits are cut off, and tests are done against 0 only. Nonetheless, correctly declaring the bit field as unsigned int:1 renders the code more robust. Signed-off-by: Daniel Glöckner Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d3810cd4d7064b109574374f73c41b11b481dbf2 Author: Oskar Schirmer Date: Thu Jun 11 14:35:01 2009 +0100 imx: serial: fix whitespaces (no changes in functionality) Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3e3b5c087799e536871c8261b05bc28e4783c8da Author: Jiri Slaby Date: Thu Jun 11 14:33:37 2009 +0100 tty: use prepare/finish_wait Use prepare_to_wait and finish_wait instead of add_wait_queue and remove_wait_queue. This avoids us setting a task state. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5fc5b42a3bb564f0b6e03f0f1b522ed9100250ad Author: Jiri Slaby Date: Thu Jun 11 14:32:42 2009 +0100 tty: remove sleep_on Use wait_event instead of sleep_on in tty_block_til_ready. Wait for ASYNC_CLOSING flag being 0. Signed-off-by: Jiri Slaby Signed-off-by: Linus Torvalds commit 4db2299da213d1ba8cf7f4c0a197ae7ba49db5cb Author: Elina Pasheva Date: Thu Jun 11 14:32:01 2009 +0100 sierra: driver interface blacklisting Interface blacklisting is necessary for non-serial interfaces that are handled by a different driver. The interface blacklisting is implemented in sierra driver per device. Each device in need of a blacklist has a static information array kept in the driver. This array contains the interface numbers that are blacklisted. The pointer for each blacklist array and the length of that blacklist are 'bundled' in data structure sierra_iface_info. A pointer to this information is set in id_table when the device is added to the id_table. The following is summary of changes we have made to sierra.c driver in this patch dealing with interface blacklisting support: - Added data structure sierra_iface_info and function is_blacklisted() to support blacklisting - Modified sierra_probe() to handle blacklisted interfaces accordingly - Improved comments in id_table - Added new device in id_table with blacklist interface support Signed-off-by: Elina Pasheva Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b9a44bc19f48fd82b8f411500a9bb0ea4153d23c Author: Elina Pasheva Date: Thu Jun 11 14:30:21 2009 +0100 sierra: driver urb handling improvements [Folded from eight patches into one as the original set according to the author "All of the patches need to be applied to obtain a working product" so keeping them split seems unhelpful Merge fixes done versus other conflicting changes and moved the spin_lock_init from open to setup time -- Alan] Summary of the changes and code re-organization in this patch: - The memory for urbs is allocated and urbs are submitted only for the active interfaces (instead of pre-allocating these for all interfaces). This will save memory especially in the case of using composite devices. - The code has been re-organized and functionality has been extracted from sierra_startup(), sierra_shutdown(), sierra_open(), sierra_close() and added in helper functions sierra_release_urb(), sierra_stop_rx_urbs(), sierra_submit_rx_urbs() and sierra_setup_urb() - Added function sierra_release_urb() to free an urb and its transfer buffer. - Removed unecessary include file reference and comment. - Added function sierra_stop_rx_urbs() that takes care of the release of receive and interrupt urbs. This function is to be called by sierra_close() whenever an interface is de-activated. - Added new function sierra_submit_rx_urbs() that handles the submission of receive urbs and interrupt urbs (if any) during the interface activation. This function is to be called by sierra_open(). Added a second parameter to pass the memory allocation (as suggested by Oliver Neukum) so that this function can be used in post_reset() and resume(). - Added new function sierra_setup_urb() that contains the functionality to allocate an urb, fill bulk urb using the supplied memory allocation flag and release urb upon error. Added parameter so that the caller pass the memory allocation flag for flexibility. - Moved sierra_close() before sierra_open() to resolve dependencies introduced by the code reorganization. - Modified sierra_close() to call sierra_stop_rx_urbs() and sierra_release_urb() functions added in previous patch. - Modified sierra_open() to call sierra_setup_urb() and sierra_submit_rx_urbs() functions; note urbs are allocated and submitted for each activated interface. - Modified sierra_startup() so that allocation of urbs happens whenever an interface is activated (urb allocation is moved to sierra_open()). - Modified sierra_shutdown() so that urbs are freed whenever an interface is de-activated (urb freeing moved to sierra_close() as shown in previous patch from the series) - Removed unecessary data structure from sierra_port_private_data - Suppress an entry in logs by not re-submitting an urb when usb_submit_urb() returns -EPERM, as this shows that usb_kill_urb() is running (as suggested by Oliver Neukum) Signed-off-by: Elina Pasheva Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 00b040deca907a113f5bef67a6cc7a4f65a5ace9 Author: Alan Cox Date: Thu Jun 11 14:29:29 2009 +0100 tty: resolve some sierra breakage The various merges into the sierra driver inadvertently undid commit 212b8f0c3f5a2280bfa1d6ab13a6fe98552becaa by Elina Pasheva . Put it back so the OBEX port works again. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d55deaf50182c47c1e805dc8cc85f2769f0673e Author: Alan Cox Date: Thu Jun 11 14:27:13 2009 +0100 timbuart: Fix the termios logic The driver only handles speeds but it fails to return the current values for the hardware features it does not support. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 34aec591847c696339189b070cce2a11f901cfea Author: Richard Röjfors Date: Thu Jun 11 14:05:39 2009 +0100 serial: Added Timberdale UART driver Driver for the UART found in the Timberdale FPGA Signed-off-by: Richard Röjfors Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e960bf73ddd73714bcfbadb1717e53ecda9924cb Author: Alan Cox Date: Thu Jun 11 14:04:57 2009 +0100 tty: Add URL for ttydev queue Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 93d5581e20600593ec3236921b6620225fb76034 Author: Alan Cox Date: Thu Jun 11 14:03:55 2009 +0100 devpts: unregister the file system on error Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13429 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 26a2e20f4a966bebc312836aeb4423fbfd4e33e2 Author: Alan Cox Date: Thu Jun 11 14:03:13 2009 +0100 tty: Untangle termios and mm mutex dependencies Although this doesn't cause any problems it could potentially do so for future mmap using devices. No real work is needed to sort it out so untangle it before it causes problems Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0b91421857414f525690ee452c0b0acb6ab1dba3 Author: Mike Frysinger Date: Thu Jun 11 14:01:45 2009 +0100 tty: bfin_jtag_comm: emulate a TTY over the Blackfin EMUDAT/JTAG interface The Blackfin JTAG interface has a 4 byte generic data field (EMUDAT). With a little creative thinking, we can turn this into a TTY device. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7e9cd3a617414cfe74342659ceeb4e92975c1efa Author: Alan Cox Date: Thu Jun 11 13:57:01 2009 +0100 ftdi_sio: don't override modem bits The new open/close logic handles DTR and friends, so don't do it in our own open routine as well. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7f8d09eae26a8108406583192996561665b36371 Author: Alan Cox Date: Thu Jun 11 13:56:16 2009 +0100 tty: fix bluetooth scribbling on low latency flags Bluetooth shouldn't be doing this as most drivers don't support the flag, furthermore it shouldn't be needed with newer buffering. This becomes rather more visible as the locking fixes make the abuse of low_latency visible as spew on the users console/dmesg. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 557aaa7ffab639d0190b935a041b16ae44606342 Author: Alan Cox Date: Thu Jun 11 13:55:34 2009 +0100 ft232: support the ASYNC_LOW_LATENCY flag This allows users to use the standard setserial command with this FT232 feature as well as obscure chip specific interfaces we have now. We keep track of and respect the sysfs value for non-low-latency cases. In theory we could do smart stuff with VTIME and the like but this seems of questionable worth. Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=9120 Signed-off-by: Alan Cox commit 4cc27bd6d7d6750dba33b4ccb4585c00b8fca7d2 Author: Craig Shelley Date: Thu Jun 11 13:54:40 2009 +0100 USB: CP210X Replace CP2101 with CP210x This patch replaces the string "CP2101" with "CP210x" within cp210x.c This is to reduce confusion about the fact that the driver is actually compatible with CP2101, CP2102 and CP2103 devices. Signed-off-by: Craig Shelley (Fixed some collisions merging) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 93ef1f1fbce37f14666e4856ff933d4a1b735d02 Author: Craig Shelley Date: Thu Jun 11 13:53:30 2009 +0100 USB: CP210X Use official request code definitions The CP210X driver was developed without official device specifications. This has lead to an incorrect assumption that all GET request codes are equal to the corresponding SET request code +1. This patch removes this incorrect assumption, and uses request code definitions based on the updated GPL driver from SiLabs. This modification is needed before extended functionality such as GPIO on CP2103 can be supported. Signed-off-by: Craig Shelley Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b7c7cbc898e8a97829f33ad3bcd1b5e91690d8f4 Author: Craig Shelley Date: Thu Jun 11 13:52:31 2009 +0100 USB: CP210X Add device IDs Signed-off-by: Craig Shelley Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2860b7911137eabb01c159abefb506e538ff3cb7 Author: Sonic Zhang Date: Thu Jun 11 13:51:33 2009 +0100 Blackfin Serial Driver: disable dma rx interrupt only rather than all irqs The UART RX handling code isn't exactly speeding, so don't go disabling all interrupts when processing the buffer. Just disable the relevant DMA interrupt. This greatly improves latency of the system when utilizing the UART. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 84507794a9d5d4decd6bc9c111480076dba0d301 Author: Sonic Zhang Date: Thu Jun 11 13:50:20 2009 +0100 Blackfin Serial Driver: handle anomaly 05000231 05000231 - UART STB Bit Incorrectly Affects Receiver Setting For processors affected by this, we cannot safely allow CSTOPB to be set as the UART will then be unable to properly clock in bytes. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0efa4f2c944fabffc81918cc86d4d17dba39a021 Author: Sonic Zhang Date: Thu Jun 11 13:45:07 2009 +0100 Blackfin Serial Driver: annotate anomalies 05000215 and 05000099 Add some comments for how these anomalies are addressed: 05000215 - UART TX Interrupt Masked Erroneously We always clear ETBEI within last UART TX interrupt to end a string. It is always set when starting a new tx transfer. 05000099 - UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time This anomaly affects driver only in POLL code where multi bits of UART_LSR are checked. It doesn't affect current bfin_5xx.c driver. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 35ff69357949cfff5c3d8e3038b77146872e3bd3 Author: Sonic Zhang Date: Thu Jun 11 13:42:57 2009 +0100 Blackfin Serial Driver: handle irregular DMA register status in auto start mode This bug is caused by irregular behavior of DMA register CURR_X_COUNT and CURR_Y_COUNT when an auto restart uart rx DMA run to last byte in DMA buffer, trigger the interrupt and stay at this possiton. The status of current x and y is 0:7 instead of 512:8 or 0:8. The driver doesn't take care of this case when calculating the position. URL: http://blackfin.uclinux.org/gf/tracker/5063 Reported-by: Tomasz Motylewski Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f9d36da9cdc2504cd9bb6034cfaba0673ce2d6df Author: Graf Yang Date: Thu Jun 11 13:42:17 2009 +0100 Blackfin Serial Driver: fix missing new lines when under load Add a SSYNC() into bfin_serial_dma_tx_chars() to ensure DMA registers are written with new data otherwise we might miss a byte or two when the system is under load. PIO mode is OK though. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7de7c55bf54dede2bd2262349fc7b558bcc8e413 Author: Robin Getz Date: Thu Jun 11 13:38:57 2009 +0100 Blackfin Serial Driver: fix baudrate for early_printk Since we already setup the early console UART in arch/blackfin/kernel/early_printk.c, and common functions which are enabled from the .setup will override the proper settings later, don't fill in these structures. Otherwise we get mangled baudrate settings when using early_printk. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8516c568f25666a012ec4c859e640a76fc9b6ec0 Author: Sonic Zhang Date: Thu Jun 11 13:38:16 2009 +0100 Blackfin Serial Driver: fix error while transferring large files Ignore receiving data if new position is in the same line of current buffer tail and is small. This should decrease overruns. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4328e3e5ef1ae3427a4f6863aa65916a68ec2dd9 Author: Mike Frysinger Date: Thu Jun 11 13:37:11 2009 +0100 Blackfin SPORT UART: rewrite inline assembly Hopefuly the new version is easier to read, but in the process it declares proper clobber lists and better constraints so that GCC can do a better job at allocating free registers. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a19e8b205915b2925aca75b2d2bf0c3104c8be14 Author: Michael Hennerich Date: Thu Jun 11 13:23:42 2009 +0100 Blackfin SPORT UART: fix data misses while using transmit frame sync SPORT transmit frame sync (TFS) isn't used as an electrical signal during normal SPORT UART emulation. However, it is useful in EIA RS-485 emulation as RS-485 Transceiver Driver Enable DE strobe. This patch configures: TFS to be active high in order to drive an DE strobe of an eventually connected RS-485 Transceiver. Late frame sync mode (LATFS) gating the entire TX shift cycle. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b5c6794fe4256fd63664aa185c468647c28bfd4a Author: Mike Frysinger Date: Thu Jun 11 13:23:02 2009 +0100 Blackfin SPORT UART: fix typo in sport_set_termios prototype Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 08e0992f60ad44025a8a8b8a821838ca4a562686 Author: Florian Fainelli Date: Thu Jun 11 13:21:24 2009 +0100 serial: add support for the TI AR7 internal UART This patch adds support for the TI AR7 internal UART. Signed-off-by: Florian Fainelli Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 257a6e8cc7f9274f0af090494a3f1ee06548b5bd Author: Breno Leitao Date: Thu Jun 11 13:20:09 2009 +0100 icom: fix compile errors when defining ICOM_TRACE As it is, defining ICOM_TRACE produces some compile errors, as "parameter name omitted" and "redefinition of ‘trace’" This patch removes the wrong trace definition. Signed-off-by: Breno Leitao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 181bf1e815a2ad2a9a8b30ef6e92583d1530b255 Author: Alan Cox Date: Thu Jun 11 13:08:10 2009 +0100 parport_pc: clean up the modified while loops using for And tidy up a few bits coding style detectors missed Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3aeda9bc95d064308a70664e6f4a158c96cc1918 Author: Alan Cox Date: Thu Jun 11 13:07:29 2009 +0100 parport_pc: Coding style Michael's patch fixed some of the coding style so the style is now inconsistent. Sort the rest out Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 73e0d48b8c28fb39a0bb6713c875e9919a9af546 Author: Michael Buesch Date: Thu Jun 11 13:06:31 2009 +0100 parport_pc: Fix subscription bugs This patch fixes array subscription bugs in the parport_pc driver. drivers/parport/parport_pc.c: In function ‘parport_irq_probe’: drivers/parport/parport_pc.c:1589: warning: array subscript is above array bounds drivers/parport/parport_pc.c: In function ‘parport_pc_probe_port’: drivers/parport/parport_pc.c:1579: warning: array subscript is above array bounds The patch also fixes a few other array bugs, which the compiler was unable to find. Coding style violations are also fixed. Signed-off-by: Michael Buesch Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0b4068a1287b02018d1b3159e7be6f27f3e3e68c Author: Alan Cox Date: Thu Jun 11 13:05:49 2009 +0100 tty: simplify buffer allocator cleanups Having cleaned up the allocators we might as well remove the inline helpers for some of it Signed-off-by: Alan Cox commit c481c707fe4b07783d9a2499a9bbbb94497e9b18 Author: Alan Cox Date: Thu Jun 11 13:04:27 2009 +0100 tty: remove buffer special casing Long long ago a 4K kmalloc allocated two pages so the tty layer used the page allocator, except on some machines where the page size was huge. This was removed from the core tty layer with the tty buffer re-implementation but not from tty_audit or the n_tty ldisc. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit aba6593bf77371e71331ba76dacc98b47760cba3 Author: Breno Leitao Date: Thu Jun 11 13:02:59 2009 +0100 icom: fixing a if clause spaghetti adapter->version can only be ADAPTER_V2 or ADAPTER_V1. So, that OR operand in the "if" clause is non-sense and can be removed. Signed-off-by: Breno Leitao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 13858d36903990441a89eb342247b71436808eeb Author: Alexander Y. Fomichev Date: Thu Jun 11 12:56:00 2009 +0100 jsm: correctly support multiple 4/8-port boards If there are more then one 4/8-port board jsm_uart_port_init allocate a line numbers of the second and further boards from range of previous one. This patch fixed the problem. Signed-off-by: Alexander Y. Fomichev [printks fixed to add jsm: ] Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9bb41699ad5c74519dc054bfe469a8074799c863 Author: Olivier Bornet Date: Thu Jun 11 12:55:01 2009 +0100 tty: iuu_phoenix: update version number. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 96dab77ebf3868cc8723ac95e048e8a9c1dccf22 Author: Olivier Bornet Date: Thu Jun 11 12:54:20 2009 +0100 tty: iuu_phoenix: set termios. set_termios can now be used for setting the parity and the stopbits. This is needed to use with cards which use a different parity then the parity used at start (even). If the iuu_uart_baud function return an error, we will return the old_termios instead of the new one. Signed-off-by: Olivier Bornet This was then revamped to use the various helpers, not copy non-hardware bits any to add mark/space parity and csize reporting Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cc3447d179d8a5e16807e52b77d7f4c095ffedb7 Author: Olivier Bornet Date: Thu Jun 11 12:53:24 2009 +0100 tty: iuu_phoenix: Fix stopbit when uart goes on. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5fcf62b0f1f24ee25931636216f28bc87448a60f Author: Olivier Bornet Date: Thu Jun 11 12:52:26 2009 +0100 tty: iuu_phoenix: fix locking. Bring in the relevant bits of the 0.9 vendor driver. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 852e99d22f2231d232c45216b027565e3bae7add Author: Alan Cox Date: Thu Jun 11 12:51:41 2009 +0100 tty: bring ldisc into CodingStyle Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f2c4c65c8350d885d74dcdea7061dcecc1223c36 Author: Alan Cox Date: Thu Jun 11 12:50:58 2009 +0100 tty: Move ldisc_flush We have a tty_ldisc file now so put tty_ldisc_flush in the right place Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c65c9bc3efa5589f691276bb9db689119a711222 Author: Alan Cox Date: Thu Jun 11 12:50:12 2009 +0100 tty: rewrite the ldisc locking There are several pretty much unfixable races in the old ldisc code, especially with respect to pty behaviour and also to hangup. It's easier to rewrite the code than simply try and patch it up. This patch - splits the ldisc from the tty (so we will be able to refcount it more cleanly later) - introduces a mutex lock for ldisc changing on an active device - fixes the complete mess that hangup caused - implements hopefully correct setldisc/close/hangup locking There are still some problems around pty pairs that have always been there but at least it is now possible to understand the code and fix further problems. This fixes the following known bugs - hang up can leak ldisc references - hang up may not call open/close on ldisc in a matched way - pty/tty pairs can deadlock during an ldisc change - reading the ldisc proc files can cause every ldisc to be loaded and probably a few other of the mysterious ldisc race reports. I'm sure it also adds the odd new one. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e8b70e7d3e86319a8b2aaabde3866833d92cd80f Author: Alan Cox Date: Thu Jun 11 12:48:02 2009 +0100 tty: Extract various bits of ldisc code Before trying to tackle the ldisc bugs the code needs to be a good deal more readable, so do the simple extractions of routines first. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5f0878acba7db24323f5ba4055ec9a96895bb150 Author: Alan Cox Date: Thu Jun 11 12:46:41 2009 +0100 tty: Fix oops when scanning the polling list for kgdb Costantino Leandro found a bug in tty_find_polling_driver and provided a patch that fixed the crash but not the underlying bug. This fixes the underlying bug where the list walk corrupts the values it is using on a match but then reuses them if the open fails. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 620df3c0a5b70656c4de6049825de214f108218e Author: Alan Cox Date: Thu Jun 11 12:45:53 2009 +0100 pty: Fix a comment We fixed the globals, so now fix the comment Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4b6ae89ef40d0d5d4c85098c1d0a012333a68729 Author: Alan Cox Date: Thu Jun 11 12:45:08 2009 +0100 serial: update maintainers file Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 38db89799bdf11625a831c5af33938dcb11908b6 Author: Alan Cox Date: Thu Jun 11 12:44:17 2009 +0100 tty: throttling race fix The tty throttling code can race due to the lock drops. It takes very high loads but this has been observed and verified by Rob Duncan. The basic problem is that on an SMP box we can go CPU #1 CPU #2 need to throttle ? suppose we should buffer space cleared are we throttled yes ? - unthrottle call throttle method This changeet take the termios lock to protect against this. The termios lock isn't the initial obvious candidate but many implementations of throttle methods already need to poke around their own termios structures (and nobody really locks them against a racing change of flow control). This does mean that anyone who is setting tty->low_latency = 1 and then calling tty_flip_buffer_push from their unthrottle method is going to end up collapsing in a pile of locks. However we've removed all the known bogus users of low_latency = 1 and such use isn't safe anyway for other reasons so catching it would be an improvement. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5b0ed5263cb089500052f8c1ab6e0706bebf0d83 Author: Arnd Bergmann Date: Thu Jun 11 12:42:49 2009 +0100 x86: fix ktermios-termio conversion The legacy TCSETA{,W,F} ioctls failed to set the termio->c_line field on x86. This adds a missing get_user. The same ioctls also fail to report faulting user pointers, which we keep ignoring. Signed-off-by: Arnd Bergmann Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 70fd8fdecc4430ffcede7704dd812d4054d1faf9 Author: Andre Przywara Date: Thu Jun 11 12:41:57 2009 +0100 8250_pci: add the OXCB950 chip to the 8250 PCI driver. This adds support for the following serial controller chip: Oxford Semiconductor OXCB950 for PCI Cardbus interface http://www.transdimension.com/products/serial/OXCB950.html on this card: ExSys EX-1370 1 port high-speed serial card for ExpressCard/34 slot Signed-off-by: Andre Przywara Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c3301a5c04800bcf8afc8a815bf9e570a4e25a08 Author: Jiri Slaby Date: Thu Jun 11 12:41:05 2009 +0100 epca: fix test_bit parameters Switch from ASYNC_* to ASYNCB_*, because test_bit expects bit number, not mask. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a391ad0f09014856bbc4eeea309593eba977b3b0 Author: Jiri Slaby Date: Thu Jun 11 12:40:17 2009 +0100 rocket: fix test_bit parameters Switch from ASYNC_* to ASYNCB_*, because {test,set}_bit expect bit number, not mask. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 70beaed22cbe12979e55d99b370e147e2e168562 Author: Jiri Slaby Date: Thu Jun 11 12:39:12 2009 +0100 serial: refactor ASYNC_ flags Define ASYNCB_* flags which are bit numbers of the ASYNC_* flags. This is useful for {test,set,clear}_bit. Also convert each ASYNC_% to be (1 << ASYNCB_%) and define masks with the macros, not constants. Tested with: #include "PATH_TO_KERNEL/include/linux/serial.h" static struct { unsigned int new, old; } as[] = { { ASYNC_HUP_NOTIFY, 0x0001 }, { ASYNC_FOURPORT, 0x0002 }, ... { ASYNC_BOOT_ONLYMCA, 0x00400000 }, { ASYNC_INTERNAL_FLAGS, 0xFFC00000 } }; ... for (a = 0; a < ARRAY_SIZE(as); a++) if (as[a].old != as[a].new) printf("%.8x != %.8x\n", as[a].old, as[a].new); Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6e47e069eb4dffa88ad91ddfc3fd85f32c35654b Author: Alan Cox Date: Thu Jun 11 12:37:06 2009 +0100 tty: Clean up the ACM driver to CodingStyle Or at least most of it. There are further clean ups possible and there are are also thing checkpatch moans about that would be silly to "fix". Also note some FIXME points found as the cleanup was done. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 10077d4a6674f535abdbe25cdecb1202af7948f1 Author: Alan Cox Date: Thu Jun 11 12:36:09 2009 +0100 tty: cdc_acm add krefs Now we have a port structure begin using the fields and kref counts Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b39933fbd304021580800796683b8ddaa3dd0a6a Author: Jiri Slaby Date: Thu Jun 11 12:35:21 2009 +0100 tty: cyclades, remove unused variables Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 963118eef9e6706e2b5356309fb0cdd9c9eba81d Author: Jiri Slaby Date: Thu Jun 11 12:34:27 2009 +0100 tty: cyclades, fix nports handling Set up ports right after FW load so that we won't allocate maximal (64) ports when we use few. Also remove reading of nports in irq context, since we know it from initialisation now. This also fixes a tty ports unregistration on some fail paths and for Ze which registered 64 and unregistered real port count. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 08a951e1693e324bd035b194002a82b9057fd9c5 Author: Jiri Slaby Date: Thu Jun 11 12:33:40 2009 +0100 tty: cyclades, remove typedefs They are unused anyway. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2693f485c22d18474c077f12fd0f797ee8679b33 Author: Jiri Slaby Date: Thu Jun 11 12:31:06 2009 +0100 tty: cyclades, convert macros to inlines Remove ugly macros and add inlines instead of them. This improves readability and type checking a much. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 101b81590d8df0a74c33cf739886247c0a13f4af Author: Jiri Slaby Date: Thu Jun 11 12:30:10 2009 +0100 tty: cyclades, cache HW version Store HW version locally to not read it all the time in interrupts and alike. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 97e87f8ebe978e881c7325ba490574bd5500b133 Author: Jiri Slaby Date: Thu Jun 11 12:29:27 2009 +0100 tty: cyclades, plx9060 casts cleanup Remove ugly all-over-the-code casts of ctl_addr to 9060 space. Add an union to the cyclades_card structure, which contains a pointer to both 9050 and 9060 spaces. The 9050 space layout is unknown, so let it still as a void __iomem pointer. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5ba5a5d21204f61ff655b322a90ed91c75194e4b Author: Paul Fulghum Date: Thu Jun 11 12:28:37 2009 +0100 tty: synclink_gt add receive pio mode Add receive programmed IO mode to reduce receive latency when using low data rates. The receive FIFO trigger level of 128 bytes used in DMA mode creates excessive latency when operating at low data rates. PIO mode is selected when user application requests data in blocks of less than 128 bytes. Signed-off-by: Paul Fulghum Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 739e0285cbb162c8ddd0061fda581ee54a34c19a Author: Alan Cox Date: Thu Jun 11 12:27:50 2009 +0100 tty: Update cdc_acm The CDC ACM driver uses the tty layer correctly so needs conversion. Start by adding and initializing the port structures. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 335f8514f200e63d689113d29cb7253a5c282967 Author: Alan Cox Date: Thu Jun 11 12:26:29 2009 +0100 tty: Bring the usb tty port structure into more use This allows us to clean stuff up, but is probably also going to cause some app breakage with buggy apps as we now implement proper POSIX behaviour for USB ports matching all the other ports. This does also mean other apps that break on USB will now work properly. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1ec739be75a6cb961a46ba0b1982d0edb7f27558 Author: Alan Cox Date: Thu Jun 11 12:25:25 2009 +0100 tty: Implement a drain delay in the tty port We need this for devices that cannot flush and wait, but which do not order data and modem events. Without it we will hang up before all the data clears the hardware. Needed for the USB changes. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fcc8ac1825d3d0fb81f73bc1a80ebc863168bb56 Author: Alan Cox Date: Thu Jun 11 12:24:17 2009 +0100 tty: Add carrier processing on close to the tty_port core Some drivers implement this internally, others miss it out. Push the behaviour into the core code as that way everyone will do it consistently. Update the dtr rts method to raise or lower depending upon flags. Having a single method in this style fits most of the implementations more cleanly than two funtions. We need this in place before we tackle the USB side Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 65a29f60e121ae5116ac1736b50a237bf2db3225 Author: Jiri Slaby Date: Thu Jun 11 12:22:27 2009 +0100 tty: cyclades, remove spurious check in ISR No need to check if dev_id is NULL, it never is. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eca1b592d600bb2b7d24b66e4106de1e751ae510 Author: Jiri Slaby Date: Thu Jun 11 12:21:30 2009 +0100 tty: cyclades, don't kill FW Don't reset the PLX chip after FW load, which effectively kills the FW, so that user had to boot manually. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ace08c3c4403140e5ce82116c8f2acb38f58f61d Author: Jiri Slaby Date: Thu Jun 11 12:20:38 2009 +0100 tty:cyclades, load firmware even on Ze Ze needs firmware to be loaded as well as Zo. Move cyz_load_fw one level upper to achieve that. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 51cdd9289d2e0d83eb32ed6d7a42596b02bf924e Author: Pavel Machek Date: Thu Jun 11 23:25:09 2009 +0800 [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines For suspend/resume to work, spitz needs pxa_pm_suspend/resume to be called. Otherwise PSPR is not set properly, and system will die during resume. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit b263c2c8bf13c273485bd99dbbeba79c844409dd Author: Chris Mason Date: Thu Jun 11 11:24:47 2009 -0400 Btrfs: fix extent_buffer leak during tree log replay During tree log replay, we read in the tree log roots, process them and then free them. A recent change takes an extra reference on the root node of the tree when the root is read in, and stores that reference in root->commit_root. This reference was not being freed, leaving us with one buffer pinned in ram for each subvol with a tree log root after a crash. Signed-off-by: Chris Mason commit 781b2ba6eb5f22440afac9c79a89ebd6e3674a60 Author: Pekka Enberg Date: Wed Jun 10 18:50:32 2009 +0300 SLUB: Out-of-memory diagnostics As suggested by Mel Gorman, add out-of-memory diagnostics to the SLUB allocator to make debugging OOM conditions easier. This patch helped hunt down a nasty OOM issue that popped up every now that was caused by SLUB debugging code which forced 4096 byte allocations to use order 1 pages even in the fallback case. An example print out looks like this: SLUB: Unable to allocate memory on node -1 (gfp=20) cache: kmalloc-4096, object size: 4096, buffer size: 4168, default order: 3, min order: 1 node 0: slabs: 95, objs: 665, free: 0 Acked-by: Christoph Lameter Acked-by: Mel Gorman Tested-by: Larry Finger Signed-off-by: Pekka Enberg commit 0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8 Author: Chris Mason Date: Thu Jun 11 11:13:35 2009 -0400 Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir This happens during subvol creation. Signed-off-by: Chris Mason commit 729ff5e2aaf181f5d3ab849337fce406cd19b1d9 Author: Ingo Molnar Date: Thu Jun 11 14:16:15 2009 +0200 perf_counter tools: Clean up u64 usage A build error slipped in: builtin-report.c: In function ‘hist_entry__fprintf’: builtin-report.c:711: error: format ‘%12d’ expects type ‘int’, but argument 3 has type ‘uint64_t’ Because we got a bit sloppy with those types. uint64_t really sucks, because there's no printf format for it. So standardize on __u64 instead - for all types that go to or come from the ABI (which is __u64), or for values that need to be large enough even on 32-bit. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit df58ab24bf26b166874bfb18b3b5a2e0a8e63179 Author: Peter Zijlstra Date: Thu Jun 11 11:25:05 2009 +0200 perf_counter: Rename perf_counter_limit sysctl Rename perf_counter_limit to perf_counter_max_sample_rate and prohibit creation of counters with a known higher sample frequency. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 0764771dab80d7b84b9a271bee7f1b21a04a3f0c Author: Peter Zijlstra Date: Thu Jun 11 11:18:36 2009 +0200 perf_counter: More paranoia settings Rename the perf_counter_priv knob to perf_counter_paranoia (because priv can be read as private, as opposed to privileged) and provide one more level: 0 - permissive 1 - restrict cpu counters to privilidged contexts 2 - restrict kernel-mode code counting and profiling Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 106b506c3a8b74daa5751e83ed3e46438fcf9a52 Author: Paul Mackerras Date: Thu Jun 11 14:55:42 2009 +1000 perf_counter: powerpc: Implement generalized cache events for POWER processors This adds tables of event codes for the generalized cache events for all the currently supported powerpc processors: POWER{4,5,5+,6,7} and PPC970*, plus powerpc-specific code to use these tables when a generalized cache event is requested. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18992.36430.933526.742969@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 4da52960fd1ae3ddd14901bc88b608cbeaa4b9a6 Author: Paul Mackerras Date: Thu Jun 11 14:54:01 2009 +1000 perf_counters: powerpc: Add support for POWER7 processors This adds the back-end for the PMU on POWER7 processors. POWER7 has 4 fully-programmable counters and two fixed-function counters (which do respect the freeze conditions, can generate interrupts, and are writable, unlike PMC5/6 on POWER5+/6). Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18992.36329.189378.17992@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc890c2dcd63a90de68ee5f0253eefbb89d725f0 Author: Linus Walleij Date: Sun Jun 7 23:27:31 2009 +0100 [ARM] 5544/1: Trust PrimeCell resource sizes I found the PrimeCell/AMBA Bus drivers distrusting the resource passed in as part of the struct amba_device abstraction. This patch removes all hard coded resource sizes found in the PrimeCell drivers and move the responsibility of this definition back to the platform/board device definition, which already exist and appear to be correct for all in-tree users of these drivers. We do this using the resource_size() inline function which was also replicated in the only driver using the resource size, so that has been changed too. The KMI_SIZE was left in kmi.h in case someone likes it. Test-compiled against Versatile and Integrator defconfigs, seems to work but I don't posess these boards and cannot test them. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 42578c82e0f1810a07ebe29cb05e874893243d8c Merge: 2631182 85d6943 Author: Russell King Date: Thu Jun 11 15:35:00 2009 +0100 Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel Conflicts: arch/arm/Kconfig arch/arm/kernel/smp.c arch/arm/mach-realview/Makefile arch/arm/mach-realview/platsmp.c commit 9866b7e86a2ce4daa677be750e3ccbfc65d187f5 Author: Thomas Gleixner Date: Thu Jun 11 16:25:01 2009 +0200 x86: memtest: use pointers of equal type for comparison Commit c9690998ef48ffefeccb91c70a7739eebdea57f9 (x86: memtest: remove 64-bit division) introduced following compile warning: arch/x86/mm/memtest.c: In function 'memtest': arch/x86/mm/memtest.c:56: warning: comparison of distinct pointer types lacks a cast arch/x86/mm/memtest.c:58: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Thomas Gleixner commit 2631182bf93919577730e6a6c4345308db590057 Merge: 0aacfe1 cc63262 Author: Russell King Date: Thu Jun 11 15:23:26 2009 +0100 Merge branch 'w90x900' into devel commit d5af27783f8c898b64f7079908ad3e27632a71ea Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:54 2009 +0300 [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. Replace calls to pxa_gpio_mode with respective gpio_request() / gpio_direction_input(). In principle these calls can be dropped as the only use of those GPIO are IRQs and IRQ code does setup GPIO correctly. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 5452537210d59268cbc283526dc050f0822385f1 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:53 2009 +0300 [ARM] pxa/sharpsl_pm: drop set_irq_type calls Merge set_irq_type() into respective request_irq() calls. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit d48898a3c88c1f36a66a8d4e3e45843c3171c548 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:52 2009 +0300 [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one As pxa now is the only user of sharpsl_pm we can drop several startup functions into generic code thus dropping several global functions. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 78731d33c1868f4ba43bafcca8dcaf938872c1f2 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:51 2009 +0300 [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific collie_pm was the only non-PXA user of sharpsl_pm. Now as it's gone we can merge code into one single file to allow further cleanup. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 391c5111c9ce346edc3c3d8f907eb178a6decd16 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:50 2009 +0300 [ARM] sa1100: remove unused collie_pm.c This file was never enabled in the mainline kernel, new ongoing work on battery driver by Thomas Kunze makes it completely obsolete, so remove it now. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 334a47f6345560af047f164c356d71c3226965d5 Author: Patrick McHardy Date: Thu Jun 11 16:16:09 2009 +0200 netfilter: nf_ct_tcp: fix up build after merge Replace the last occurence of tcp_lock by the per-conntrack lock. Signed-off-by: Patrick McHardy commit 4f64e150191bfddc7f5c0768f325f747dbca1913 Author: Takashi Iwai Date: Thu Jun 11 16:14:11 2009 +0200 ALSA: pcm - Update document about xrun_debug proc file Signed-off-by: Takashi Iwai commit 18473473880622b671a73dfdcaf03e9b526e0fb2 Author: Eric Miao Date: Sun Jun 7 23:05:45 2009 +0800 [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] Signed-off-by: Eric Miao Cc: Philipp Zabel Acked-by: Robert Jarzmik commit de0525ca34aa7a65faf6902e3e00956ab80d2ede Author: Tim Blechmann Date: Thu Jun 11 16:03:34 2009 +0200 ALSA: lx6464es - support standard alsa module parameters trivial patch to support the alsa module parameters `index', `id' and `enable' Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 36432dae73cf2c90a59b39c8df9fd8219272b005 Merge: 440f0d5 bb40080 Author: Patrick McHardy Date: Thu Jun 11 16:00:49 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 commit cc63262f27582369737edcb4e810265db2a98ab4 Author: wanzongshun Date: Wed Jun 10 15:51:32 2009 +0100 [ARM] 5550/1: Add default configure file for w90p910 platform Add default configure file for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 0e4a34bb6565346a8d7cc56cab412a1f98d5b1cd Author: wanzongshun Date: Wed Jun 10 15:50:44 2009 +0100 [ARM] 5549/1: Add clock api for w90p910 platform. Add clock api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c52d3d688b09c50de12cb2fbdfebb18b3b664b00 Author: wanzongshun Date: Wed Jun 10 15:49:32 2009 +0100 [ARM] 5548/1: Add gpio api for w90p910 platform Add gpio api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 27eb97582db53b4b9461373aedf238ca06d85f15 Author: wanzongshun Date: Thu Jun 11 14:30:07 2009 +0100 [ARM] 5551/1: Add multi-function pin api for w90p910 platform. Add multi-function pin api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 067c28adc53807514ac0c6ebb6af3243cbd071fa Author: Chris Mason Date: Thu Jun 11 09:30:13 2009 -0400 Btrfs: fix -o nodatasum printk spelling It was printing nodatacsum, which was not the correct option name. Signed-off-by: Chris Mason commit 85d4198e40c289dd623cecd16601fa613559bed7 Author: Yan Zheng Date: Thu Jun 11 08:51:10 2009 -0400 Btrfs: check duplicate backrefs for both data and metadata lookup_inline_extent_backref only checks for duplicate backref for data extents. It assumes backrefs for tree block never conflict. This patch makes lookup_inline_extent_backref check for duplicate backrefs for both data and tree block, so that we can detect potential bug earlier. This is a safety check, strictly speaking it is not required. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit bb400801c2f40bbd9a688818323ad09abfc4e581 Merge: 130aa61 611b30f Author: David S. Miller Date: Thu Jun 11 05:47:43 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 130aa61a77b8518f1ea618e1b7d214d60b405f10 Author: Stephen Hemminger Date: Thu Jun 11 05:46:04 2009 -0700 bonding: fix multiple module load problem Some users still load bond module multiple times to create bonding devices. This accidentally was broken by a later patch about the time sysfs was fixed. According to Jay, it was broken by: commit b8a9787eddb0e4665f31dd1d64584732b2b5d051 Author: Jay Vosburgh Date: Fri Jun 13 18:12:04 2008 -0700 bonding: Allow setting max_bonds to zero Note: sysfs and procfs still produce WARN() messages when this is done so the sysfs method is the recommended API. Signed-off-by: Stephen Hemminger Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 5ef12d98a19254ee5dc851bd83e214b43ec1f725 Author: Timo Teras Date: Thu Jun 11 04:16:28 2009 -0700 neigh: fix state transition INCOMPLETE->FAILED via Netlink request The current code errors out the INCOMPLETE neigh entry skb queue only from the timer if maximum probes have been attempted and there has been no reply. This also causes the transtion to FAILED state. However, the neigh entry can be also updated via Netlink to inform that the address is unavailable. Currently, neigh_update() just stops the timers and leaves the pending skb's unreleased. This results that the clean up code in the timer callback is never called, preventing also proper garbage collection. This fixes neigh_update() to process the pending skb queue immediately if INCOMPLETE -> FAILED state transtion occurs due to a Netlink request. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit b0fd271d5fba0b2d00888363f3869e3f9b26caa9 Author: Kiyoshi Ueda Date: Thu Jun 11 13:10:16 2009 +0200 block: add request clone interface (v2) This patch adds the following 2 interfaces for request-stacking drivers: - blk_rq_prep_clone(struct request *clone, struct request *orig, struct bio_set *bs, gfp_t gfp_mask, int (*bio_ctr)(struct bio *, struct bio*, void *), void *data) * Clones bios in the original request to the clone request (bio_ctr is called for each cloned bios.) * Copies attributes of the original request to the clone request. The actual data parts (e.g. ->cmd, ->buffer, ->sense) are not copied. - blk_rq_unprep_clone(struct request *clone) * Frees cloned bios from the clone request. Request stacking drivers (e.g. request-based dm) need to make a clone request for a submitted request and dispatch it to other devices. To allocate request for the clone, request stacking drivers may not be able to use blk_get_request() because the allocation may be done in an irq-disabled context. So blk_rq_prep_clone() takes a request allocated by the caller as an argument. For each clone bio in the clone request, request stacking drivers should be able to set up their own completion handler. So blk_rq_prep_clone() takes a callback function which is called for each clone bio, and a pointer for private data which is passed to the callback. NOTE: blk_rq_prep_clone() doesn't copy any actual data of the original request. Pages are shared between original bios and cloned bios. So caller must not complete the original request before the clone request. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 0bcfc5ef016e8217709c65c5a7335e40ceabc99c Author: Cindy H Kao Date: Wed Jun 10 17:06:19 2009 -0700 wimax/i2400m: use -EL3RST to indicate device reset instead of -ERESTARTSYS When the i2400m device resets, the driver code will force some functions to return a -ERESTARTSYS error code, which can is used by the caller to determine which recovery actions to take. However, in certain situations the only thing that can be done is to bubble up said error code to user space, for handling. However, -ERESTARSYS was a poor choice, as it is supposed to be used by the kernel only. As such, replace -ERESTARTSYS with -EL3RST; as well, in i2400m_msg_to_dev(), when the device is in boot mode (following a recent reset), return -EL3RST instead of -ENODEV (meaning the device is in bootrom mode after a reset, not that the device was disconnected, and thus, normal commands cannot be executed). Signed-off-by: Cindy H Kao commit 8b5b30ee7ddc989b59ce05dcf2d024a819dc8040 Author: Cindy H Kao Date: Wed Jun 10 16:52:10 2009 -0700 wimax/i2400m: when bootstrap fails, reinitialize the bootrom When a device reset happens during firmware load [in i2400m_dev_bootstrap()], __i2400m_dev_start() will retry a number of times. However, for those retries to be able to accomplish anything, the device's bootrom has to be reinitialized. Thus, on the retry path, pass the I2400M_MAC_REINIT to the firmware load code. Signed-off-by: Cindy H Kao commit 16820c166d3ad5973d388b5aa70ee7e535386657 Author: Inaky Perez-Gonzalez Date: Thu May 7 01:02:39 2009 -0700 wimax/i2400m/sdio: Move all the RX code to a unified, IRQ based receive routine The current SDIO code was working in polling mode for boot-mode (firmware load) mode. This was causing issues on some hardware. Moved all the RX code to use a unified IRQ handler that based on the type of data the device is sending can discriminate and decide which is the right destination. As well, all the reads from the device are made to be at least the block size (256); the driver will ignore the rest when not needed. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 6e053d6c79b3c1c9f6efc6563a811023c41be86a Author: Inaky Perez-Gonzalez Date: Fri Jun 5 09:31:26 2009 +0800 wimax/i2400m: don't reset device when bootrom init retries are exceeded When i2400m_bootrom_init() fails to put the device into a state of being ready to accept firmware, the driver was currently trying to reset it if it failed to do so. This is not too useful; as part of trying to put the device in the right state a few resets have already been tried. At this point, things are probably fried out and an extra reset might do more harm than good (for example causing reseting of other functions in the same composite device). So it is left up to the callers to determine the error path to take (at the end this is always i2400m_setup(), who depending on how many retries are left, might give up on the device). From a fix by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 1c0b2dd75772cbce0aef8886b7f38313542216de Author: Dirk Brandewie Date: Thu May 21 11:56:35 2009 -0700 wimax/i2400m/sdio: Add device specific poke table. Add a poke table for the SDIO device (as it is different than USB). Signed-off-by: Dirk Brandewie commit 7308a0c23901f2a295265bb71d8521ef7d47bf4c Author: Dirk Brandewie Date: Thu May 21 11:56:34 2009 -0700 wimax/i2400m: move boot time poke table out of common driver This change moves the table of "pokes" performed on the device at boot time to the bus specific portion of the driver. Different models of the i2400m device supported by this driver require different poke tables, thus having a single table that works for all is impossible. For that, the table is moved to the bus-specific driver, who can decide which table to use based on the specifics of the device and point the generic driver to it. Signed-off-by: Dirk Brandewie commit ecddfd5ed73c070413f07a5251c16c10e69f35a2 Author: Inaky Perez-Gonzalez Date: Wed Jun 3 16:13:14 2009 +0800 wimax/i2400m: Allow bus-specific driver to specify retry count The code that sets up the i2400m (firmware load and general driver setup after it) includes a couple of retry loops. The SDIO device sometimes can get in more complicated corners than the USB one (due to its interaction with other SDIO functions), that require trying a few more times. To solve that, without having a failing USB device taking longer to be considered dead, allow the retry counts to be specified by the bus-specific driver, which the general driver takes as a parameter. Signed-off-by: Inaky Perez-Gonzalez commit b4013f91cdda10f3f15530914f3c7f39738b0b50 Author: Inaky Perez-Gonzalez Date: Wed Jun 3 09:45:55 2009 +0800 wimax/i2400m: if a device reboot happens during probe, handle it When a device reboot happens when we are under probe, with init_mutex taken, make sure we can recover. Have dev_reset_handle set boot mode and i2400m_msg_to_dev() will see it and fail gracefully instead of timing out. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 59063afa0afabc68d2b6ca0d106da9165e1c7d39 Author: Inaky Perez-Gonzalez Date: Wed May 27 01:04:40 2009 -0700 wimax/i2400m: fix oops when the TX FIFO fills up due to a missing check When the TX FIFO filled up and i2400m_tx_new() failed to allocate a new TX message header, a missing check for said condition was causing a kernel oops when trying to dereference a NULL i2400m->tx_msg pointer. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit b4bd07e3b13e3c848c7678c4fc870cca1d22ed4e Author: Inaky Perez-Gonzalez Date: Thu May 21 19:46:45 2009 -0700 wimax/i2400m: don't reset device on i2400m_dev_shutdown() i2400m_dev_shutdown() tried to reset the device to put it in a known state before shutting down. But that turned out to be pointless. We reach this case in two paths: 1 - when the device resets, to clean up state 2 - when the driver is unloaded, for the same however, in both cases it is pointless; in (1) the device is already reset, why do it again? in (2) we can't -- the USB stack, for example, doesn't allow communicating with the device when the driver is being unbound and if the device is disconnected, the device is gone already. So just remove it. Leave the function as a placeholder for future cleanups that will be done from data allocated by the driver during device operation. Signed-off-by: Inaky Perez-Gonzalez commit 2971a5bac8cab3cb56f19e9c494ecb3b120c5199 Author: Inaky Perez-Gonzalez Date: Wed May 20 17:40:35 2009 -0700 wimax/i2400m: fix panic due to missed corner cases on tail_room calculation i2400m_tx_skip_tail() needs to handle the special case of being called when the tail room that is left over in the FIFO is zero. This happens when a TX message header was opened at the very end of the FIFO (without payloads). The i2400m_tx_close() code already marked said TX message (header) to be skipped and this function should be doing nothing. It is called anyway because it is part of a common "corner case" path handling which takes care of more cases than only this one. The tail room computation was also improved to take care of the case when tx_in is at the end of the buffer boundary; tail_room has to be modded (%) to the buffer size. To do that in a single well-documented place, __i2400m_tx_tail_room() is introduced and used. Treat i2400m->tx_in == 0 as a corner case and handle it accordingly. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit c56affafdd29eb9764b0e35e3434cc06f6bc3781 Author: Inaky Perez-Gonzalez Date: Wed May 20 17:16:05 2009 -0700 wimax/i2400m: fix panic/warnings caused by missed check on empty TX message In some situations, when a new TX message header is started, there might be no space for data payloads. In this case the message is left with zero payloads and the i2400m_tx_close() function has just to mark it as "to skip". If it tries to go ahead it will overwrite things because there is no space to add padding as defined by the bus-specific layer. This can cause buffer overruns and in some stress cases, panics. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 8593a1967fb9746d318dde88a0a39a36dbfc3445 Author: Inaky Perez-Gonzalez Date: Wed May 20 16:53:30 2009 -0700 wimax/i2400m: rename misleading I2400M_PL_PAD to I2400M_PL_ALIGN The constant is being use as an alignment factor, not as a padding factor; made reading/reviewing the code quite confusing. Signed-off-by: Inaky Perez-Gonzalez commit 10b1de6b774a531c9054ee01e734a85ffbab179e Author: Dirk Brandewie Date: Tue May 12 07:54:00 2009 -0700 wimax/i2400m/sdio: Implement I2400M_RT_BUS reset type This reset type causes the WiMAX function to be disabled and re-enabled, which will force the WiMAX device to reset and enter boot mode. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Dirk Brandewie commit ead68239913cb9c19150facf1656517f81d66fcb Author: Dirk Brandewie Date: Tue May 12 06:22:27 2009 -0700 wimax/i2400m: Change d_printf() level for secure boot messages Changing debug level of print out to support validation engineers getting the messages they need. Signed-off-by: commit 16eafba8defcd507831eec926b61db474af0aabb Author: Inaky Perez-Gonzalez Date: Fri May 8 12:46:26 2009 -0700 wimax/i2400m: i2400m_schedule_work() doesn't need i2400m->work_queue By mistake, the BUG_ON() check was left in there and it will fail when called if i2400m->work_queue is still not setup. Signed-off-by: Inaky Perez-Gonzalez commit e9a6b45be580d648ed2f21646214733504bd4d6f Author: Inaky Perez-Gonzalez Date: Fri May 8 13:02:41 2009 -0700 wimax/i2400m: i2400m's work queue should be initialized before RX support RX support is the only user of the work-queue, to process reports/notifications from the device. Thus, it needs the work queue to be initialized first. Signed-off-by: Inaky Perez-Gonzalez commit fff1068559a2ae00a036b80c5df3c564fc6c6305 Author: Inaky Perez-Gonzalez Date: Fri May 8 08:58:51 2009 -0700 wimax/i2400m: don't call netif_start_queue() in _tx_msg_sent() Reported and fixed by Cindy H Kao. When the device is stopped __i2400m_dev_stop() stops the network queue. However, when this is done in the middle of heavy network operation, when the bus-specific subdriver is still wrapping up and it reports a sent TX transaction with _tx_msg_sent() right after the device was stopped, the queue was being started again, which was causing a stream of oopsen and finally a panic. In any case, said call has no place there. It's a left over from an early implementation that was discarded later on. Signed-off-by: Inaky Perez-Gonzalez commit fb10167478a3a8e29fe122a7bf4c67b5cfc48a1b Author: Inaky Perez-Gonzalez Date: Thu May 7 10:27:42 2009 -0700 wimax/i2400m: introduce module parameter to disable entering power save The i2400m driver waits for the device to report being ready for entering power save before asking it to do so. This module parameter allows control of said operation; if disabled, the driver won't ask the device to enter power save mode. This is useful in setups where power saving is not so important or when the overhead imposed by network reentry after power save is not acceptable; by combining this with parameter 'idle_mode_disabled', the driver will always maintain both the connection and the device in active state. Signed-off-by: Inaky Perez-Gonzalez commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 Author: Eric Dumazet Date: Thu Jun 11 02:55:43 2009 -0700 net: No more expensive sock_hold()/sock_put() on each tx One of the problem with sock memory accounting is it uses a pair of sock_hold()/sock_put() for each transmitted packet. This slows down bidirectional flows because the receive path also needs to take a refcount on socket and might use a different cpu than transmit path or transmit completion path. So these two atomic operations also trigger cache line bounces. We can see this in tx or tx/rx workloads (media gateways for example), where sock_wfree() can be in top five functions in profiles. We use this sock_hold()/sock_put() so that sock freeing is delayed until all tx packets are completed. As we also update sk_wmem_alloc, we could offset sk_wmem_alloc by one unit at init time, until sk_free() is called. Once sk_free() is called, we atomic_dec_and_test(sk_wmem_alloc) to decrement initial offset and atomicaly check if any packets are in flight. skb_set_owner_w() doesnt call sock_hold() anymore sock_wfree() doesnt call sock_put() anymore, but check if sk_wmem_alloc reached 0 to perform the final freeing. Drawback is that a skb->truesize error could lead to unfreeable sockets, or even worse, prematurely calling __sk_free() on a live socket. Nice speedups on SMP. tbench for example, going from 2691 MB/s to 2711 MB/s on my 8 cpu dev machine, even if tbench was not really hitting sk_refcnt contention point. 5 % speedup on a UDP transmit workload (depends on number of flows), lowering TX completion cpu usage. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f2333a014c1e13ac8e1b73a6fd77731c524eff78 Author: Figo.zhang Date: Thu Jun 11 02:49:10 2009 -0700 netxen: No need to check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 934037bc2ed29a94bbde72aa6a2e66bdc5861b98 Author: Sathya Perla Date: Wed Jun 10 02:23:50 2009 +0000 be2net: Fix be_tx_q_clean() being called on freed queues In the tx queue destroy path, be_tx_q_clean() is currently called after the tx queues are freed; it must be called before. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a7a0ef31def6b6badd94fc96c8f17c2e18d91513 Author: Sathya Perla Date: Wed Jun 10 02:23:28 2009 +0000 be2net: Fix early reset of rx-completion be_rx_compl_get() must not reset(via the valid word) the rx_compl as the rx_compl is not processed yet; it must be reset after it is processed. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 76fbb42919396b9bf68c9a03ceb037c971a02e2f Author: Sathya Perla Date: Wed Jun 10 02:21:56 2009 +0000 be2net: Fix rx stats updation in non-lro path rx stats are not getting updated when an rx_compl with only one frag is rcvd in non-lro path. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6811086899f2740c08d0ade26f8b9d705708e0cc Author: Sathya Perla Date: Wed Jun 10 02:21:16 2009 +0000 be2net: fix netdev stats rx_errors and rx_dropped Fix netdev stat rx_errors to cover length related errors and checksum errors and rx_dropped to the pkts dropped due to lack of buffers Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit b305be78a044c5f6a9d146229a280d08db0c630a Author: Sathya Perla Date: Wed Jun 10 02:18:35 2009 +0000 be2net: Use cancel_delayed_work_sync instead of cancel_delayed_work() Use cancel_delayed_work_sycn instead of cancel_delayed_work() to reliably kill be_worker() as it rearms itself. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit c0feed87fe452c20681ae29909adaecedd1ec9f3 Author: Figo.zhang Date: Wed Jun 10 04:18:38 2009 +0000 tehuti: No need check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 50d36a93dc2c773c9625c62275b88ac936d9c4ba Author: Figo.zhang Date: Wed Jun 10 04:21:55 2009 +0000 vxge: No need for check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 74b793e1ef79edc49bc031a88d62f1e93fc6b30f Author: Divy Le Ray Date: Tue Jun 9 23:25:21 2009 +0000 cxgb3: remove __GFP_NOFAIL usage Pre-allocate a skb at init time to be used for control messages to the HW if skb allocation fails. Tolerate failures to send messages initializing some memories at the cost of parity error detection for these memories. Retry sending connection id release messages if both alloc_skb(GFP_ATOMIC) and alloc_skb(GFP_KERNEL) fail. Do not bring the interface up if messages binding queue set to port fail to be sent. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 87433bfc75f34599c38137e172b6bf8fd41971ba Author: Eric Dumazet Date: Tue Jun 9 22:55:53 2009 +0000 r8169: use dev_kfree_skb() instead of dev_kfree_skb_irq() rtl8169_tx_interrupt() is used from NAPI context, it can directly free skbs. dev_kfree_skb_irq() is a leftover from pre-NAPI times of this driver. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e762cd70efad6b6236b084ff7e5ce54a5f524320 Author: Ben Hutchings Date: Wed Jun 10 05:30:05 2009 +0000 sfc: Expose 100/1000BASE-T MDI-X status via ethtool Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d005ba6cc82440d9ebf96f3ec8f79c54578b898f Author: Ben Hutchings Date: Wed Jun 10 05:28:04 2009 +0000 mdio: Expose 10GBASE-T MDI-X status via ethtool This is available in a standard MDIO register in 10GBASE-T PHYs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 62fdac5913f71f8f200bd2c9bd59a02e9a1498e9 Author: Hidetoshi Seto Date: Thu Jun 11 16:06:07 2009 +0900 x86, mce: Add boot options for corrected errors This patch introduces three boot options (no_cmci, dont_log_ce and ignore_ce) to control handling for corrected errors. The "mce=no_cmci" boot option disables the CMCI feature. Since CMCI is a new feature so having boot controls to disable it will be a help if the hardware is misbehaving. The "mce=dont_log_ce" boot option disables logging for corrected errors. All reported corrected errors will be cleared silently. This option will be useful if you never care about corrected errors. The "mce=ignore_ce" boot option disables features for corrected errors, i.e. polling timer and cmci. All corrected events are not cleared and kept in bank MSRs. Usually this disablement is not recommended, however it will be a help if there are some conflict with the BIOS or hardware monitoring applications etc., that clears corrected events in banks instead of OS. [ And trivial cleanup (space -> tab) for doc is included. ] Signed-off-by: Hidetoshi Seto Reviewed-by: Andi Kleen LKML-Reference: <4A30ACDF.5030408@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 77e26cca20013e9352a8df86a54640543304a23a Author: Hidetoshi Seto Date: Thu Jun 11 16:04:35 2009 +0900 x86, mce: Fix mce printing This patch: - Adds print_mce_head() instead of first flag - Makes the header to be printed always - Stops double printing of corrected errors [ This portion originates from Huang Ying's patch ] Originally-From: Huang Ying Signed-off-by: Hidetoshi Seto LKML-Reference: <4A30AC83.5010708@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit b8facca01ba381c3f8ff2391fbe3860ebc6a6bdc Author: Ron Mercer Date: Wed Jun 10 15:49:34 2009 +0000 qlge: Allow RX buf rings to be > than 4096 bytes. RX buffer rings can be comprised of non-contiguous fixed size chunks of memory. The ring is given to the hardware as a pointer to a location that stores the location of the queue. If the queue is greater than 4096 bytes then the hardware gets a list of said pointers. This patch addes the necessary logic to generate the list if the queue size exceeds 4096. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 88c55e3cbd1bd4e8f52dcda67456763710a025a5 Author: Ron Mercer Date: Wed Jun 10 15:49:33 2009 +0000 qlge: Relax alignment on TX harware queue. The alignment was on size of queue boundary, but the hardware only requires 4-byte alignment. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0ed586d075ef65c0268982e5b7f36d0ffaa95547 Author: Roel Kluin Date: Wed Jun 10 09:55:03 2009 +0000 atl1c: WAKE_MCAST tested twice, not WAKE_UCAST The WAKE_MCAST bit is tested twice, the first should be WAKE_UCAST. Signed-off-by: Roel Kluin Cc: Jie Yang Cc: Jay Cliburn Cc: Chris Snook Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b77e5228849fdcd7a5d73beb16b9ad99395236ec Author: Risto Suominen Date: Wed Jun 10 09:55:00 2009 +0000 de2104x: support for systems lacking cache coherence Add a configurable Descriptor Skip Length for systems that lack cache coherence. (akpm: I think this should be done as a module parameter, not a compile-tinme option) Signed-off-by: Risto Suominen Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ef5c89967d50042b29937fb724e057c1aa3c5207 Author: sg.tweak@gmail.com Date: Wed Jun 10 09:55:02 2009 +0000 drivers/net/macvlan.c: fix cloning of tagged VLAN interfaces Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13348 akpm: the reporter disappeared, so I typed it in again. It is not possible to make clone of tagged VLAN interface to be used as mac-based vlan interfave. How reproducible: Use any 802.1q tagged vlan interface, e.g. eth2.700 and clone it: ip link add link eth2.700 address 00:04:75:cb:38:09 macvlan0 type macvlan ip link set dev macvlan0 up ip addr add 10.195.1.1/24 dev macvlan0 So far, so good. Now try to ping anything via macvlan0: ping 10.195.1.2 Actual results: For every attempted packet tx kernel writes to console: ------------[ cut here ]------------ WARNING: at net/8021q/vlan_dev.c:254 vlan_dev_hard_header+0x36/0x126 [8021q]() Hardware name: M22ES Modules linked in: arptable_filter arp_tables bridge veth macvlan arc4 ecb ppp_mppe ppp_async crc_ccitt ppp_generic slhc autofs4 sunrpc 8021q garp stp ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp x_tables dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbs sbshc lp floppy snd_intel8x0 joydev snd_seq_dummy snd_intel8x0m snd_ac97_codec ide_cd_mod ac97_bus snd_seq_oss cdrom snd_seq_midi_event serio_raw snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss parport_pc snd_pcm parport battery 8139cp snd_timer i2c_sis96x ac button snd rtc_cmos rtc_core 8139too soundcore rtc_lib mii i2c_core pcspkr snd_page_alloc pata_sis libata sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd [last unloaded: ip_tables] Pid: 0, comm: swapper Tainted: G W 2.6.29.3 #1 Call Trace: [] warn_slowpath+0x60/0x9f [] warn_slowpath+0x87/0x9f [] vlan_dev_hard_header+0x0/0x126 [8021q] [] vlan_dev_hard_header+0x36/0x126 [8021q] [] vlan_dev_hard_header+0x0/0x126 [8021q] [] macvlan_hard_header+0x3c/0x47 [macvlan] [] macvlan_hard_header+0x0/0x47 [macvlan] [] arp_create+0xef/0x1ff [] arp_send+0x3d/0x54 [] arp_solicit+0x16c/0x177 [] neigh_timer_handler+0x227/0x269 [] neigh_timer_handler+0x0/0x269 [] run_timer_softirq+0xf0/0x141 [] __do_softirq+0x76/0xf8 [] __do_softirq+0x0/0xf8 [] handle_level_irq+0x0/0xad [] irq_exit+0x35/0x62 [] do_IRQ+0xdf/0xf4 [] common_interrupt+0x27/0x2c [] default_idle+0x2a/0x3d [] cpu_idle+0x57/0x70 Macvlan driver always uses standard ethernet header length for all types of interface to which it is linked. This patch fixes this problem. Reported-by: Cc: Alan Cox Cc: "Rafael J. Wysocki" Cc: "David S. Miller" Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 720017623ab294b66c8a95d7bc5ccf75a581ebe4 Author: Andreas Mohr Date: Wed Jun 10 09:55:04 2009 +0000 e100: add non-MII PHY support Restore support for cards with MII-lacking PHYs as compared to removed pre-2.6.29 eepro100 driver: use full low-level MII I/O access abstraction by providing clean PHY-specific mdio_ctrl() functions for either standard MII-compliant cards, slightly special ones or non-MII PHY ones. We now have another netdev_priv member for mdio_ctrl(), thus we have some array indirection, but we save some additional opcodes for specific phy_82552_v handling in the common case. [akpm@linux-foundation.org: cleanups] Signed-off-by: Andreas Mohr Cc: Jeff Kirsher Cc: Jesse Brandeburg Cc: Bruce Allan Cc: PJ Waskiewicz Cc: John Ronciak Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3f68535adad8dd89499505a65fb25d0e02d118cc Author: john stultz Date: Wed Jan 21 22:53:22 2009 -0700 clocksource: sanity check sysfs clocksource changes Thomas, Andrew and Ingo pointed out that we don't have any safety checks in the clocksource sysfs entries to make sure sysadmins don't try to change the clocksource to a non high-res timer capable clocksource (such as jiffies) when high-res timers (HRT) is enabled. Doing so will likely hang a system. Correct this by filtering non HRT clocksources from available_clocksources and not accepting non HRT clocksources with HRT enabled. Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit e5241c448f94feee40b2a285c8bf55d066420073 Author: David S. Miller Date: Thu Jun 11 02:10:19 2009 -0700 ieee802154: Use '%Zu' printf format for size_t. Signed-off-by: David S. Miller commit d7ed5d883c09c5474f842dcb148515dfaef2a567 Author: Ulrich Dangel Date: Thu Jun 11 00:15:09 2009 -0700 Input: ALPS - handle touchpoints buttons correctly When pressing any button belonging to the touchpoint, the generated click events don't belong to the touchpoint but to the touchpad. This patch fixes this behaviour, the events will be sent via the correct device, so scrolling with touchpoint is possible. Signed-off-by: Ulrich Dangel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 0b346838c5862bfe911432956a106d602535d030 Author: Alek Du Date: Thu Jun 11 02:00:35 2009 -0700 Input: gpio-keys - change timer to workqueue The gpio_get_value function of I2C/SPI GPIO expander may sleep thus this function call can not be called in a timer function. Signed-off-by: Alek Du Signed-off-by: Dmitry Torokhov commit c57c0a2a0d019aa8108f1155f99098ea7e7e1ab3 Author: Michael Roth Date: Wed Jun 10 23:30:55 2009 -0700 Input: ads7846 - pin change interrupt support Some SoCs support only pin change interrupts on GPIO pins used as irq lines. The ads7846 core is not affected from the additional irqs on the rising edge because the code accounts touch bounce anyway by kicking in a timer and disabling the irq after the first request and reenabling the irq after a timeout when there is no longer pen down detected. Signed-off-by: Michael Roth Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 7e3f73754e489e8c7742eaba15b608757b5bbb28 Author: Wan ZongShun Date: Wed Jun 10 23:27:22 2009 -0700 Input: add support for touchscreen on W90P910 ARM platform The touchscreen works in two modes, wait trigger mode and auto-semi mode. The device starts in wait trigger mode and waits until pressure is detected, then device sets WT_INT bit and raises an interrupt. The driver should put the device into auto-semi mode and prepare for reading first X and then Y coordinates. When coordinate data is ready the driver sets ADC_INT bit and raises interrupt again. [dtor@mail.ru: various cleanups] Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 4894e4aca82aca927d0404ce61f021f790de4b1e Merge: 05e882f 07a2039 Author: Dmitry Torokhov Date: Thu Jun 11 01:58:01 2009 -0700 Merge commit 'v2.6.30' into next commit 342dc382c451f75ea202a65e6f529bdff6d184cd Author: yakui_zhao Date: Tue Jun 2 14:12:00 2009 +0800 drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo Use the DRM_DEBUG_KMS/DEBUG_LOG_KMS to print the debug info for SDVO device. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 7fb85bfb54a64e9dd82ee4a79022c38ab58f21a0 Author: yakui_zhao Date: Tue Jun 2 14:10:49 2009 +0800 drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds Use the DRM_DEBUG_KMS macro definition to print the debug info for the LVDS. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 4fefcb27050b98c97b1c32bc710fc2f874449dee Author: yakui_zhao Date: Tue Jun 2 14:09:47 2009 +0800 drm: add separate drm debugging levels Now all the DRM debug info will be reported if the boot option of "drm.debug=1" is added. Sometimes it is inconvenient to get the debug info in KMS mode. We will get too much unrelated info. This will separate several DRM debug levels and the debug level can be used to print the different debug info. And the debug level is controlled by the module parameter of drm.debug In this patch it is divided into four debug levels; drm_core, drm_driver, drm_kms, drm_mode. At the same time we can get the different debug info by changing the debug level. This can be done by adding the module parameter. Of course it can be changed through the /sys/module/drm/parameters/debug after the system is booted. Four debug macro definitions are provided. DRM_DEBUG(fmt, args...) DRM_DEBUG_DRIVER(prefix, fmt, args...) DRM_DEBUG_KMS(prefix, fmt, args...) DRM_DEBUG_MODE(prefix, fmt, args...) When the boot option of "drm.debug=4" is added, it will print the debug info using DRM_DEBUG_KMS macro definition. When the boot option of "drm.debug=6" is added, it will print the debug info using DRM_DEBUG_KMS/DRM_DEBUG_DRIVER. Sometimes we expect to print the value of an array. For example: SDVO command, In such case the following four DRM debug macro definitions are added: DRM_LOG(fmt, args...) DRM_LOG_DRIVER(fmt, args...) DRM_LOG_KMS(fmt, args...) DRM_LOG_MODE(fmt, args...) Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 7780b6a2990e2fbb697bb900e01ca7361943c7da Author: Matt Fleming Date: Thu Jun 11 09:26:43 2009 +0100 sh: Update my email address Use my current email address as my gentoo account will be closed at some point. Signed-off-by: Matt Fleming commit 54ff328b46e58568c4b3350c2fa3223ef862e5a4 Author: Paul Mundt Date: Thu Jun 11 10:33:09 2009 +0300 sh: Tie sparseirq in to Kconfig. Now that the dependent patches are merged, we are ready to enable sparseirq support. This simply adds the Kconfig option, and then converts from the _cpu to the _node allocation routines to follow the upstream sparseirq API changes. Signed-off-by: Paul Mundt commit 84503ddd65e804ccdeedee3f307b40d80ff793e6 Merge: 51611a1 2f0accc Author: David S. Miller Date: Wed Jun 10 23:41:43 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6a1555fdde407dad23b8a119cf5feeb7c6466de9 Author: Paul Mundt Date: Thu Jun 11 09:38:05 2009 +0300 sh: Wire up sys_rt_tgsigqueueinfo. Signed-off-by: Paul Mundt commit 75c936aec050113c12f74581f51779ffc5502a51 Author: Paul Mundt Date: Thu Jun 11 09:33:53 2009 +0300 sh: Fix sys_pwritev() syscall table entry for sh32. There was a typo here that had this as sys_writev() instead of sys_pwritev(), fix this up. sh64 got this right, as did the preadv() case. Signed-off-by: Paul Mundt commit 4c7c99788631bab177bd51e15e893be4689bb085 Author: Aoi Shinkai Date: Wed Jun 10 16:15:42 2009 +0000 sh: Fix sh4a llsc-based cmpxchg() This fixes up a typo in the ll/sc based cmpxchg code which apparently wasn't getting a lot of testing due to the swapped old/new pair. With that fixed up, the ll/sc code also starts using it and provides its own atomic_add_unless(). Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit f168dd00a9440a6f644db73bda47718fd12008e4 Author: Kuninori Morimoto Date: Wed Jun 10 05:04:32 2009 +0000 sh: sh7724: Add JPU support Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Paul Mundt commit c5eeff1f8ecbc4bc7c1dd8e97a8610bc4dd3def8 Author: Kuninori Morimoto Date: Mon Jun 8 10:05:12 2009 +0000 sh: sh7724: INTC setting update This patch follows Rev 0.50 manual Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit df4f7fe7bd516b3833e25c692c3970e22038a6ca Author: Dave Airlie Date: Thu Jun 11 16:16:10 2009 +1000 radeon: remove _DRM_DRIVER from the preadded sarea map This shouldn't be there and is what broke r600 late in the 2.6.30 release cycle with Ben's patch. Signed-off-by: Dave Airlie commit 2ff2e8a3e1898e692b604424c384f134009dea80 Author: Ben Skeggs Date: Tue May 26 10:35:52 2009 +1000 drm: don't associate _DRM_DRIVER maps with a master A driver will use the _DRM_DRIVER map flag to indicate that it wants to be responsible for removing the map itself, bypassing the DRM's automagic cleanup code. Since the multi-master changes this has been broken, resulting in some drivers having their registers unmapped before it's finished with them. Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 46e9371c0eaade8391b3969431a72272b9007158 Author: Magnus Damm Date: Thu Jun 4 07:37:59 2009 +0000 sh: sh7722 clock framework rewrite This patch rewrites the sh7722 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. While at it, now when all SuperH Mobile processors are converted, fix CONFIG_SH_CLK_CPG_LEGACY to depend on CONFIG_ARCH_SHMOBILE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4ed37394842e5f9c0c4ea087e8716d4458d03bfb Author: Magnus Damm Date: Thu Jun 4 07:35:25 2009 +0000 sh: sh7366 clock framework rewrite This patch rewrites the sh7366 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bc49b6eaac6eff86f902a36d846c310e1e0beedf Author: Magnus Damm Date: Thu Jun 4 07:32:11 2009 +0000 sh: sh7343 clock framework rewrite This patch rewrites the sh7343 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b621370a3505f8bd42acc41736cae47d5ce8bd06 Author: Magnus Damm Date: Wed Jun 10 11:31:16 2009 +0000 sh: sh7724 clock framework rewrite V3 This patch contains V3 of the sh7724 clock framework rewrite. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and fll are supported as input clocks to the pll. The div6 clocks are fed through a divide-by-3 block. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c521dc02034df3681394a30b428bf081cfa22253 Author: Magnus Damm Date: Wed Jun 3 08:39:59 2009 +0000 sh: sh7723 clock framework rewrite V2 This patch contains V2 of the sh7723 clock framework rewrite. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 098dee99d14e8324d3793df442d6078d0c134140 Author: Magnus Damm Date: Thu Jun 4 05:31:41 2009 +0000 sh: add enable()/disable()/set_rate() to div6 code This patch updates the div6 clock helper code to add support for enable(), disable() and set_rate() callbacks. Needed by the camera clock enabling board code on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b798b1fe3b6436275ad1b517a6823d55e3b75c22 Author: Robert P. J. Day Date: Wed Jun 10 12:43:49 2009 -0700 drm: simplify kcalloc() call to kzalloc(). Calls to kcalloc() for a single element can be simplified to calls to kzalloc(). Signed-off-by: Robert P. J. Day Cc: Dave Airlie Cc: Eric Anholt Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 1bcbf3948876e31a8ece28597dec447611ad9c8b Author: Pavel Roskin Date: Wed Jun 10 12:43:48 2009 -0700 intelfb: fix spelling of "CLOCK" Signed-off-by: Pavel Roskin Cc: Eric Anholt Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit dcae3626d031fe6296b1e96a16f986193a41f840 Author: Roel Kluin Date: Wed Jun 10 12:43:48 2009 -0700 drm: fix LOCK_TEST_WITH_RETURN macro When this macro isn't called with 'file_priv' this will result in a build failure. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit c01641b42a88c475fd4b72cff2b10e42262a80fe Author: Magnus Damm Date: Wed Jun 3 08:26:40 2009 +0000 sh: add AP325RXA mode pin configuration This patch adds mode pin configuration to ap325rxa. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ec80fddf1674579d52b5ff94774ba73107cad31 Author: Magnus Damm Date: Wed Jun 3 08:22:50 2009 +0000 sh: add Migo-R mode pin configuration This patch adds mode pin configuration and a machvec structure to Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ed740cb9b7f6eaee7bb45a07ce53ff9e73a92798 Author: Magnus Damm Date: Wed Jun 3 08:18:56 2009 +0000 sh: sh7722 mode pin definitions This patch adds sh7722 mode pin and pin function controller comments. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 36e5b26bdac0ee3791071d240334853ddd7b9790 Author: Magnus Damm Date: Tue Jun 2 10:47:32 2009 +0000 sh: sh7724 mode pin comments This patch adds comments for the sh7724 mode pins and pin function controller. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e4218ef506a2f8b0b5bf1a4b6effcc2f8983f86b Author: Magnus Damm Date: Tue Jun 2 09:45:16 2009 +0000 sh: sh7723 mode pin V2 This patch is sh7723 mode pin V2. Mode pins and pin function controller comments are added. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0d4fdbb64f472ef31195714993f1263f77cf85ca Author: Magnus Damm Date: Tue Jun 2 09:22:02 2009 +0000 sh: rework mode pin code This patch reworks the mode pin code to keep the pin definitions in one place. The mode pins values are now the value of the bit instead of bit number. With this patch in place the sh7785 header file contains mode pin comments. The sh7785 clock code and the sh7785lcr board code are updated to reflect the new shared mode pins. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2693e2740ddae364a80e6083043ba760b6366b69 Author: Magnus Damm Date: Tue Jun 2 08:53:54 2009 +0000 sh: clock div6 helper code This patch adds div6 clock helper code. The div6 clocks are simply 6-bit divide-by-n modules where n is 1 to 64. Needed for vclk on sh7722, sh7723, sh7343 and sh7366. sh7724 needs this even more for vclk, fclka, fclkb, irdaclk and spuclk. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a50de78dc6d21ee074e9561c800d194bec12128b Author: Magnus Damm Date: Tue Jun 2 08:43:59 2009 +0000 sh: clock div4 frequency table offset fix This patch fixes the per clock offset calculation in sh_clk_div4_register(). Without this patch the offset to the frequency table for each clock is incorrect. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cf9fe114e3b37e14fc8434d5abb192e35df551b1 Merge: c1d0d32 991ec02 Author: Paul Mundt Date: Thu Jun 11 09:01:14 2009 +0300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 193e98401a89707ea374e9c32c1b9a5a9dd87a48 Author: Greg Ungerer Date: Thu Apr 23 11:24:03 2009 +1000 m68knommu: remove unecessary include of thread_info.h in entry.S Signed-off-by: Greg Ungerer commit 9d4f94135385b565e2ce4a37f71b53d0fd3664e8 Author: Greg Ungerer Date: Thu Jun 11 13:05:00 2009 +1000 m68knommu: enumerate INIT_THREAD fields properly Use proper field value setting init INIT_THREAD macro. Fixes this: arch/m68knommu/kernel/init_task.c:27: warning: excess elements in array initializer arch/m68knommu/kernel/init_task.c:27: warning: (near initialization for ‘init_task.thread.fpstate’) Signed-off-by: Greg Ungerer commit 4f308e35a9bde9d6b671e8409157edb9065f117c Author: Jaswinder Singh Rajput Date: Wed Jun 10 18:47:47 2009 +0530 headers_check fix: m68k, swab.h fix the following 'make headers_check' warnings: usr/include/asm-m68k/swab.h:4: include of is preferred over usr/include/asm-m68k/swab.h:10: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Ungerer commit 308e610e8c435d7875842b427dbc99de43a4aec9 Author: Joe Perches Date: Fri May 15 10:59:37 2009 -0700 arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( Signed-off-by: Joe Perches Signed-off-by: Greg Ungerer commit fb29ad7949aeed3d464ba8d2c9772835f456d4c4 Author: Greg Ungerer Date: Fri May 1 16:09:17 2009 +1000 m68knommu: remove obsolete reset code All ColdFire and non-MMU 68k code has custom reset routines. Remove the obsolete and now un-used reset macros. Signed-off-by: Greg Ungerer commit 05728aec8b05ec3fa859add8b22ba46432611e9e Author: Greg Ungerer Date: Thu Apr 30 23:32:52 2009 +1000 m68knommu: move CPU reset code for the 5272 ColdFire into its platform code Signed-off-by: Greg Ungerer commit dd65b1de553ddfd85e8fea9d3aa9db7479ccf2aa Author: Greg Ungerer Date: Thu Apr 30 23:15:56 2009 +1000 m68knommu: move CPU reset code for the 528x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 4c0b008d49e728735f54419e60446480017bfe1b Author: Greg Ungerer Date: Thu Apr 30 23:06:45 2009 +1000 m68knommu: move CPU reset code for the 527x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 55b33f316d25c1ffb13a65de7f846b950b5ef5a6 Author: Greg Ungerer Date: Thu Apr 30 22:58:35 2009 +1000 m68knommu: move CPU reset code for the 523x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 25ce4a908abebf8c7d2e89908d36050e1de9cbec Author: Greg Ungerer Date: Thu Apr 30 22:39:50 2009 +1000 m68knommu: move CPU reset code for the 520x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 384feb91319766298c6358f23f54873d44c9d8cb Author: Greg Ungerer Date: Thu Apr 30 22:03:43 2009 +1000 m68knommu: add CPU reset code for the 532x ColdFire Signed-off-by: Greg Ungerer commit 6f5aa7ce38dfb9c04eecac1222fc4b2521f02b83 Author: Greg Ungerer Date: Thu Apr 30 17:31:19 2009 +1000 m68knommu: add CPU reset code for the 5249 ColdFire Signed-off-by: Greg Ungerer commit b61a7260ff70d10ca27edcc74535af0d46a277fa Author: Greg Ungerer Date: Thu Apr 30 17:22:56 2009 +1000 m68knommu: add CPU reset code for the 5206e ColdFire Signed-off-by: Greg Ungerer commit 851377bca613175473b6dafd6c7d1bfbcf24efe2 Author: Greg Ungerer Date: Thu Apr 30 17:22:05 2009 +1000 m68knommu: add CPU reset code for the 5206 ColdFire Signed-off-by: Greg Ungerer commit eb7c874d5c81dae6d7b80857e9f0dab1a5d05ebd Author: Greg Ungerer Date: Thu Apr 30 17:15:18 2009 +1000 m68knommu: add CPU reset code for the 5407 ColdFire Signed-off-by: Greg Ungerer commit c18e52c7696e39c7cb23cd083bbda5652c338b79 Author: Greg Ungerer Date: Thu Apr 30 17:03:09 2009 +1000 m68knommu: add CPU reset code for the 5307 ColdFire Signed-off-by: Greg Ungerer commit 293ca0f75415dd8373c716bf9755569daca7ba5d Author: Greg Ungerer Date: Tue Apr 28 16:56:03 2009 +1000 m68knommu: merge system reset for code ColdFire 523x family The sofwtare reset control code for the 523x ColdFire family uses the same Reset unit hardware as the 527x and 528x ColdFire parts. So they should all use the same code. Merge them. Signed-off-by: Greg Ungerer commit 7f72b47cedd1efc301576ff1050ec0a26c57eb48 Author: Greg Ungerer Date: Tue Apr 28 14:13:21 2009 +1000 m68knommu: fix system reset for ColdFire 527x family The sofwtare reset control for the 527x ColdFire family is based on the same Reset Control Unit as the 528x ColdFire family. So use the same reset code for both. Signed-off-by: Greg Ungerer commit 991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d Merge: 8623661 84047e3 Author: Linus Torvalds Date: Wed Jun 10 19:58:10 2009 -0700 Merge branch 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: function-graph: always initialize task ret_stack function-graph: move initialization of new tasks up in fork function-graph: add memory barriers for accessing task's ret_stack function-graph: enable the stack after initialization of other variables function-graph: only allocate init tasks if it was not already done Manually fix trivial conflict in kernel/trace/ftrace.c commit 862366118026a358882eefc70238dbcc3db37aac Merge: 57eee9a 511b01b Author: Linus Torvalds Date: Wed Jun 10 19:53:40 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: (244 commits) Revert "x86, bts: reenable ptrace branch trace support" tracing: do not translate event helper macros in print format ftrace/documentation: fix typo in function grapher name tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK tracing: add protection around module events unload tracing: add trace_seq_vprint interface tracing: fix the block trace points print size tracing/events: convert block trace points to TRACE_EVENT() ring-buffer: fix ret in rb_add_time_stamp ring-buffer: pass in lockdep class key for reader_lock tracing: add annotation to what type of stack trace is recorded tracing: fix multiple use of __print_flags and __print_symbolic tracing/events: fix output format of user stack tracing/events: fix output format of kernel stack tracing/trace_stack: fix the number of entries in the header ring-buffer: discard timestamps that are at the start of the buffer ring-buffer: try to discard unneeded timestamps ring-buffer: fix bug in ring_buffer_discard_commit ftrace: do not profile functions when disabled tracing: make trace pipe recognize latency format flag ... commit 57eee9ae7bbcfb692dc96c739a5184adb6349733 Merge: 8f40642 7e4e0bd Author: Linus Torvalds Date: Wed Jun 10 19:51:10 2009 -0700 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: introduce module_param oprofile.cpu_type oprofile: add support for Core i7 and Atom oprofile: remove undocumented oprofile.p4force option oprofile: re-add force_arch_perfmon option commit 8f40642ad315c553bab4ae800766ade07e574a77 Merge: 20f3f3c 12d1611 Author: Linus Torvalds Date: Wed Jun 10 19:50:52 2009 -0700 Merge branch 'signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: hookup sys_rt_tgsigqueueinfo signals: implement sys_rt_tgsigqueueinfo signals: split do_tkill commit 20f3f3ca499d2c211771ba552685398b65d83859 Merge: 769f3e8 41c51c9 Author: Linus Torvalds Date: Wed Jun 10 19:50:03 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_sched_grace_period(): kill the bogus flush_signals() rculist: use list_entry_rcu in places where it's appropriate rculist.h: introduce list_entry_rcu() and list_first_entry_rcu() rcu: Update RCU tracing documentation for __rcu_pending rcu: Add __rcu_pending tracing to hierarchical RCU RCU: make treercu be default commit 73fbad283cfbbcf02939bdbda31fc4a30e729cca Merge: 769f3e8 35f2c2f Author: James Morris Date: Thu Jun 11 11:03:14 2009 +1000 Merge branch 'next' into for-linus commit 955f2d966534803ec32411086a1698170f17f962 Author: Daniel Mack Date: Wed Jun 10 21:32:01 2009 +0200 ALSA: snd_usb_caiaq: set mixername alsamixer and friends want the mixername to be set. Even though the driver does not exports a real mixer device, export the name doesn't harm. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9e350de37ac9607012fcf9c5314a28fbddf8f43c Author: Peter Zijlstra Date: Wed Jun 10 21:34:59 2009 +0200 perf_counter: Accurate period data We currently log hw.sample_period for PERF_SAMPLE_PERIOD, however this is incorrect. When we adjust the period, it will only take effect the next cycle but report it for the current cycle. So when we adjust the period for every cycle, we're always wrong. Solve this by keeping track of the last_period. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit df1a132bf3d3508f863336c80a27806a2ac947e0 Author: Peter Zijlstra Date: Wed Jun 10 21:02:22 2009 +0200 perf_counter: Introduce struct for sample data For easy extension of the sample data, put it in a structure. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ea1900e571d40a3ce60c835c2f21e1fd8c5cb663 Author: Peter Zijlstra Date: Wed Jun 10 21:45:22 2009 +0200 perf_counter tools: Normalize data using per sample period data When we use variable period sampling, add the period to the sample data and use that to normalize the samples. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 66fff22483d8542dfb4d61a28d21277bbde321e8 Author: Peter Zijlstra Date: Wed Jun 10 22:53:37 2009 +0200 perf_counter: Annotate exit ctx recursion Ever since Paul fixed it to unclone the context before taking the ctx->lock this became a false positive, annotate it away. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit fd0fb038d5a308c7faddd1701be5e70aaffec98b Author: Shin Hong Date: Wed Jun 10 20:11:29 2009 -0400 Btrfs: init worker struct fields before kthread-run This patch fixes a bug which may result race condition between btrfs_start_workers() and worker_loop(). btrfs_start_workers() executed in a parent thread writes on workers->worker and worker_loop() in a child thread reads workers->worker. However, there is no synchronization enforcing the order of two operations. This patch makes btrfs_start_workers() fill workers->worker before it starts a child thread with worker_loop() Signed-off-by: Chris Mason commit 769f3e8c384795cc350e2aae27de2a12374d19d4 Merge: c0d2545 0c8b946 Author: Linus Torvalds Date: Wed Jun 10 16:21:16 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: vsprintf: introduce %pf format specifier printk: add support of hh length modifier for printk commit c0d254504fdaeb0878b8415295e365ebb78684f8 Merge: e7241d7 e1b9aa3 Author: Linus Torvalds Date: Wed Jun 10 16:20:30 2009 -0700 Merge branch 'percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: percpu: remove rbtree and use page->index instead percpu: don't put the first chunk in reverse-map rbtree commit e7241d771419b8a8671ebc46a043c324ccb0dcf7 Merge: 3f6280d 04dce7d Author: Linus Torvalds Date: Wed Jun 10 16:19:40 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: spinlock: Add missing __raw_spin_lock_flags() stub for UP mutex: add atomic_dec_and_mutex_lock(), fix locking, rtmutex.c: Documentation cleanup mutex: add atomic_dec_and_mutex_lock() commit 3f6280ddf25fa656d0e17960588e52bee48a7547 Merge: 7506360 92db1e6 Author: Linus Torvalds Date: Wed Jun 10 16:19:14 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: (61 commits) amd-iommu: remove unnecessary "AMD IOMMU: " prefix amd-iommu: detach device explicitly before attaching it to a new domain amd-iommu: remove BUS_NOTIFY_BOUND_DRIVER handling dma-debug: simplify logic in driver_filter() dma-debug: disable/enable irqs only once in device_dma_allocations dma-debug: use pr_* instead of printk(KERN_* ...) dma-debug: code style fixes dma-debug: comment style fixes dma-debug: change hash_bucket_find from first-fit to best-fit x86: enable GART-IOMMU only after setting up protection methods amd_iommu: fix lock imbalance dma-debug: add documentation for the driver filter dma-debug: add dma_debug_driver kernel command line dma-debug: add debugfs file for driver filter dma-debug: add variables and checks for driver filter dma-debug: fix debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device dma-debug: use sg_dma_len accessor dma-debug: use sg_dma_address accessor instead of using dma_address directly amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS ... commit 75063600fd7b27fe447112c27997f100b9e2f99b Merge: be15f9d 2070887 Author: Linus Torvalds Date: Wed Jun 10 16:16:48 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: fix restart in wait_requeue_pi futex: fix restart for early wakeup in futex_wait_requeue_pi() futex: cleanup error exit futex: remove the wait queue futex: add requeue-pi documentation futex: remove FUTEX_REQUEUE_PI (non CMP) futex: fix futex_wait_setup key handling sparc64: extend TI_RESTART_BLOCK space by 8 bytes futex: fixup unlocked requeue pi case futex: add requeue_pi functionality futex: split out futex value validation code futex: distangle futex_requeue() futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags rt_mutex: add proxy lock routines futex: split out fixup owner logic from futex_lock_pi() futex: split out atomic logic from futex_lock_pi() futex: add helper to find the top prio waiter of a futex futex: separate futex_wait_queue_me() logic from futex_wait() commit be15f9d63b97da0065187696962331de6cd9de9e Merge: 595dc54 a789ed5 Author: Linus Torvalds Date: Wed Jun 10 16:16:27 2009 -0700 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits) xen: cache cr0 value to avoid trap'n'emulate for read_cr0 xen/x86-64: clean up warnings about IST-using traps xen/x86-64: fix breakpoints and hardware watchpoints xen: reserve Xen start_info rather than e820 reserving xen: add FIX_TEXT_POKE to fixmap lguest: update lazy mmu changes to match lguest's use of kvm hypercalls xen: honour VCPU availability on boot xen: add "capabilities" file xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet xen/sys/hypervisor: change writable_pt to features xen: add /sys/hypervisor support xen/xenbus: export xenbus_dev_changed xen: use device model for suspending xenbus devices xen: remove suspend_cancel hook xen/dev-evtchn: clean up locking in evtchn xen: export ioctl headers to userspace xen: add /dev/xen/evtchn driver xen: add irq_from_evtchn xen: clean up gate trap/interrupt constants xen: set _PAGE_NX in __supported_pte_mask before pagetable construction ... commit 595dc54a1da91408a52c4b962f3deeb1109aaca0 Merge: 9b29e82 7d96fd4 Author: Linus Torvalds Date: Wed Jun 10 16:15:59 2009 -0700 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: move rdtsc_barrier() into the TSC vread method commit 9b29e8228a5c2a169436a1a90a60b1f88cb35cd1 Merge: bec7068 0b8c3d5 Author: Linus Torvalds Date: Wed Jun 10 16:15:14 2009 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Clear TS in irq_ts_save() when in an atomic section x86: Detect use of extended APIC ID for AMD CPUs x86: memtest: remove 64-bit division x86, UV: Fix macros for multiple coherency domains x86: Fix non-lazy GS handling in sys_vm86() x86: Add quirk for reboot stalls on a Dell Optiplex 360 x86: Fix UV BAU activation descriptor init commit bec706838ec2f9c8c2b99e88a1270d7cba159b06 Merge: bb77629 ee07366 Author: Linus Torvalds Date: Wed Jun 10 16:14:41 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: fix comment in the "glove box" code x86, setup: "glove box" BIOS interrupts in the video code x86, setup: "glove box" BIOS interrupts in the MCA code x86, setup: "glove box" BIOS interrupts in the EDD code x86, setup: "glove box" BIOS interrupts in the APM code x86, setup: "glove box" BIOS interrupts in the core boot code x86, setup: "glove box" BIOS calls -- infrastructure commit bb7762961d3ce745688e9050e914c1d3f980268d Merge: 48c72d1 35d5a9a Author: Linus Torvalds Date: Wed Jun 10 16:13:20 2009 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) x86: fix system without memory on node0 x86, mm: Fix node_possible_map logic mm, x86: remove MEMORY_HOTPLUG_RESERVE related code x86: make sparse mem work in non-NUMA mode x86: process.c, remove useless headers x86: merge process.c a bit x86: use sparse_memory_present_with_active_regions() on UMA x86: unify 64-bit UMA and NUMA paging_init() x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB x86: Sanity check the e820 against the SRAT table using e820 map only x86: clean up and and print out initial max_pfn_mapped x86/pci: remove rounding quirk from e820_setup_gap() x86, e820, pci: reserve extra free space near end of RAM x86: fix typo in address space documentation x86: 46 bit physical address support on 64 bits x86, mm: fault.c, use printk_once() in is_errata93() x86: move per-cpu mmu_gathers to mm/init.c x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c x86: unify noexec handling x86: remove (null) in /sys kernel_page_tables ... commit 48c72d1ab4ec86789a23aed0b0b5f31ac083c0c6 Merge: 5301e0d aeef50b Author: Linus Torvalds Date: Wed Jun 10 16:13:06 2009 -0700 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, microcode: Simplify vfree() use x86: microcode: use smp_call_function_single instead of set_cpus_allowed, cleanup of synchronization logic commit 5301e0de34a29625c06b8eef115c1a9b4c1f72b1 Merge: c44e3ed 4ecf458 Author: Linus Torvalds Date: Wed Jun 10 15:55:04 2009 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86_64: fix incorrect comments x86: unify restore_fpu_checking x86_32: introduce restore_fpu_checking() commit c44e3ed539e4fc17d6bcb5eaecb894a94de4cc5f Merge: 7dc3ca3 5095f59 Author: Linus Torvalds Date: Wed Jun 10 15:51:15 2009 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: cpu_debug: Remove model information to reduce encoding-decoding x86: fixup numa_node information for AMD CPU northbridge functions x86: k8 convert node_to_k8_nb_misc() from a macro to an inline function x86: cacheinfo: complete L2/L3 Cache and TLB associativity field definitions x86/docs: add description for cache_disable sysfs interface x86: cacheinfo: disable L3 ECC scrubbing when L3 cache index is disabled x86: cacheinfo: replace sysfs interface for cache_disable feature x86: cacheinfo: use cached K8 NB_MISC devices instead of scanning for it x86: cacheinfo: correct return value when cache_disable feature is not active x86: cacheinfo: use L3 cache index disable feature only for CPUs that support it commit 7dc3ca39cb1e22eedbf1207ff9ac7bf682fc0f6d Merge: aa98936 a4046f8 Author: Linus Torvalds Date: Wed Jun 10 15:49:36 2009 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, nmi: Use predefined numbers instead of hardcoded one x86: asm/processor.h: remove double declaration x86, mtrr: replace MTRRdefType_MSR with msr-index's MSR_MTRRdefType x86, mtrr: replace MTRRfix4K_C0000_MSR with msr-index's MSR_MTRRfix4K_C0000 x86, mtrr: remove mtrr MSRs double declaration x86, mtrr: replace MTRRfix16K_80000_MSR with msr-index's MSR_MTRRfix16K_80000 x86, mtrr: replace MTRRfix64K_00000_MSR with msr-index's MSR_MTRRfix64K_00000 x86, mtrr: replace MTRRcap_MSR with msr-index's MSR_MTRRcap x86: mce: remove duplicated #include x86: msr-index.h remove duplicate MSR C001_0015 declaration x86: clean up arch/x86/kernel/tsc_sync.c a bit x86: use symbolic name for VM86_SIGNAL when used as vm86 default return x86: added 'ifndef _ASM_X86_IOMAP_H' to iomap.h x86: avoid multiple declaration of kstack_depth_to_print x86: vdso/vma.c declare vdso_enabled and arch_setup_additional_pages before they get used x86: clean up declarations and variables x86: apic/x2apic_cluster.c x86_cpu_to_logical_apicid should be static x86 early quirks: eliminate unused function commit aa98936e4f423dc2706771368598b04870059d14 Merge: 082b63a 0c23590 Author: Linus Torvalds Date: Wed Jun 10 15:49:10 2009 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, 64-bit: ifdef out struct thread_struct::ip x86, 32-bit: ifdef out struct thread_struct::fs x86: clean up alternative.h commit 082b63ae45e7d14e15995dedd782ec7344596fb2 Merge: 99e97b8 50fa610 Author: Linus Torvalds Date: Wed Jun 10 15:48:53 2009 -0700 Merge branch 'sched-docs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-docs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Document memory barriers implied by sleep/wake-up primitives commit 99e97b860e14c64760855198e91d1166697131a7 Merge: 82782ca f04d82b Author: Linus Torvalds Date: Wed Jun 10 15:32:59 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix typo in sched-rt-group.txt file ftrace: fix typo about map of kernel priority in ftrace.txt file. sched: properly define the sched_group::cpumask and sched_domain::span fields sched, timers: cleanup avenrun users sched, timers: move calc_load() to scheduler sched: Don't export sched_mc_power_savings on multi-socket single core system sched: emit thread info flags with stack trace sched: rt: document the risk of small values in the bandwidth settings sched: Replace first_cpu() with cpumask_first() in ILB nomination code sched: remove extra call overhead for schedule() sched: use group_first_cpu() instead of cpumask_first(sched_group_cpus()) wait: don't use __wake_up_common() sched: Nominate a power-efficient ilb in select_nohz_balancer() sched: Nominate idle load balancer from a semi-idle package. sched: remove redundant hierarchy walk in check_preempt_wakeup commit 511b01bdf64ad8a38414096eab283c7784aebfc4 Author: Ingo Molnar Date: Thu Jun 11 00:32:00 2009 +0200 Revert "x86, bts: reenable ptrace branch trace support" This reverts commit 7e0bfad24d85de7cf2202a7b0ce51de11a077b21. A late objection to the ABI has arrived: http://lkml.org/lkml/2009/6/10/253 Keep the ABI disabled out of caution, to not create premature user-space expectations. While the hw-branch-tracing variant uses and tests the BTS code. Cc: Peter Zijlstra Cc: Markus Metzger Cc: Oleg Nesterov Signed-off-by: Ingo Molnar commit 82782ca77d1bfb32b0334cce40a25b91bd8ec016 Merge: f0d5e12 6799687 Author: Linus Torvalds Date: Wed Jun 10 15:30:41 2009 -0700 Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits) x86, boot: add new generated files to the appropriate .gitignore files x86, boot: correct the calculation of ZO_INIT_SIZE x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN x86, boot: correct sanity checks in boot/compressed/misc.c x86: add extension fields for bootloader type and version x86, defconfig: update kernel position parameters x86, defconfig: update to current, no material changes x86: make CONFIG_RELOCATABLE the default x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB x86: document new bzImage fields x86, boot: make kernel_alignment adjustable; new bzImage fields x86, boot: remove dead code from boot/compressed/head_*.S x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits x86, boot: make symbols from the main vmlinux available x86, boot: determine compressed code offset at compile time x86, boot: use appropriate rep string for move and clear x86, boot: zero EFLAGS on 32 bits x86, boot: set up the decompression stack as early as possible x86, boot: straighten out ranges to copy/zero in compressed/head*.S x86, boot: stylistic cleanups for boot/compressed/head_64.S ... Fixed trivial conflict in arch/x86/configs/x86_64_defconfig manually commit f0d5e12bd42b7173ebbbf59279c867605f859814 Merge: 0fea615 103428e Author: Linus Torvalds Date: Wed Jun 10 15:25:41 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: (76 commits) x86, apic: Fix dummy apic read operation together with broken MP handling x86, apic: Restore irqs on fail paths x86: Print real IOAPIC version for x86-64 x86: enable_update_mptable should be a macro sparseirq: Allow early irq_desc allocation x86, io-apic: Don't mark pin_programmed early x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled x86, irq: update_mptable needs pci_routeirq x86: don't call read_apic_id if !cpu_has_apic x86, apic: introduce io_apic_irq_attr x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix x86: read apic ID in the !acpi_lapic case x86: apic: Fixmap apic address even if apic disabled x86: display extended apic registers with print_local_APIC and cpu_debug code x86: read apic ID in the !acpi_lapic case x86: clean up and fix setup_clear/force_cpu_cap handling x86: apic: Check rev 3 fadt correctly for physical_apic bit x86/pci: update pirq_enable_irq() to setup io apic routing x86/acpi: move setup io apic routing out of CONFIG_ACPI scope x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector() ... commit 0fea615e526b4b7eff0363ee02d5753e5f924089 Author: Harald Welte Date: Mon Jun 8 18:29:36 2009 +0800 CPUFREQ: Mark e_powersaver driver as EXPERIMENTAL and DANGEROUS The e_powersaver driver for VIA's C7 CPU's needs to be marked as DANGEROUS as it configures the CPU to power states that are out of specification. According to Centaur, all systems with C7 and Nano CPU's support the ACPI p-state method. Thus, the acpi-cpufreq driver should be used instead. Signed-off-by: Harald Welte Signed-off-by: Linus Torvalds commit 0de51088e6a82bc8413d3ca9e28bbca2788b5b53 Author: Harald Welte Date: Mon Jun 8 18:27:54 2009 +0800 CPUFREQ: Enable acpi-cpufreq driver for VIA/Centaur CPUs The VIA/Centaur C7, C7-M and Nano CPU's all support ACPI based cpu p-states using a MSR interface. The Linux driver just never made use of it, since in addition to the check for the EST flag it also checked if the vendor is Intel. Signed-off-by: Harald Welte [ Removed the vendor checks entirely - Linus ] Signed-off-by: Linus Torvalds commit 4e73e0eb633f8a1b5cbf20e7f42c6dbfec1d1ca7 Merge: 4156e73 07a2039 Author: Felix Blyakher Date: Wed Jun 10 17:07:47 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 0aacfe1d239952a87c17e38e12df94c4ea979839 Author: Russell King Date: Mon Jun 1 18:17:53 2009 +0100 [ARM] Make ARM_VIC_NR depend on ARM_VIC Signed-off-by: Russell King commit 547c32aeb5a24178ef20488ae0508efcc32ae8e4 Merge: b0efb42 99ae995 Author: Russell King Date: Wed Jun 10 22:40:55 2009 +0100 Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit b0efb42478c81ed0ed9aa0dc444db200c32624f0 Merge: bd78512 4070243 Author: Russell King Date: Wed Jun 10 22:40:04 2009 +0100 Merge branch 'ep93xx' into devel commit bd78512e5c0d202847ee3dba2fc3740676e196c7 Merge: b43d65f 6d36110 Author: Russell King Date: Wed Jun 10 22:39:58 2009 +0100 Merge branch 'at91' into devel commit b43d65f7e818485664037a46367cfb15af05bd8c Author: Linus Walleij Date: Tue Jun 9 08:11:42 2009 +0100 [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 This adds a driver for the ARM PL022 PrimeCell SSP/SPI driver found in the U300 platforms as well as in some ARM reference hardware, and in a modified version on the Nomadik board. Reviewed-by: Alessandro Rubini Reviewed-by: Russell King Reviewed-by: Baruch Siach Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 1ee73784b656386a8c4c261282716c3b9019aea0 Merge: 7698fde b549561 Author: Russell King Date: Wed Jun 10 22:38:27 2009 +0100 Merge branch 'for_rmk' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel commit 5e50b9ef975219304cc91d601530994861585bfe Author: Ondrej Zary Date: Wed Jun 10 12:57:09 2009 -0700 floppy: fix hibernation Based on Ingo Molnar's patch from 2006, this makes the floppy work after resume from hibernation, at least on my machine. This fix resets the floppy controller on resume. It was experimentally determined to bring the controller back to life - we don't really know why it works. floppy_init() does the same thing at boot/modprobe time. Signed-off-by: Ondrej Zary Cc: "Rafael J. Wysocki" Cc: Ingo Molnar Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 1adbee50fd6fce5af4feb34d2db93cfe4d2066a4 Author: Robert P. J. Day Date: Wed Jun 10 12:57:08 2009 -0700 ramdisk: remove long-deprecated "ramdisk=" boot-time parameter The "ramdisk" parameter was removed from the defunct rd.c file quite some time ago, in favour of the more specific "ramdisk_size" parameter so, for consistency, the same should be done here. Signed-off-by: Robert P. J. Day Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 0e0c62123b517d2b3c26922342c0cc5bb63a93f8 Author: Michal Simek Date: Wed Jun 10 12:57:07 2009 -0700 fs/bio.c: add missing __user annotation As reported by sparse: fs/bio.c:720:13: warning: incorrect type in assignment (different address spaces) fs/bio.c:720:13: expected char *iov_addr fs/bio.c:720:13: got void [noderef] * fs/bio.c:724:36: warning: incorrect type in argument 2 (different address spaces) fs/bio.c:724:36: expected void const [noderef] *from fs/bio.c:724:36: got char *iov_addr Signed-off-by: Michal Simek Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit d9c7d394a8ebacb60097b192939ae9f15235225e Author: Nikanth Karthikesan Date: Wed Jun 10 12:57:06 2009 -0700 block: prevent possible io_context->refcount overflow Currently io_context has an atomic_t(32-bit) as refcount. In the case of cfq, for each device against whcih a task does I/O, a reference to the io_context would be taken. And when there are multiple process sharing io_contexts(CLONE_IO) would also have a reference to the same io_context. Theoretically the possible maximum number of processes sharing the same io_context + the number of disks/cfq_data referring to the same io_context can overflow the 32-bit counter on a very high-end machine. Even though it is an improbable case, let us make it atomic_long_t. Signed-off-by: Nikanth Karthikesan Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 4eedeb75e7f15ffdb12d1ad559b565e7505bdbaf Author: Hisashi Hifumi Date: Wed Jun 10 15:28:55 2009 -0400 Btrfs: pin buffers during write_dev_supers write_dev_supers is called in sequence. First is it called with wait == 0, which starts IO on all of the super blocks for a given device. Then it is called with wait == 1 to make sure they all reach the disk. It doesn't currently pin the buffers between the two calls, and it also assumes the buffers won't go away between the two calls, leading to an oops if the VM manages to free the buffers in the middle of the sync. This fixes that assumption and updates the code to return an error if things are not up to date when the wait == 1 run is done. Signed-off-by: Hisashi Hifumi Signed-off-by: Chris Mason commit e5e9a5206a171b2c467e494aebcdcf70c47289bc Author: Chris Mason Date: Wed Jun 10 15:17:02 2009 -0400 Btrfs: avoid races between super writeout and device list updates On multi-device filesystems, btrfs writes supers to all of the devices before considering a sync complete. There wasn't any additional locking between super writeout and the device list management code because device management was done inside a transaction and super writeout only happened with no transation writers running. With the btrfs fsync log and other async transaction updates, this has been racey for some time. This adds a mutex to protect the device list. The existing volume mutex could not be reused due to transaction lock ordering requirements. Signed-off-by: Chris Mason commit 61b6bc525a34931bb73e4c95bfe009cd9572a288 Author: Jeff Layton Date: Wed Jun 10 10:04:58 2009 -0400 cifs: remove never-used in6_addr option This option was never used to my knowledge. Remove it before someone does... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6ff9a64d2aaa6eae396adc95e9c91c0cbfa6dbe4 Author: Steven Rostedt Date: Wed Jun 10 14:28:34 2009 -0400 tracing: do not translate event helper macros in print format By moving the macro that creates the print format code above the defining of the event macro helpers (__get_str, __print_symbolic, and __get_dynamic_array), we get a little cleaner print format. Instead of: (char *)((void *)REC + REC->__data_loc_name) we get: __get_str(name) Instead of: ({ static const struct trace_print_flags symbols[] = { { HI_SOFTIRQ, "HI" }, { we get: __print_symbolic(REC->vec, { HI_SOFTIRQ, "HI" }, { Signed-off-by: Steven Rostedt commit a41f20716975910d9beb90b7efc61107901492b8 Author: Aneesh Kumar K.V Date: Wed Jun 10 14:22:55 2009 -0400 ext4: Avoid corrupting the uninitialized bit in the extent during truncate The unitialized bit was not properly getting preserved in in an extent which is partially truncated because the it was geting set to the value of the first extent to be removed or truncated as part of the truncate operation, and if there are multiple extents are getting removed or modified as part of the truncate operation, it is only the last extent which will might be partially truncated, and its uninitalized bit is not necessarily the same as the first extent to be truncated. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit a5c0f88678cd2fb1f649f7d366d756f2b2f97f0c Author: Simos Xenitellis Date: Wed Jun 10 16:33:31 2009 +0100 ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) A quirk is required for 8086:284b (rev 03) [Subsystem: 161f:2073]. The following has been tested with Alsa 1.0.20 (git master). Background details can be found at https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4561 http://forum.ubuntu-gr.org/viewtopic.php?f=38&t=5290 Tested-by: Theodora Iliopoulou Signed-off-by: Simos Xenitellis Signed-off-by: Takashi Iwai commit 1f3fff7bda95b75a6be5a02c2a6902573d8c18e6 Author: Kay Sievers Date: Wed Jun 10 19:50:33 2009 +0200 ALSA: use card device as parent for jack input-devices This moves the jack devices from the PCI device into the ALSA card device, which makes it easier for userspace to find all devices belonging to a specific card while granting access to logged-in users. Jack input devices from sound cards can now simply be matched with udev by doing: SUBSYSTEM="input", SUBSYSTEMS="sound", ... ls -l /sys/devices/pci0000:00/0000:00:1b.0/sound/card0 controlC0 device -> ../../../0000:00:1b.0 id input10 input11 input8 input9 number pcmC0D0c pcmC0D0p pcmC0D1p power subsystem -> ../../../../../class/sound uevent Cc: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Takashi Iwai commit 2f0accc13520b2644b85f80aedce10d10d88b0ca Author: Johannes Berg Date: Wed Jun 10 16:50:29 2009 +0200 cfg80211: fix rfkill locking problem rfkill currently requires a global lock within the rfkill_register() function, and holds that lock over calls to the set_block() methods. This means that we cannot hold a lock around rfkill_register() that we also require in set_block(), directly or indirectly. Fix cfg80211 to register rfkill outside the block locked by its global lock. Much of what cfg80211 does in the locked block doesn't need to be locked anyway. Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4e751843d406a4d0471c207872b9e24957de8357 Author: Johannes Berg Date: Wed Jun 10 15:16:52 2009 +0200 mac80211: disable PS while probing AP When associated, but probing the AP because we detected beacon loss, we need to disable powersave to be able to receive the probe response. Change the code to do that by checking whether we're trying to probe when determining the possibility of going into PS, and recalculate the PS ability at the necessary spots. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43f7853180ed522944b3b1d4979cdb9f2b103ca3 Author: Luis R. Rodriguez Date: Wed Jun 10 15:16:15 2009 +0200 mac80211: disable moving between PS modes during scan We don't want to trigger moving between PS mode during scan, because then we will sometimes end up sending nullfunc frames during scan. We're supposed to only send one prior to scan and after scan. This fixes an oops which occured due to an assert in ath9k: http://marc.info/?l=linux-wireless&m=124277331319024 The assert was happening because the rate control algorithm figures it should find at least one valid dual stream or single stream rate. Since we allow mac80211 to send nullfunc frames during scan and dynamic PS was enabled at times we ended up trying to send nullfunc frames for the target sta on the wrong band for which we have no valid rate to communicate with it. This breaks the assumptions in rate control. We determine we also need to disable moving between PS modes when not associated so lets just add that now as well, and we should not have a ps_sdata when that interface cannot actually go into PS because it's not associated. Signed-off-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a6ae0716e5c3b5f9dbe5ed8f473a6c7b89692365 Author: Bob Copeland Date: Tue Jun 9 23:43:11 2009 -0400 ath5k: minor rfkill cleanup Always enable rfkill since the ifdefs in the code is not really worth the Kconfig option. Also fix a few code style things, and remove the usage of the ah_gpio[] array so we can remove it later. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 27004b10ce56985d8a010ce966af179f1b34193f Author: Johannes Berg Date: Tue Jun 9 19:48:25 2009 +0200 mac80211: clean up return value of __ieee80211_parse_tx_radiotap The return type has more than two values, but it can validly only ever return TX_DROP and TX_CONTINUE, so use a bool instead of ieee80211_tx_result. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0bffe40f21e2ddc5215b1faec4e8dbbc215e7d4d Author: Johannes Berg Date: Tue Jun 9 16:18:32 2009 +0200 mac80211: don't use master netdev name Always use the wiphy name instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5eae6592e9bdc989151171828ee97e0ad9e1b1ac Author: Vasanthakumar Thiagarajan Date: Tue Jun 9 15:28:21 2009 +0530 ath9k: Fix tx stuck when connected to aggr disabled HT AP This patch along with my previous patch in mac80211 "Fix the way ADDBA count..", fixes hang in tx when connected to an HT AP which rejects/times out on addba req. AGGR_ADDBA_PROGRESS should be cleared in aggr state when addba negotiation is terminated due to either addba response is timed out or addba is denied by the AP. With out clearing this bit, all frames are queued onto s/w queue for getting tx'd as aggr and will never be scheduled onto hw queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 736708bd04b7a8941fddda32211982cab5d14431 Author: Vasanthakumar Thiagarajan Date: Tue Jun 9 14:11:46 2009 +0530 mac80211: Fix the way ADDBA request count being modified addba_req_num[tid] is supposed to have the count of consecutive addba request attempts on 'tid' which failed. This count is checked against a retry threshold (3 times) before starting the addba negotiation. This patch fixes the way this addba count is incremented/reset and thereby avoids indefinite addba attempts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 558f6d3229ddb9f11ca4ffee0439046c283882ff Author: Luis R. Rodriguez Date: Mon Jun 8 18:54:37 2009 -0700 cfg80211: fix for duplicate response for driver reg request As Pavel puts userspace can be stupid and should not cause kernel crashes. In this case Pavel was able to find a crash here but unable to reproduce. Either way lets deal with this. This should fix: ------------[ cut here ]------------ kernel BUG at /home/proski/src/linux-2.6/net/wireless/reg.c:2132! Oops: Exception in kernel mode, sig: 5 [#1] PowerMac Modules linked in: ath5k ath [last unloaded: scsi_wait_scan] NIP: c02f3eac LR: c02f3d08 CTR: 00000000 REGS: ef107aa0 TRAP: 0700 Not tainted (2.6.30-rc8-wl) MSR: 00029032 CR: 88002442 XER: 20000000 TASK = ef84acb0[834] 'crda' THREAD: ef106000 GPR00: ef953840 ef107b50 ef84acb0 ef1380bc 00000006 c035a5c8 ef107b90 c035a5c8 GPR08: 00080005 efb68980 c0445628 ef130004 28002422 10019ce0 10012d3c 00000001 GPR16: 1070b2ac 00000005 48023558 1070b380 4802304c 00000000 ef107ddc c035a5c8 GPR24: ef107b78 c0443350 ef8bcb00 00000005 ef138080 c04a6a70 c04a0000 ef8bcb00 NIP [c02f3eac] set_regdom+0x4c4/0x4ec LR [c02f3d08] set_regdom+0x320/0x4ec Call Trace: [ef107b50] [c02f3d08] set_regdom+0x320/0x4ec (unreliable) [ef107b70] [c02f9d10] nl80211_set_reg+0x140/0x2d0 [ef107bc0] [c02aa2b8] genl_rcv_msg+0x204/0x228 [ef107c10] [c02a97cc] netlink_rcv_skb+0xe8/0x10c [ef107c30] [c02aa094] genl_rcv+0x3c/0x5c [ef107c40] [c02a9050] netlink_unicast+0x308/0x36c [ef107c80] [c02a92bc] netlink_sendmsg+0x208/0x2f0 [ef107cd0] [c0282048] sock_sendmsg+0xac/0xe4 [ef107db0] [c02822b4] sys_sendmsg+0x234/0x2d8 [ef107f00] [c0283a88] sys_socketcall+0x108/0x258 [ef107f40] [c0012790] ret_from_syscall+0x0/0x38 Signed-off-by: John W. Linville commit 403a3a136122457165321e90b7569a321cc9ac12 Author: Michael Buesch Date: Mon Jun 8 21:04:57 2009 +0200 b43: Add fw capabilities Add automagic feature flags, so the firmware can tell the driver about supported features and the driver can switch features on/off as needed. Signed-off-by: Michael Buesch Signed-off-by: Stefan Lippers-Hollmann Tested-by: Stefan Lippers-Hollmann Signed-off-by: John W. Linville commit 908209c160da8ecb68052111972b7a21310eac3f Author: Alan Jenkins Date: Mon Jun 8 13:12:23 2009 +0100 rfkill: don't impose global states on resume (just restore the previous states) Once rfkill-input is disabled, the "global" states will only be used as default initial states. Since the states will always be the same after resume, we shouldn't generate events on resume. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit 869fb3a46cd18235e6f176328a2d8085ffe2c704 Author: Alan Jenkins Date: Mon Jun 8 11:31:11 2009 +0100 sony-laptop: no need to unblock rfkill on load The re-written rfkill core ensures rfkill devices are initialized to the system default state. The core calls set_block after registration so the driver shouldn't need to. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit b3fa1329eaf2a7b97124dacf5b663fd51346ac19 Author: Alan Jenkins Date: Mon Jun 8 13:27:27 2009 +0100 rfkill: remove set_global_sw_state rfkill_set_global_sw_state() (previously rfkill_set_default()) will no longer be exported by the rewritten rfkill core. Instead, platform drivers which can provide persistent soft-rfkill state across power-down/reboot should indicate their initial state by calling rfkill_set_sw_state() before registration. Otherwise, they will be initialized to a default value during registration by a set_block call. We remove existing calls to rfkill_set_sw_state() which happen before registration, since these had no effect in the old model. If these drivers do have persistent state, the calls can be put back (subject to testing :-). This affects hp-wmi and acer-wmi. Drivers with persistent state will affect the global state only if rfkill-input is enabled. This is required, otherwise booting with wireless soft-blocked and pressing the wireless-toggle key once would have no apparent effect. This special case will be removed in future along with rfkill-input, in favour of a more flexible userspace daemon (see Documentation/feature-removal-schedule.txt). Now rfkill_global_states[n].def is only used to preserve global states over EPO, it is renamed to ".sav". Signed-off-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Signed-off-by: John W. Linville commit 8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1 Author: Johannes Berg Date: Sun Jun 7 21:58:37 2009 +0200 mac80211: do not pass PS frames out of mac80211 again In order to handle powersave frames properly we had needed to pass these out to the device queues again, and introduce the skb->requeue bit. This, however, also has unnecessary overhead by needing to 'clean up' already tried frames, and this clean-up code is also buggy when software encryption is used. Instead of sending the frames via the master netdev queue again, simply put them into the pending queue. This also fixes a problem where frames for that particular station could be reordered when some were still on the software queues and older ones are re-injected into the software queue after them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fc240e3fc5791c572402b0857948da7b1e68d77f Author: Johannes Berg Date: Sun Jun 7 21:57:08 2009 +0200 sony: fix rfkill code During the rfkill conversion I added code to call sony_nc_rfkill_set with the wrong argument, causing a segfault Reinette reported. The compiler could not catch that because the argument is, and needs to be, void *. Signed-off-by: Johannes Berg Reported-by: Reinette Chatre Signed-off-by: John W. Linville commit b91d0e364077fad401454699143ad6a78902c20a Author: Johannes Berg Date: Mon Jun 8 08:14:28 2009 +0200 rfkill: remove input Kconfig Now that we added the ioctl, there's no need to ask the user to configure this. We will keep it enabled for now, and eventually swap the default to n. Also let embedded users select it only if they need it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f41f3f373dd72344c65d801d6381fe83ef3a2c54 Author: Johannes Berg Date: Sun Jun 7 12:30:34 2009 -0500 b43/legacy: port to cfg80211 rfkill This ports the b43/legacy rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. Signed-off-by: Johannes Berg Signed-off-by: Larry Finger Cc: Michael Buesch Signed-off-by: John W. Linville commit e6a3b61681dcb963e6465ffbc4330b44824f35e3 Author: Tobias Doerffel Date: Tue Jun 9 17:33:27 2009 +0200 ath5k: added cfg80211 based rfkill support This patch introduces initial rfkill support for the ath5k driver based on rfkill support in the cfg80211 framework. All rfkill related code is separated into newly created rfkill.c. Changes to existing code are minimal: * added a new data structure ath5k_rfkill to the ath5k_softc structure * inserted calls to HW rfkill init/deinit routines * ath5k_intr() has been extended to handle AR5K_INT_GPIO interrupts Signed-off-by: John W. Linville commit 207ee1621722876bb79828689582bf77fd1be200 Author: Johannes Berg Date: Sun Jun 7 12:26:52 2009 +0200 rfkill: print events when input handler is disabled/enabled It is useful for debugging when we know if something disabled the in-kernel rfkill input handler. Signed-off-by: Johannes Berg Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 9b9c5aaeedfda256ed77094303e2a7242c3290da Author: Christian Lamparter Date: Sat Jun 6 05:07:23 2009 +0200 ar9170: xmit code revamp This patch is a back-port from aggregation testing code. In the past, we didn't limit the amount of active tx urbs. However, ar9170 only has a limited buffer reserved for pending data frames. This wasn't much of a problem with the slower 802.11b/g. We simply stopped the full queue and moved on to something different in the mean time. But - as you guessed it - this simple approach stands in way for a decent aggregation implementation. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2543a0c4c0fde46f9f206cec1e1cf951a2a63a66 Author: Johannes Berg Date: Fri Jun 5 11:47:43 2009 +0200 ar9170: interpret firmware debug commands This adds new commands that the original firmware will not send but we can use them to debug firmware. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dacb6f1d8fa5200efc4e609fe63a750b960993b6 Author: matthieu castet Date: Thu Jun 4 22:16:18 2009 +0200 mac80211 : fix unaligned rx skb mac80211 is checking is the skb is aligned on 32 bit boundary. But it is checking against ethernet header, whereas Linux expect IP header aligned. And ethernet ether size is 6*2+2=14, so aligning ethernet header make IP header unaligned. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit b52a033c2c501a8015df3727a4bd73389ccb1641 Author: Matthieu CASTET Date: Thu Jun 4 23:18:33 2009 +0200 b43: Fix possible unaligned u32 access Fix possible unaligned u32 access in b43_generate_plcp_hdr(). Unaligned data is read/write with a u32 pointer instead of using the packed structure. Some versions of gcc ignore the "packed" attribute, if the structure element is accessed through a local pointer. Signed-off-by: Matthieu CASTET Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5ee58d7e6ad019675b4090582aec4fa1180d8703 Author: Bob Copeland Date: Fri Jun 5 08:21:50 2009 -0400 mac80211: fix minstrel single-rate memory corruption The minstrel rate controller periodically looks up rate indexes in a sampling table. When accessing a specific row and column, minstrel correctly does a bounds check which, on the surface, appears to handle the case where mi->n_rates < 2. However, mi->sample_idx is actually defined as an unsigned, so the right hand side is taken to be a huge positive number when negative, and the check will always fail. Consequently, the RC will overrun the array and cause random memory corruption when communicating with a peer that has only a single rate. The max value of mi->sample_idx is around 25 so casting to int should have no ill effects. Without the change, uptime is a few minutes under load with an AP that has a single hard-coded rate, and both the AP and STA could potentially crash. With the change, both lasted 12 hours with a steady load. Thanks to Ognjen Maric for providing the single-rate clue so I could reproduce this. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=12490 on the regression list (also http://bugzilla.kernel.org/show_bug.cgi?id=13000). Cc: stable@kernel.org Reported-by: Sergey S. Kostyliov Reported-by: Ognjen Maric Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4d1d49858c0a5a4fb1be4bc7972754cd640245ba Author: Sebastian Andrzej Siewior Date: Thu Jun 4 21:57:03 2009 +0200 net/libertas: remove GPIO-CS handling in SPI interface code This removes the dependency on GPIO framework and lets the SPI host driver handle the chip select. The SPI host driver is required to keep the CS active for the entire message unless cs_change says otherwise. This patch collects the two/three single SPI transfers into a message. Also the delay in read path in case use_dummy_writes are not used is moved into the SPI host driver. Tested-by: Mike Rapoport Tested-by: Andrey Yurovsky Signed-off-by: Sebastian Andrzej Siewior Acked-by: Dan Williams Signed-off-by: John W. Linville commit 582241a08409c89b086774c60b55c1a1706a7e5d Author: Jussi Kivilinna Date: Thu Jun 4 20:13:25 2009 +0300 rndis_wlan: cleanup: rename all rndis_wext* objects to rndis_wlan* Driver used to be named rndis_wext before inclusion to upstream. Since rndis_wlan is being converted to cfg80211, use of rndis_wext* names can be confusing. So rename all rndis_wext to rndis_wlan (as should have been when driver was renamed). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit aa18294a289548f45ea6a784f008295ccddf6b14 Author: Jussi Kivilinna Date: Thu Jun 4 20:13:19 2009 +0300 rndis_wlan: cleanup: capitalize enum labels Capitalize enum labels as told in Documents/CodingStyle. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a60e77e5a41330334fd0ca428f18919d1ea6ed62 Author: Johannes Berg Date: Thu Jun 4 18:26:06 2009 +0200 iwlwifi: port to cfg80211 rfkill This ports the iwlwifi rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. The soft- rfkill is completely removed since that is now handled by setting the interfaces down. Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit bc5c6c043d8381676339fb3da59cc4cc5921d368 Author: Mike Frysinger Date: Wed Jun 10 04:48:41 2009 -0400 ftrace/documentation: fix typo in function grapher name The function graph tracer is called just "function_graph" (no trailing "_tracer" needed). Signed-off-by: Mike Frysinger LKML-Reference: <1244623722-6325-1-git-send-email-vapier@gentoo.org> Signed-off-by: Steven Rostedt commit 58f7f68f228c3aba2ba4468d92e2cec35724ba2e Author: Jeff Layton Date: Wed Jun 10 09:57:55 2009 -0400 cifs: add addr= mount option alias for ip= When you look in /proc/mounts, the address of the server gets displayed as "addr=". That's really a better option to use anyway since it's more generic. What if we eventually want to support non-IP transports? It also makes CIFS option consistent with the NFS option of the same name. Begin the migration to that option name by adding an alias for ip= called addr=. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7df336ec1266dccbb253bac52c529d3dcc7c22d0 Author: Al Viro Date: Wed Jun 10 11:36:43 2009 -0400 Fix btrfs when ACLs are configured out ... otherwise generic_permission() will allow *anything* for all files you don't own and that have some group permissions. Signed-off-by: Al Viro Signed-off-by: Chris Mason commit 524724ed1f224875a117be593540591ed050c73d Author: Hisashi Hifumi Date: Wed Jun 10 11:13:17 2009 -0400 Btrfs: fdatasync should skip metadata writeout In btrfs, fdatasync and fsync are identical, but fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results: -2.6.30-rc8 Test execution summary: total time: 1980.6540s total number of events: 10001 total time taken by event execution: 1192.9804 per-request statistics: min: 0.0000s avg: 0.1193s max: 15.3720s approx. 95 percentile: 0.7257s Threads fairness: events (avg/stddev): 625.0625/151.32 execution time (avg/stddev): 74.5613/9.46 -2.6.30-rc8-patched Test execution summary: total time: 1695.9118s total number of events: 10000 total time taken by event execution: 871.3214 per-request statistics: min: 0.0000s avg: 0.0871s max: 10.4644s approx. 95 percentile: 0.4787s Threads fairness: events (avg/stddev): 625.0000/131.86 execution time (avg/stddev): 54.4576/8.98 Signed-off-by: Hisashi Hifumi Signed-off-by: Chris Mason commit 163e783e6a8b1e8bcb4c9084d438091386b589df Author: David Woodhouse Date: Sun Apr 19 13:02:41 2009 +0100 Btrfs: remove crc32c.h and use libcrc32c directly. There's no need to preserve this abstraction; it used to let us use hardware crc32c support directly, but libcrc32c is already doing that for us through the crypto API -- so we're already using the Intel crc32c acceleration where appropriate. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 6cbff00f4632c8060b06bfc9585805217f11e12e Author: Christoph Hellwig Date: Fri Apr 17 10:37:41 2009 +0200 Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION Add support for the standard attributes set via chattr and read via lsattr. Currently we store the attributes in the flags value in the btrfs inode, but I wonder whether we should split it into two so that we don't have to keep converting between the two formats. Remove the btrfs_clear_flag/btrfs_set_flag/btrfs_test_flag macros as they were confusing the existing code and got in the way of the new additions. Also add the FS_IOC_GETVERSION ioctl for getting i_generation as it's trivial. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit c289811cc096c57ff35550ee8132793a4f9b5b59 Author: Chris Mason Date: Wed Jun 10 09:51:32 2009 -0400 Btrfs: autodetect SSD devices During mount, btrfs will check the queue nonrot flag for all the devices found in the FS. If they are all non-rotating, SSD mode is enabled by default. If the FS was mounted with -o nossd, the non-rotating flag is ignored. Signed-off-by: Chris Mason commit 451d7585a8bb1b9bec0d676ce3dece1923164e55 Author: Chris Mason Date: Tue Jun 9 20:28:34 2009 -0400 Btrfs: add mount -o ssd_spread to spread allocations out Some SSDs perform best when reusing block numbers often, while others perform much better when clustering strictly allocates big chunks of unused space. The default mount -o ssd will find rough groupings of blocks where there are a bunch of free blocks that might have some allocated blocks mixed in. mount -o ssd_spread will make sure there are no allocated blocks mixed in. It should perform better on lower end SSDs. Signed-off-by: Chris Mason commit c604480171c510c1beeb81b82418e5bc4de8f1ae Author: Chris Mason Date: Tue Jun 9 18:35:15 2009 -0400 Btrfs: avoid allocation clusters that are too spread out In SSD mode for data, and all the time for metadata the allocator will try to find a cluster of nearby blocks for allocations. This commit adds extra checks to make sure that each free block in the cluster is close to the last one. Signed-off-by: Chris Mason commit 3b30c22f64a6bb297719c60e494af1d26563f584 Author: Chris Mason Date: Tue Jun 9 16:42:22 2009 -0400 Btrfs: Add mount -o nossd This allows you to turn off the ssd mode via remount. Signed-off-by: Chris Mason commit d644d8a1e30b88a93bcfb63cada2ae628462ddba Author: Chris Mason Date: Tue Jun 9 15:59:22 2009 -0400 Btrfs: avoid IO stalls behind congested devices in a multi-device FS The btrfs IO submission threads try to service a bunch of devices with a small number of threads. They do a congestion check to try and avoid waiting on requests for a busy device. The checks make sure we've sent a few requests down to a given device just so that we aren't bouncing between busy devices without actually sending down any IO. The counter used to decide if we can switch to the next device is somewhat overloaded. It is also being used to decide if we've done a good batch of requests between the WRITE_SYNC or regular priority lists. It may get reset to zero often, leaving us hammering on a busy device instead of moving on to another disk. This commit adds a new counter for the number of bios sent while servicing a device. It doesn't get reset or fiddled with. On multi-device filesystems, this fixes IO stalls in streaming write workloads. Signed-off-by: Chris Mason commit d84275c938e1a5e2dc5b89eb9b878e0ddb2c55e0 Author: Chris Mason Date: Tue Jun 9 15:39:08 2009 -0400 Btrfs: don't allow WRITE_SYNC bios to starve out regular writes Btrfs uses dedicated threads to submit bios when checksumming is on, which allows us to make sure the threads dedicated to checksumming don't get stuck waiting for requests. For each btrfs device, there are two lists of bios. One list is for WRITE_SYNC bios and the other is for regular priority bios. The IO submission threads used to process all of the WRITE_SYNC bios first and then switch to the regular bios. This commit makes sure we don't completely starve the regular bios by rotating between the two lists. WRITE_SYNC bios are still favored 2:1 over the regular bios, and this tries to run in batches to avoid seeking. Benchmarking shows this eliminates stalls during streaming buffered writes on both multi-device and single device filesystems. If the regular bios starve, the system can end up with a large amount of ram pinned down in writeback pages. If we are a little more fair between the two classes, we're able to keep throughput up and make progress on the bulk of our dirty ram. Signed-off-by: Chris Mason commit 585ad2c3797dcaa643aeba75b9f072778adf3490 Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: fix metadata dirty throttling limits Once a metadata block has been written, it must be recowed, so the btrfs dirty balancing call has a check to make sure a fair amount of metadata was actually dirty before it started writing it back to disk. A previous commit had changed the dirty tracking for metadata without updating the btrfs dirty balancing checks. This commit switches it to use the correct counter. Signed-off-by: Chris Mason commit 2c943de6ad795a174dcc424c293bb77f15ae3b8c Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: reduce mount -o ssd CPU usage The block allocator in SSD mode will try to find groups of free blocks that are close together. This commit makes it loop less on a given group size before bumping it. The end result is that we are less likely to fill small holes in the available free space, but we don't waste as much CPU building the large cluster used by ssd mode. Signed-off-by: Chris Mason commit cfbb9308463f6dad1334884db046ccf0f1a77918 Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: balance btree more often With the new back reference code, the cost of a balance has gone down in terms of the number of back reference updates done. This commit makes us more aggressively balance leaves and nodes as they become less full. Signed-off-by: Chris Mason commit b36124210248706186a02093427bdff4b3f548e8 Author: Chris Mason Date: Wed May 13 19:12:15 2009 -0400 Btrfs: stop avoiding balancing at the end of the transaction. When the delayed reference code was added, some checks were added to avoid extra balancing while the delayed references were being flushed. This made for less efficient btrees, but it reduced the chances of loops where no forward progress was made because the balances made more delayed ref updates. With the new dead root removal code and the mixed back references, the extent allocation tree is no longer using precise back refs, and the delayed reference updates don't carry the risk of looping forever anymore. So, the balance avoidance is no longer required. Signed-off-by: Chris Mason commit 5d4f98a28c7d334091c1b7744f48a1acdd2a4ae0 Author: Yan Zheng Date: Wed Jun 10 10:45:14 2009 -0400 Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) This commit introduces a new kind of back reference for btrfs metadata. Once a filesystem has been mounted with this commit, IT WILL NO LONGER BE MOUNTABLE BY OLDER KERNELS. When a tree block in subvolume tree is cow'd, the reference counts of all extents it points to are increased by one. At transaction commit time, the old root of the subvolume is recorded in a "dead root" data structure, and the btree it points to is later walked, dropping reference counts and freeing any blocks where the reference count goes to 0. The increments done during cow and decrements done after commit cancel out, and the walk is a very expensive way to go about freeing the blocks that are no longer referenced by the new btree root. This commit reduces the transaction overhead by avoiding the need for dead root records. When a non-shared tree block is cow'd, we free the old block at once, and the new block inherits old block's references. When a tree block with reference count > 1 is cow'd, we increase the reference counts of all extents the new block points to by one, and decrease the old block's reference count by one. This dead tree avoidance code removes the need to modify the reference counts of lower level extents when a non-shared tree block is cow'd. But we still need to update back ref for all pointers in the block. This is because the location of the block is recorded in the back ref item. We can solve this by introducing a new type of back ref. The new back ref provides information about pointer's key, level and in which tree the pointer lives. This information allow us to find the pointer by searching the tree. The shortcoming of the new back ref is that it only works for pointers in tree blocks referenced by their owner trees. This is mostly a problem for snapshots, where resolving one of these fuzzy back references would be O(number_of_snapshots) and quite slow. The solution used here is to use the fuzzy back references in the common case where a given tree block is only referenced by one root, and use the full back references when multiple roots have a reference on a given block. This commit adds per subvolume red-black tree to keep trace of cached inodes. The red-black tree helps the balancing code to find cached inodes whose inode numbers within a given range. This commit improves the balancing code by introducing several data structures to keep the state of balancing. The most important one is the back ref cache. It caches how the upper level tree blocks are referenced. This greatly reduce the overhead of checking back ref. The improved balancing code scales significantly better with a large number of snapshots. This is a very large commit and was written in a number of pieces. But, they depend heavily on the disk format change and were squashed together to make sure git bisect didn't end up in a bad state wrt space balancing or the format change. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 5c939df56c3ea018b58e5aa76181284c2053d699 Author: Yan Zheng Date: Wed May 27 09:16:03 2009 -0400 btrfs: Fix set/clear_extent_bit for 'end == (u64)-1' There are some 'start = state->end + 1;' like code in set_extent_bit and clear_extent_bit. They overflow when end == (u64)-1. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit ef14f0c1578dce4b688726eb2603e50b62d6665a Author: Christoph Hellwig Date: Wed Jun 10 17:07:47 2009 +0200 xfs: use generic Posix ACL code This patch rips out the XFS ACL handling code and uses the generic fs/posix_acl.c code instead. The ondisk format is of course left unchanged. This also introduces the same ACL caching all other Linux filesystems do by adding pointers to the acl and default acl in struct xfs_inode. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 517d3cc15b36392e518abab6bacbb72089658313 Author: Arjan van de Ven Date: Wed May 13 15:02:42 2009 +0100 [libata] ata_piix: Enable parallel scan This patch turns on parallel scanning for the ata_piix driver. This driver is used on most netbooks (no AHCI for cheap storage it seems). The scan is the dominating time factor in the kernel boot for these devices; with this flag it gets cut in half for the device I used for testing (eeepc). Alan took a look at the driver source and concluded that it ought to be safe to do for this driver. Alan has also checked with the hardware team. Signed-off-by: Arjan van de Ven Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7f4774b38ee6270bbc6c3015cb3fa6c415ffb340 Author: Tejun Heo Date: Wed Jun 10 16:29:07 2009 +0900 sata_nv: use hardreset only for post-boot probing When I thought it was finally defeated, it came back with vengeance. The failure cases are ever more convoluted. Now there is a single combination which fails boot probing - MCP5x + Intel SSD and there are two hotplug failure reports on different flavors where softreset fails to bring up the device. Through the many bug reports after the switch to hardreset, the following patterns emerged. - Softreset during boot always works. - Hardreset during boot sometimes fails to bring up the link on certain comibnations and device signature acquisition is unreliable. - Hardreset is often necessary after hotplug. It looks like the old behavior of preferring softreset was somehow pretty close to the working reset protocol although it could have lost a device during phy error handling by issuing hardreset. This patch implements nv_hardreset() which kicks in only for post-boot (!LOADING) device probing resets. This should be able to work around all known problem cases. This isn't perfect but given the various hardreset quirks on these controllers, I think this is as good as it can get. Tested on mcp5x (swncq), nf3 and ck804 for all both boot, warm and hot probing cases. Kudos to all the bug reporters and their painful hours with these damn controllers. ;-) Signed-off-by: Tejun Heo Cc: Robert Hancock Reported-by: David Lang Reported-by: Samo Vodopivec Signed-off-by: Jeff Garzik commit 58a09b38cfcd700b796ea07ae3d2e0efbb28b561 Author: Shane Huang Date: Wed May 27 15:04:43 2009 +0800 [libata] ahci: Restore SB600 SATA controller 64 bit DMA Community reported one SB600 SATA issue(BZ #9412), which led to 64 bit DMA disablement for all SB600 revisions by driver maintainers with commits c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c and 4cde32fc4b32e96a99063af3183acdfd54c563f0. But the root cause is ASUS M2A-VM system BIOS bug in old revisions like 0901, while forcing into 32bit DMA happens to work as workaround. Now it's time to withdraw 4cde32fc4b32e96a99063af3183acdfd54c563f0 so as to restore the SB600 SATA 64bit DMA capability. This patch is also adding the workaround for M2A-VM old BIOS revisions, but users are suggested to upgrade their system BIOS to the latest one if they meet this issue. Signed-off-by: Shane Huang Cc: Tejun Heo Signed-off-by: Jeff Garzik commit f7b7c26e01e51fe46097e11f179dc71ce7950084 Author: Peter Zijlstra Date: Wed Jun 10 15:55:59 2009 +0200 perf_counter tools: Propagate signals properly Currently report and stat catch SIGINT (and others) without altering their exit state. This means that things like: while :; do perf stat ./foo ; done Loops become hard-to-interrupt, because bash never sees perf terminate due to interruption. Fix this. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 4502d77c1d8f15f20c04b92cb96c12d4e465de29 Author: Peter Zijlstra Date: Wed Jun 10 15:03:06 2009 +0200 perf_counter tools: Small frequency related fixes Create the counter in a disabled state and only enable it after we mmap() the buffer, this allows us to see the first few samples (and observe the frequency ramp). Furthermore, print the period in the verbose report. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit bd2b5b12849a3446abad0b25e920f86f5480b309 Author: Peter Zijlstra Date: Wed Jun 10 13:40:57 2009 +0200 perf_counter: More aggressive frequency adjustment Also employ the overflow handler to adjust the frequency, this results in a stable frequency in about 40~50 samples, instead of that many ticks. This also means we can start sampling at a sample period of 1 without running head-first into the throttle. It relies on sched_clock() to accurately measure the time difference between the overflow NMIs. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 2233123f2776f29d3ac31df1fd1dc40c44d337a5 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:03 2009 +0200 ALSA: sound/ps3: Correct existing and add missing annotations probe functions should be __devinit Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit cb6492e4a4e68281358510f0ffe2b0c4972ec166 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:02 2009 +0200 ALSA: sound/ps3: Restructure driver source Sort includes, and reorder code so we can kill the forward declarations No functional changes Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit 112ac808eb8a953dd356bbbc8322fdd6861e2c75 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:01 2009 +0200 ALSA: sound/ps3: Fix checkpatch issues Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit c3a7abf06ce719a51139e62a034590be99abbc2c Author: Ryusuke Konishi Date: Mon May 25 02:47:14 2009 +0900 nilfs2: support contiguous lookup of blocks Although get_block() callback function can return extent of contiguous blocks with bh->b_size, nilfs_get_block() function did not support this feature. This adds contiguous lookup feature to the block mapping codes of nilfs, and allows the nilfs_get_blocks() function to return the extent information by applying the feature. Signed-off-by: Ryusuke Konishi commit fa032744ad41de1b0a1807e7c379c6196e72ad80 Author: Ryusuke Konishi Date: Wed May 27 22:44:34 2009 +0900 nilfs2: add sync_page method to page caches of meta data This applies block_sync_page() function to the sync_page method of page caches for meta data files, gc page caches, and btree node buffers. This is a companion patch of ("nilfs2: enable sync_page mothod") which applied the function for data pages. This allows lock_page() for those meta data to unplug pending bio requests. Signed-off-by: Ryusuke Konishi commit a53b4751ae92adb372017222887f3ec625cba60b Author: Ryusuke Konishi Date: Wed May 27 22:11:46 2009 +0900 nilfs2: use device's backing_dev_info for btree node caches Previously, default_backing_dev_info was used for the mapping of btree node caches. This uses device dependent backing_dev_info to allow detailed control of the device for the btree node pages. Signed-off-by: Ryusuke Konishi commit 30c25be71fcbd87fd33518045cc014e69bff3d6f Author: Ryusuke Konishi Date: Sat May 30 19:08:09 2009 +0900 nilfs2: return EBUSY against delete request on snapshot This helps userland programs like the rmcp command to distinguish error codes returned against a checkpoint removal request. Previously -EPERM was returned, and not discriminable from real permission errors. This also allows removal of the latest checkpoint because the deletion leads to create a new checkpoint, and thus it's harmless for the filesystem. Signed-off-by: Ryusuke Konishi commit fb6e7113ae3ba6c7d0de77c6ccbcfa659899ff0f Author: Ryusuke Konishi Date: Sat May 30 11:27:17 2009 +0900 nilfs2: modify list of unsupported features in caveats This clarifies missing features of nilfs as a regular filesystem. Signed-off-by: Ryusuke Konishi commit e85dc1d5295779d2e6d973b7ed524d6bd3825a3f Author: Ryusuke Konishi Date: Wed May 27 07:27:12 2009 +0900 nilfs2: enable sync_page method This adds a missing sync_page method which unplugs bio requests when waiting for page locks. This will improve read performance of nilfs. Here is a measurement result using dd command. Without this patch: # mount -t nilfs2 /dev/sde1 /test # dd if=/test/aaa of=/dev/null bs=512k 1024+0 records in 1024+0 records out 536870912 bytes (537 MB) copied, 6.00688 seconds, 89.4 MB/s With this patch: # mount -t nilfs2 /dev/sde1 /test # dd if=/test/aaa of=/dev/null bs=512k 1024+0 records in 1024+0 records out 536870912 bytes (537 MB) copied, 3.54998 seconds, 151 MB/s Signed-off-by: Ryusuke Konishi commit 30bda0b8ae470997dc681d6fd82108bac5caebf8 Author: Ryusuke Konishi Date: Sun May 17 10:57:43 2009 +0900 nilfs2: set bio unplug flag for the last bio in segment This sets BIO_RW_UNPLUG flag on the last bio of each segment during write. The last bio should be unplugged immediately because the caller waits for the completion after the submission. Signed-off-by: Ryusuke Konishi commit 003ff182fddde09ddfb8d079bbdb02f9d2122082 Author: Ryusuke Konishi Date: Tue May 12 03:58:47 2009 +0900 nilfs2: allow future expansion of metadata read out via get info ioctl Nilfs has some ioctl commands to read out metadata from meta data files: - NILFS_IOCTL_GET_CPINFO for checkpoint file, - NILFS_IOCTL_GET_SUINFO for segment usage file, and - NILFS_IOCTL_GET_VINFO for Disk Address Transalation (DAT) file, respectively. Every routine on these metadata files is implemented so that it allows future expansion of on-disk format. But, the above ioctl commands do not support expansion even though nilfs_argv structure can handle arbitrary size for data exchanged via ioctl. This allows future expansion of the following structures which give basic format of the "get information" ioctls: - struct nilfs_cpinfo - struct nilfs_suinfo - struct nilfs_vinfo So, this introduces forward compatility of such ioctl commands. In this patch, a sanity check in nilfs_ioctl_get_info() function is changed to accept larger data structure [1], and metadata read routines are rewritten so that they become compatible for larger structures; the routines will just ignore the remaining fields which the current version of nilfs doesn't know. [1] The ioctl function already has another upper limit (PAGE_SIZE against a structure, which appears in nilfs_ioctl_wrap_copy function), and this will not cause security problem. Signed-off-by: Ryusuke Konishi commit 258ef67e246fd548e7ad91c23004ad157c03cce5 Author: Hisashi Hifumi Date: Wed May 13 11:19:40 2009 +0900 NILFS2: Pagecache usage optimization on NILFS2 Hi, I introduced "is_partially_uptodate" aops for NILFS2. 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. 1 --file-block-size=8K --file-total-size=2G --file-test-mode=rndrw --file-fsync-freq=0 --fil e-rw-ratio=1 run -2.6.30-rc5 Test execution summary: total time: 151.2907s total number of events: 200000 total time taken by event execution: 2409.8387 per-request statistics: min: 0.0000s avg: 0.0120s max: 0.9306s approx. 95 percentile: 0.0439s Threads fairness: events (avg/stddev): 12500.0000/238.52 execution time (avg/stddev): 150.6149/0.01 -2.6.30-rc5-patched Test execution summary: total time: 140.8828s total number of events: 200000 total time taken by event execution: 2240.8577 per-request statistics: min: 0.0000s avg: 0.0112s max: 0.8750s approx. 95 percentile: 0.0418s Threads fairness: events (avg/stddev): 12500.0000/218.43 execution time (avg/stddev): 140.0536/0.01 arch: ia64 pagesize: 16k Thanks. Signed-off-by: Hisashi Hifumi Signed-off-by: Ryusuke Konishi commit 7cde31d7d6959b2c608aa6b200eb68892d3a6063 Author: Ryusuke Konishi Date: Sun May 24 18:07:59 2009 +0900 nilfs2: remove nilfs_btree_operations from btree mapping will remove indirect function calls using nilfs_btree_operations table. Signed-off-by: Ryusuke Konishi commit 355c6b61034a571565dcd28801588671255d2329 Author: Ryusuke Konishi Date: Sun May 24 16:46:37 2009 +0900 nilfs2: remove nilfs_direct_operations from direct mapping will remove indirect function calls using nilfs_direct_operations table. Signed-off-by: Ryusuke Konishi commit d4b961576df2769b936bd967b01e8c607c3c9ad8 Author: Ryusuke Konishi Date: Sun May 24 03:25:44 2009 +0900 nilfs2: remove bmap pointer operations Previously, the bmap codes of nilfs used three types of function tables. The abuse of indirect function calls decreased source readability and suffered many indirect jumps which would confuse branch prediction of processors. This eliminates one type of the function tables, nilfs_bmap_ptr_operations, which was used to dispatch low level pointer operations of the nilfs bmap. This adds a new integer variable "b_ptr_type" to nilfs_bmap struct, and uses the value to select the pointer operations. Signed-off-by: Ryusuke Konishi commit 3033342a0b76048e32ce1faebfa85cf8f1aa93b5 Author: Ryusuke Konishi Date: Sun May 24 00:09:44 2009 +0900 nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct This will cut off 16 bytes from the nilfs_bmap struct which is embedded in the on-memory inode of nilfs. The b_high field was never used, and the b_low field stores a constant value which can be determined by whether the inode uses btree for block mapping or not. Signed-off-by: Ryusuke Konishi commit e473c1f265f429427e09531435ceaf0fdbb86d15 Author: Ryusuke Konishi Date: Fri May 22 02:18:36 2009 +0900 nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function This indirect function is set to NULL only for gc cache inodes, but the gc cache inodes never call this function. Signed-off-by: Ryusuke Konishi commit f198dbb9cf580c09644ebdf46846115c6daff14e Author: Ryusuke Konishi Date: Fri May 22 01:07:13 2009 +0900 nilfs2: move get block functions in bmap.c into btree codes Two get block function for btree nodes, nilfs_bmap_get_block() and nilfs_bmap_get_new_block(), are called only from the btree codes. This relocation will increase opportunities of compiler optimization. Signed-off-by: Ryusuke Konishi commit 9f098900ad34edfe3bcc2498cfa372f588b96c62 Author: Ryusuke Konishi Date: Fri May 22 00:38:56 2009 +0900 nilfs2: remove nilfs_bmap_delete_block nilfs_bmap_delete_block() is a wrapper function calling nilfs_btnode_delete(). This removes it for simplicity. Signed-off-by: Ryusuke Konishi commit 087d01b4253b611773ca81ad894486e7e17e74f6 Author: Ryusuke Konishi Date: Fri May 22 00:33:13 2009 +0900 nilfs2: remove nilfs_bmap_put_block nilfs_bmap_put_block() is a wrapper function calling brelse(). This eliminates the wrapper for simplicity. Signed-off-by: Ryusuke Konishi commit 654137dd46bc7e9f088a4a551a2b77a8541dfdb8 Author: Ryusuke Konishi Date: Sun May 17 19:07:21 2009 +0900 nilfs2: remove header file for segment list operations This will eliminate obsolete list operations of nilfs_segment_entry structure which has been used to handle mutiple segment numbers. The patch ("nilfs2: remove list of freeing segments") removed use of the structure from the segment constructor code, and this patch simplifies the remaining code by integrating it into recovery.c. Signed-off-by: Ryusuke Konishi commit 071cb4b81987a28c7ac2702003cff3e61684a630 Author: Ryusuke Konishi Date: Sat May 16 23:44:55 2009 +0900 nilfs2: eliminate removal list of segments This will clean up the removal list of segments and the related functions from segment.c and ioctl.c, which have hurt code readability. This elimination is applied by using nilfs_sufile_updatev() previously introduced in the patch ("nilfs2: add sufile function that can modify multiple segment usages"). Signed-off-by: Ryusuke Konishi commit dda54f4b872512eba484c38631bd6ae5b5716f41 Author: Ryusuke Konishi Date: Sat May 16 21:49:10 2009 +0900 nilfs2: add sufile function that can modify multiple segment usages This is a preparation for the later cleanup patch ("nilfs2: remove list of freeing segments"). This adds nilfs_sufile_updatev() to sufile, which can modify multiple segment usages at a time. Signed-off-by: Ryusuke Konishi commit d97a51a7e3c298d9899ea91165dfa0783fa5cc5c Author: Ryusuke Konishi Date: Sun May 3 21:43:01 2009 +0900 nilfs2: unify bmap operations starting use of indirect block address This simplifies some low level functions of bmap. Three bmap pointer operations, nilfs_bmap_start_v(), nilfs_bmap_commit_v(), and nilfs_bmap_abort_v(), are unified into one nilfs_bmap_start_v() function. And the related indirect function calls are replaced with it. Signed-off-by: Ryusuke Konishi commit 65822070646ed7f2cf520439006dd863529be16e Author: Ryusuke Konishi Date: Wed Apr 29 00:53:14 2009 +0900 nilfs2: remove nilfs_dat_prepare_free function This function is unused. Signed-off-by: Ryusuke Konishi commit 3860c97bd60a4525bb62eb90e3e7d2f02662ac59 Author: Boaz Harrosh Date: Sun May 24 20:05:58 2009 +0300 [SCSI] osd: Remove out-of-tree left overs * Delete Makefile. It is only used for out-of-tree compilation and was never needed. It slipped in by mistake. * Remove from Kbuild all the out of tree stuff as promised. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 03306793e686fd895ab8fa095bb9ec33658ea53a Author: Boaz Harrosh Date: Sun May 24 20:05:43 2009 +0300 [SCSI] libosd: Use REQ_QUIET requests. libosd has it's own sense decoding and printout. Don't let scsi_lib duplicate that printout. (Which is done wrong in regard to osd commands) Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 021e2230d6c04d80289fceb2d21c9ce93a615b32 Author: Boaz Harrosh Date: Sun May 24 20:05:05 2009 +0300 [SCSI] osduld: use filp_open() when looking up an osd-device This patch was inspired by Al Viro, for simplifying and fixing the retrieval of osd-devices by in-kernel users, eg: file systems. In-Kernel users, now, go through the same path user-mode does by opening a file on the osd char-device and though holding a reference to both the device and the Module. A file pointer was added to the osd_dev structure which is now allocated for each user. The internal osd_dev is no longer exposed outside of the uld. I wanted to do that for a long time so each libosd user can have his own defaults on the device. The API is left the same, so user code need not change. It is no longer needed to open/close a file handle on the osd char-device from user-mode, before mounting an exofs on it. Signed-off-by: Boaz Harrosh CC: Al Viro Signed-off-by: James Bottomley commit fc2fac5b5f11e2bee3bf37215c8746236f5ea188 Author: Boaz Harrosh Date: Sun May 24 20:04:43 2009 +0300 [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue libosd users that need to work with bios, must sometime use the request_queue associated with the osd_dev. Make a wrapper for that, and convert all in-tree users. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 62f469b596dd0aadf046a69027087c18db43734e Author: Boaz Harrosh Date: Sun May 24 20:04:26 2009 +0300 [SCSI] libosd: osd_req_{read,write} takes a length parameter For supporting of chained-bios we can not inspect the first bio only, as before. Caller shall pass the total length of the request, ie. sum_bytes(bio-chain). Also since the bio might be a chain we don't set it's direction on behalf of it's callers. The bio direction should be properly set prior to this call. So fix a couple of write users that now need to set the bio direction properly [In this patch I change both library code and user sites at exofs, to make it easy on integration. It should be submitted via James's scsi-misc tree.] Signed-off-by: Boaz Harrosh CC: Jeff Garzik Signed-off-by: James Bottomley commit 546881aea9787ed5c626ac99ab80158ea9ae0515 Author: Boaz Harrosh Date: Sun May 24 20:04:00 2009 +0300 [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes _osd_req_finalize_data_integrity was trying to deduce the number of out_bytes from passed osd_request->out.bio. This is wrong when the bio is chained. The caller of _osd_req_finalize_data_integrity has more ready available information and should just pass it. Also in the light of future support for CDB-continuation segment this is a better solution. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0e35afbc8b054e04a35faa796c72abb3b82bd33b Author: Boaz Harrosh Date: Sun May 24 20:02:22 2009 +0300 [SCSI] libosd: osd_req_{read,write}_kern new API By popular demand, define usefull wrappers for osd_req_read/write that recieve kernel pointers. All users had their own. Also remove these from exofs Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit de6b20385b1c14f97ccdf7da173b4c9a7405083b Author: Boaz Harrosh Date: Sun May 24 20:01:26 2009 +0300 [SCSI] libosd: Better printout of OSD target system information Shorten out the Attributes names. Align all results on column 24. Print system ID in a new line. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 29191b92030bc97b05b539ce5ae0543c24a6d7ca Author: Boaz Harrosh Date: Sun May 24 20:01:03 2009 +0300 [SCSI] libosd: OSD2r05: Attribute definitions Some New revision 5 Attribute definitions. Some missing definitions of Attributes and pages Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit feb6118d4e76bc5685909426c2dcc90fdb7ba05b Author: Boaz Harrosh Date: Sun May 24 20:00:39 2009 +0300 [SCSI] libosd: OSD2r05: Additional command enums Add all constant definitions of new OSD commands added in revision 4 & 5. Mainly for creating snapshots and clones. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit d9dd0887cc5c6df0dbbe5a307284610607eea7ab Author: Kevin Cernekee Date: Tue Jun 9 10:59:19 2009 -0700 UBI: add reboot notifier Terminate the UBI background thread prior to restarting the system. [Artem: amended comments a little] Signed-off-by: Kevin Cernekee Tested-by: Artem Bityutskiy Signed-off-by: Artem Bityutskiy commit 6b5c94c6b4e1630a8e1ee7d30383d9396603749f Author: Artem Bityutskiy Date: Wed Jun 10 11:32:05 2009 +0300 UBI: handle more error codes The UBIFS WL worker may encounter read errors and there is logic which makes a decision whether we should do one of: 1. cancel the operation and move the PEB with the read errors to the 'erroneous' list; 2. switch to R/O mode. ATM, only -EIO errors trigger 1., other errors trigger 2. The idea is that if we know we encountered an I/O error, do 1. Otherwise, we do not know how to react, and do 2., just in case. E.g., if the underlying driver became crazy because of a bug, we do not want to harm any data, and switch to R/O mode. This patch does 2 things: 1. Makes sure reads from the source PEB always cause 1. This is more consistent with other reads which come from the upper layers and never cause R/O. 2. Teaches UBI to do 1. also on -EBADMSG, UBI_IO_BAD_VID_HDR, -ENOMEM, and -ETIMEOUT. But this is only when reading the target PEB. This preblems were hunted by Adrian Hunter. Signed-off-by: Artem Bityutskiy commit 815bc5f8fe516f55291aef90f2142073821e7a9c Author: Artem Bityutskiy Date: Mon Jun 8 19:28:18 2009 +0300 UBI: fix multiple spelling typos Some of the typos were indicated by Adrian Hunter, some by 'aspell'. Signed-off-by: Artem Bityutskiy commit 21d08bbcb19d9cdef8ab5b584f25b50d842068e9 Author: Artem Bityutskiy Date: Mon Jun 8 19:28:18 2009 +0300 UBI: fix kmem_cache_free on error patch 'kmem_cache_free()' oopeses if NULL is passed, and there is one error-path place where UBI may call it with NULL object. This problem was pointed to by Adrian Hunter. Signed-off-by: Artem Bityutskiy commit 236e6723bedb483b2ebf73ada01e2c853c5cac01 Author: Mark Brown Date: Wed Jun 10 13:55:34 2009 +0100 ASoC: Fix lm4857 control Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics of private_value member of kcontrol. This resulted in inability to control amplifier and subsequently in very low output volume. Tested-by: Johannes Schauer Signed-off-by: Paul Fertser Signed-off-by: Mark Brown commit ad7c52d0988a8965989dc06d630c52a5bde849d5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jun 10 14:37:21 2009 +0200 ide: re-implement ide_pci_init_one() on top of ide_pci_init_two() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5df3bc2d35bd5cd08053f71679b27577b42676d6 Author: Bartlomiej Zolnierkiewicz Date: Wed Jun 10 14:37:21 2009 +0200 ide: unexport ide_find_dma_mode() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f4417a156a6e44359effa9492de3ed5638a9b13 Author: Hugh Dickins Date: Wed Jun 10 14:37:20 2009 +0200 ide: fix PowerMac bootup oops PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time(): because "ide: try to use PIO Mode 0 during probe if possible" causes pmac_ide_set_pio_mode() to be called before drive->id has been set. Bart points out other places which now need drive->id set earlier, so follow his advice to allocate it in ide_port_alloc_devices() (using kzalloc_node, without error message, as when allocating drive) and memset it for reuse in ide_port_init_devices_data(). Fixed in passing: ide_host_alloc() was missing ide_port_free_devices() from an error path. Signed-off-by: Hugh Dickins Cc: Joao Ramos Cc: Sergei Shtylyov Cc: Benjamin Herrenschmidt Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 440f0d588555892601cfe511728a0fc0c8204063 Author: Patrick McHardy Date: Wed Jun 10 14:32:47 2009 +0200 netfilter: nf_conntrack: use per-conntrack locks for protocol data Introduce per-conntrack locks and use them instead of the global protocol locks to avoid contention. Especially tcp_lock shows up very high in profiles on larger machines. This will also allow to simplify the upcoming reliable event delivery patches. Signed-off-by: Patrick McHardy commit 09f8ca74ae6c2d78b2c7f6c0751ed0cbe815a3d9 Author: Avi Kivity Date: Mon Jun 8 15:55:21 2009 +0300 KVM: Prevent overflow in largepages calculation If userspace specifies a memory slot that is larger than 8 petabytes, it could overflow the largepages variable. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit ac04527f7947020c5890090b2ac87af4e98d977e Author: Avi Kivity Date: Mon Jun 8 15:52:39 2009 +0300 KVM: Disable large pages on misaligned memory slots If a slots guest physical address and host virtual address unequal (mod large page size), then we would erronously try to back guest large pages with host large pages. Detect this misalignment and diable large page support for the trouble slot. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit 7654db1a9256d746ae4d229ba675f616a5d5e1a1 Author: Alan Cox Date: Wed May 6 17:10:17 2009 +0100 ata_piix: Remove stale comment Combined mode pci quirk hacks went away - so the table to keep in sync no longer exists. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 347979a034539ab20f3bc0c30ac0ccd3c4fd4c2e Author: Alan Cox Date: Wed May 6 17:10:08 2009 +0100 ata_piix: Turn on hotplugging support for older chips We can't do this for the later ones as they have all sorts of magic boot time stuff that needs reviewing and the like. However we can do it for the older ones and it turns out we need to as some IBM docking stations have a second PIIX series device in them and without this change you can't use it very well Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d50ce07d6fd8a422757a231f9d7293cbddeaec31 Author: Tejun Heo Date: Tue May 12 10:57:41 2009 +0900 ahci: misc cleanups for EM stuff Make the following EM related cleanups. * Use msleep(1) instead of udelay(100) and reduce retry count to 5. * s/MAX_SLOTS/EM_MAX_SLOTS/, s/MAX_RETRY/EM_MAX_RETRY/ * Make EM constants enums as suggested by Jeff. Signed-off-by: Tejun Heo Acked-by: David Milburn Signed-off-by: Jeff Garzik commit 437681800bdaa9feb58cf943dfbbd239c21d3705 Author: Jens Axboe Date: Wed May 20 09:44:39 2009 +0200 [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2 We very rarely (if ever) complete more than one command in the sactive mask at the time, even for extremely high IO rates. So looping over the entire range of possible tags is pointless, instead use __ffs() to just find the completed tags directly. Updated to clear the tag from the done_mask instead of shifting done_mask down as suggested by From: Tejun Heo Verified with a user space tester to produce the same results. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit 31f80112cc7e7ea4c220d6f62b0a7052754befb3 Author: Robert Hancock Date: Mon Apr 13 22:57:28 2009 -0600 sata_sil: enable 32-bit PIO 32-bit PIO seems to work fine on sata_sil hardware (tested on SiI3114) and is listed as OK in the Silicon Image datasheets. Enable it. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit f35b5e7c066a41f60683d2689e52a1336479913b Author: Alexander Beregalov Date: Wed Apr 15 00:00:54 2009 +0400 sata_sx4: speed up ECC initialization ECC initialization takes too long. It writes zeroes by portions of 4 byte, it takes more than 6 minutes on my machine to initialize 512Mb ECC DIMM module. Change portion to 128Kb - it significantly reduces initialization time. Signed-off-by: Alexander Beregalov Signed-off-by: Jeff Garzik commit 2102d7497393e982bf38ffe8f5fd3d487104880d Author: Sergei Shtylyov Date: Sun Feb 15 23:30:38 2009 +0400 libata-sff: avoid byte swapping in ata_sff_data_xfer() Handling of the trailing byte in ata_sff_data_xfer() is suboptimal bacause: - it always initializes the padding buffer to 0 which is not really needed in both the read and write cases; - it has to use memcpy() to transfer a single byte from/to the padding buffer; - it uses io{read|write}16() accessors which swap bytes on the big endian CPUs and so have to additionally convert the data from/to the little endian format instead of using io{read|write}16_rep() accessors which are not supposed to change the byte ordering. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 4da646b7b52552f3b43eae27ffa5aa2c200f6db6 Author: Jeff Garzik Date: Wed Apr 8 02:00:13 2009 -0400 [libata] ahci: use less error-prone array initializers Also, remove unneeded prototype. Signed-off-by: Jeff Garzik commit dc81081b2d9a6a9d64dad1bef1e5fc9fb660e53e Author: Yong Wang Date: Wed Jun 10 17:06:12 2009 +0800 perf_counter/x86: Fix the model number of Intel Core2 processors Fix the model number of Intel Core2 processors according to the documentation: Intel Processor Identification with the CPUID Instruction: http://www.intel.com/support/processors/sb/cs-009861.htm Signed-off-by: Yong Wang Also-Reported-by: Arnd Bergmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090610090612.GA26580@ywang-moblin2.bj.intel.com> [ Added two more model numbers suggested by Arnd Bergmann ] Signed-off-by: Ingo Molnar commit c476c23b45a41eb4e3ea63af786cc4d74762fe11 Author: Borislav Petkov Date: Wed May 20 20:31:58 2009 +0200 amd64_edac: add MAINTAINERS entry Acked-by: Doug Thompson Acked-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 9456ffffcf3c2f8fafeb9dee45f1502209602253 Author: Borislav Petkov Date: Wed May 20 20:26:53 2009 +0200 EDAC: do not enable modules by default Prevent EDAC compilation units from being built by default and let the user explicitly select the needed modules. Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 3d373290450b10933dad7c387c42179f54417009 Author: Borislav Petkov Date: Wed May 20 20:18:46 2009 +0200 amd64_edac: do not enable module by default While at it, fix a link failure when !K8_NB. Acked-by: Doug Thompson Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 7d6034d3213e2dd1c0f8678e11064007413011c4 Author: Doug Thompson Date: Mon Apr 27 20:01:01 2009 +0200 amd64_edac: add module registration routines Also, link into Kbuild by adding Kconfig and Makefile entries. Borislav: - Kconfig/Makefile splitting - use zero-sized arrays for the sysfs attrs if not enabled - rename sysfs attrs to more conform values - shorten CONFIG_ names - make multiple structure members assignment vertically aligned - fix/cleanup comments - fix function return value patterns - fix err labels - fix a memleak bug caught by Ingo - remove the NUMA dependency and use num_k8_northbrides for initializing a driver instance per NB. - do not copy the pvt contents into the mci struct in amd64_init_2nd_stage() and save it in the mci->pvt_info void ptr instead. - cleanup debug calls - simplify amd64_setup_pci_device() Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit f9431992b6227069bc54800d55531c6f78d276a7 Author: Doug Thompson Date: Mon Apr 27 19:46:08 2009 +0200 amd64_edac: add ECC reporting initializers Borislav: - convert to the new {rd|wr}msr_on_cpus interfaces. - convert pvt->old_mcgctl to a bitmask thus saving some bytes - fix/cleanup comments - fix function return value patterns - add a proper bugfix found by Doug to amd64_check_ecc_enabled where we missed checking for the ECC enabled bit in NB CFG. - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 0ec449ee95b20245fef4aa9fa2486456f1540514 Author: Doug Thompson Date: Mon Apr 27 19:41:25 2009 +0200 amd64_edac: add EDAC core-related initializers Borislav: - add a amd64_free_mc_sibling_devices() helper instead of opencoding the release-path. - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit d27bf6fa369ca0272df10558d2f290d6fc72e675 Author: Doug Thompson Date: Wed May 6 17:55:27 2009 +0200 amd64_edac: add error decoding logic Borislav: - fold amd64_error_info_valid() into its only user - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit b1289d6f9d23abab396077abb65d5a23a775cdb0 Author: Doug Thompson Date: Mon Apr 27 16:37:05 2009 +0200 amd64_edac: add ECC chipkill syndrome mapping table Borislav: - fix comments - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 4d37607adbff69596a3170cf84badaf26efc59ac Author: Doug Thompson Date: Mon Apr 27 16:25:05 2009 +0200 amd64_edac: add per-family descriptors Borislav: - fix comments - fix function return value patterns Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit f71d0a05001afd10e2be491ca002c55c7df42ed8 Author: Doug Thompson Date: Mon Apr 27 16:22:43 2009 +0200 amd64_edac: add F10h-and-later methods-p3 Borislav: - compute dct_sel_base_off in f10_match_to_this_node() correctly since it cannot be assumed that the Reserved bits are zero and they have to be masked out instead. - cleanup, remove StinkyIdentifiers, simplify logic - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 6163b5d4fb45d20e3eb92d627943f26572726889 Author: Doug Thompson Date: Mon Apr 27 16:20:17 2009 +0200 amd64_edac: add F10h-and-later methods-p2 Borislav: - fix a wrong negation in f10_determine_base_addr_offset() - fix a wrong mask in f10_determine_base_addr_offset() which should select DctSelBaseAddr[31:11] and not [31:16] as it was before - remove StinkyIdentifiers, trivially simplify code. - fix/cleanup comments - fix function return value patterns Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 1afd3c98b5e8df68e1840b56c0ced15f314ce30d Author: Doug Thompson Date: Mon Apr 27 16:16:50 2009 +0200 amd64_edac: add F10h-and-later methods-p1 Borislav: Fail f10_early_channel_count() if error encountered while reading a NB register since those cached register contents are accessed afterwards. - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit ddff876d2022c5e06509f6535bc4fd61c4d6ffd6 Author: Doug Thompson Date: Mon Apr 27 16:14:52 2009 +0200 amd64_edac: add k8-specific methods Borislav: - fix/cleanup/move comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 94be4bff21990674ac418c970c708a1a01cf709f Author: Doug Thompson Date: Mon Apr 27 16:12:00 2009 +0200 amd64_edac: assign DRAM chip select base and mask in a family-specific way Borislav: - cleanup/fix comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 2da11654ea4d32c5700693675dfbd55c70619519 Author: Doug Thompson Date: Mon Apr 27 16:09:09 2009 +0200 amd64_edac: add helper to dump relevant registers Borislav: - cleanup/fix comments - fix function return value patterns - cleanup dbg calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 93c2df58b5b1a434cca8f60067e0e12d1942b7f1 Author: Doug Thompson Date: Mon May 4 20:46:50 2009 +0200 amd64_edac: add DRAM address type conversion facilities Borislav: - cleanup/fix comments, add BKDG refs - fix function return value patterns - cleanup dbg calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit e2ce7255e84db656853e91536e6023f92ff89f97 Author: Doug Thompson Date: Mon Apr 27 15:57:12 2009 +0200 amd64_edac: add functionality to compute the DRAM hole Borislav: - cleanup/fix comments, add BKDG refs - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 6775763a2377e1ea865299b6daadc875d622de3f Author: Doug Thompson Date: Mon Apr 27 15:53:22 2009 +0200 amd64_edac: add sys addr to memory controller mapping helpers Borislav: - cleanup comments - cleanup debug calls - simplify find_mc_by_sys_addr's exit path Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 2bc65418724a0ddbb20c9eeb9de8285af7748c16 Author: Doug Thompson Date: Mon May 4 20:11:14 2009 +0200 amd64_edac: add memory scrubber interface Borislav: - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit b52401cecedf669211f0b7a5095abcb6d3fc82c2 Author: Doug Thompson Date: Wed May 6 17:57:20 2009 +0200 amd64_edac: add MCA error types Borislav: - cleanup comments Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit eb919690be994386eac326f8c53c4540602de563 Author: Doug Thompson Date: Tue May 5 20:07:11 2009 +0200 amd64_edac: add DRAM error injection logic using sysfs Borislav: - rename sysfs attrs to more conform names - cleanup/fix comments according to BKDG text - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit fd3d6780f7358225a6ea1ffb1bb8fd8b2d6df446 Author: Doug Thompson Date: Mon Apr 27 19:50:23 2009 +0200 amd64_edac: add debugging/testing code This is for dumping different registers and testing the address mapping logic using the ECC syndromes. Borislav: - split sysfs attrs per file - use more conform names for the sysfs attrs - fix function return value patterns - cleanup/fix comments - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit cfe40fdb4a46a68e45fa9a5ecbe588e94b89b4f3 Author: Doug Thompson Date: Mon May 4 19:25:34 2009 +0200 amd64_edac: add driver header Borislav: - remove register bit descriptions (complete text in BKDG) - cleanup and remove excessive/superfluous comments Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit d357cbb445208ea0c33b268e08a65e53fdbb5e86 Author: Borislav Petkov Date: Thu May 14 17:49:28 2009 +0200 edac: fold __func__ into edac_debug_printk This shortens debugfX() calls a bit. Reviewed-by: Mauro Carvalho Chehab CC: Doug Thompson Signed-off-by: Borislav Petkov commit b034c19f9f61c8b6f2435aa2e77f52348ebde767 Author: Borislav Petkov Date: Fri May 22 13:52:19 2009 +0200 x86: MSR: add methods for writing of an MSR on several CPUs Provide for concurrent MSR writes on all the CPUs in the cpumask. Also, add a temporary workaround for smp_call_function_many which skips the CPU we're executing on. Bart: zero out rv struct which is allocated on stack. CC: H. Peter Anvin Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6bc1096d7ab3621b3ffcf06616d1f4e0325d903d Author: Borislav Petkov Date: Fri May 22 12:12:01 2009 +0200 x86: MSR: add a struct representation of an MSR Add a struct representing a 64bit MSR pair consisting of a low and high register part and convert msr_info to use it. Also, rename msr-on-cpu.c to msr.c. Side note: Put the cpumask.h include in __KERNEL__ space thus fixing an allmodconfig build failure in the headers_check target. CC: H. Peter Anvin Signed-off-by: Borislav Petkov commit f1db457ce6e2f63cb01022f58c0c023838958bd1 Author: Li Zefan Date: Wed Jun 10 10:06:24 2009 +0800 tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK Fix building failures when CONFIG_BLOCK == n. Signed-off-by: Li Zefan LKML-Reference: <4A2F1520.8020003@cn.fujitsu.com> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 04dce7d9d429ea5ea04e9432d1726c930f4d67da Author: Benjamin Herrenschmidt Date: Wed Jun 10 16:59:46 2009 +1000 spinlock: Add missing __raw_spin_lock_flags() stub for UP This was only defined with CONFIG_DEBUG_SPINLOCK set, but some obscure arch/powerpc code wants it always. Signed-off-by: Benjamin Herrenschmidt Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 003dec8913d6bebb4ecc989ec04a235cf38f5ea9 Author: Steven Whitehouse Date: Wed Jun 10 10:31:45 2009 +0100 GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta These don't need to be separate functions. Reported-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit a0861c02a981c943573478ea13b29b1fb958ee5b Author: Andi Kleen Date: Mon Jun 8 17:37:09 2009 +0800 KVM: Add VT-x machine check support VT-x needs an explicit MC vector intercept to handle machine checks in the hyper visor. It also has a special option to catch machine checks that happen during VT entry. Do these interceptions and forward them to the Linux machine check handler. Make it always look like user space is interrupted because the machine check handler treats kernel/user space differently. Thanks to Jiang Yunhong for help and testing. Cc: stable@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Huang Ying Signed-off-by: Avi Kivity commit 56b237e31abf4d6dbc6e2a0214049b9a23be4883 Author: Nitin A Kamble Date: Thu Jun 4 15:04:08 2009 -0700 KVM: VMX: Rename rmode.active to rmode.vm86_active That way the interpretation of rmode.active becomes more clear with unrestricted guest code. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 20f65983e30f222e5383f77206e3f571d1d64610 Author: Gleb Natapov Date: Mon May 11 13:35:55 2009 +0300 KVM: Move "exit due to NMI" handling into vmx_complete_interrupts() To save us one reading of VM_EXIT_INTR_INFO. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8db3baa2db34035b2ddb7d0e8b186eb92a056532 Author: Gleb Natapov Date: Mon May 11 13:35:54 2009 +0300 KVM: Disable CR8 intercept if tpr patching is active Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 36752c9b91f75aa3ff0f214a89f13d806cb2f61f Author: Gleb Natapov Date: Mon May 11 13:35:53 2009 +0300 KVM: Do not migrate pending software interrupts. INTn will be re-executed after migration. If we wanted to migrate pending software interrupt we would need to migrate interrupt type and instruction length too, but we do not have all required info on SVM, so SVM->VMX migration would need to re-execute INTn anyway. To make it simple never migrate pending soft interrupt. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 44c11430b52cbad0a467bc023a802d122dfd285c Author: Gleb Natapov Date: Mon May 11 13:35:52 2009 +0300 KVM: inject NMI after IRET from a previous NMI, not before. If NMI is received during handling of another NMI it should be injected immediately after IRET from previous NMI handler, but SVM intercept IRET before instruction execution so we can't inject pending NMI at this point and there is not way to request exit when NMI window opens. This patch fix SVM code to open NMI window after IRET by single stepping over IRET instruction. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 6a8b1d13121f8226783987dc7ddd861ee2245410 Author: Gleb Natapov Date: Mon May 11 13:35:51 2009 +0300 KVM: Always request IRQ/NMI window if an interrupt is pending Currently they are not requested if there is pending exception. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 66fd3f7f901f29a557a473af595bf11b270b9ac2 Author: Gleb Natapov Date: Mon May 11 13:35:50 2009 +0300 KVM: Do not re-execute INTn instruction. Re-inject event instead. This is what Intel suggest. Also use correct instruction length when re-injecting soft fault/interrupt. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit f629cf8485c9e1063fd8b915fa3bde80917400a1 Author: Gleb Natapov Date: Mon May 11 13:35:49 2009 +0300 KVM: skip_emulated_instruction() decode instruction if size is not known Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 923c61bbc6413e87e5f6b0bae663d202a8de0537 Author: Gleb Natapov Date: Mon May 11 13:35:48 2009 +0300 KVM: Remove irq_pending bitmap Only one interrupt vector can be injected from userspace irqchip at any given time so no need to store it in a bitmap. Put it into interrupt queue directly. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit fa9726b0733461781933ab7180aca45e46d0a891 Author: Gleb Natapov Date: Mon May 11 13:35:47 2009 +0300 KVM: Do not allow interrupt injection from userspace if there is a pending event. The exception will immediately close the interrupt window. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3298b75c880d6f0fd70750233c0f3e71a72a5bfb Author: Gleb Natapov Date: Mon May 11 13:35:46 2009 +0300 KVM: Unprotect a page if #PF happens during NMI injection. It is done for exception and interrupt already. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 51e4d5ab28c75d819b3840da11559ad5c1429135 Author: Carsten Otte Date: Tue May 12 17:21:53 2009 +0200 KVM: s390: Verify memory in kvm run This check verifies that the guest we're trying to run in KVM_RUN has some memory assigned to it. It enters an endless exception loop if this is not the case. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 3edbcff9bfe2ed632e518b3cfe807d062cee8269 Author: Carsten Otte Date: Tue May 12 17:21:52 2009 +0200 KVM: s390: Sanity check on validity intercept This patch adds a sanity check for the content of the guest prefix register content before faulting in the cpu lowcore that it refers to. The guest might end up in an endless loop where SIE complains about missing lowcore with incorrect content of the prefix register without this fix. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit abf4a71ed95ff29d696bf04633958b2068ed2e0b Author: Carsten Otte Date: Tue May 12 17:21:51 2009 +0200 KVM: s390: Unlink vcpu on destroy - v2 This patch makes sure we do unlink a vcpu's sie control block from the system control area in kvm_arch_vcpu_destroy. This prevents illegal accesses to the sie control block from other virtual cpus after free. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit b037a4f34ec51b6c8ccb352a04056c04a4bfc269 Author: Christian Borntraeger Date: Tue May 12 17:21:50 2009 +0200 KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock The floating interrupt lock is only taken in process context. We can replace all spin_lock_bh with standard spin_lock calls. Signed-off-by: Christian Borntraeger Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit ca8723023f25c9a70d76cbd6101f8fb4ffec2fa0 Author: Christian Borntraeger Date: Tue May 12 17:21:49 2009 +0200 KVM: s390: use hrtimer for clock wakeup from idle - v2 This patch reworks the s390 clock comparator wakeup to hrtimer. The clock comparator is a per-cpu value that is compared against the TOD clock. If ckc <= TOD an external interrupt 1004 is triggered. Since the clock comparator and the TOD clock have a much higher resolution than jiffies we should use hrtimers to trigger the wakeup. This speeds up guest nanosleep for small values. Since hrtimers callbacks run in hard-irq context, I added a tasklet to do the actual work with enabled interrupts. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 2668dab794272f0898491acaf1e77e9a005abc0f Author: Carsten Otte Date: Tue May 12 17:21:48 2009 +0200 KVM: s390: Fix memory slot versus run - v3 This patch fixes an incorrectness in the kvm backend for s390. In case virtual cpus are being created before the corresponding memory slot is being registered, we need to update the sie control blocks for the virtual cpus. *updates in v3* In consideration of the s390 memslot constraints locking was changed to trylock. These locks should never be held, as vcpu's can't run without the single memslot we just assign when running this code. To ensure this never deadlocks in case other code changes the code uses trylocks and bail out if it can't get all locks. Additionally most of the discussed special conditions for s390 like only one memslot and no user_alloc are now checked for validity in kvm_arch_set_memory_region. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 58f8ac279a8c46eb0a3193edd521ed2e41c4f914 Author: Robert P. J. Day Date: Tue May 12 13:44:06 2009 -0700 KVM: Expand on "help" info to specify kvm intel and amd module names Signed-off-by: Robert P. J. Day Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 8986ecc0ef58c96eec48d8502c048f3ab67fd8e2 Author: Marcelo Tosatti Date: Tue May 12 18:55:45 2009 -0300 KVM: x86: check for cr3 validity in mmu_alloc_roots Verify the cr3 address stored in vcpu->arch.cr3 points to an existant memslot. If not, inject a triple fault. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b43b1901ad282aeb74161837fb403927102687a1 Author: Marcelo Tosatti Date: Tue May 12 18:55:44 2009 -0300 KVM: take mmu_lock when updating a deleted slot kvm_handle_hva relies on mmu_lock protection to safely access the memslot structures. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7c8a83b75a38a807d37f5a4398eca2a42c8cf513 Author: Marcelo Tosatti Date: Tue May 12 18:55:43 2009 -0300 KVM: MMU: protect kvm_mmu_change_mmu_pages with mmu_lock kvm_handle_hva, called by MMU notifiers, manipulates mmu data only with the protection of mmu_lock. Update kvm_mmu_change_mmu_pages callers to take mmu_lock, thus protecting against kvm_handle_hva. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 310b5d306c1aee7ebe32f702c0e33e7988d50646 Author: Glauber Costa Date: Tue May 12 16:21:06 2009 -0400 KVM: Deal with interrupt shadow state for emulated instructions We currently unblock shadow interrupt state when we skip an instruction, but failing to do so when we actually emulate one. This blocks interrupts in key instruction blocks, in particular sti; hlt; sequences If the instruction emulated is an sti, we have to block shadow interrupts. The same goes for mov ss. pop ss also needs it, but we don't currently emulate it. Without this patch, I cannot boot gpxe option roms at vmx machines. This is described at https://bugzilla.redhat.com/show_bug.cgi?id=494469 Signed-off-by: Glauber Costa CC: H. Peter Anvin CC: Gleb Natapov Signed-off-by: Avi Kivity commit 2809f5d2c4cfad171167b131bb2a21ab65eba40f Author: Glauber Costa Date: Tue May 12 16:21:05 2009 -0400 KVM: Replace ->drop_interrupt_shadow() by ->set_interrupt_shadow() This patch replaces drop_interrupt_shadow with the more general set_interrupt_shadow, that can either drop or raise it, depending on its parameter. It also adds ->get_interrupt_shadow() for future use. Signed-off-by: Glauber Costa CC: H. Peter Anvin CC: Gleb Natapov Signed-off-by: Avi Kivity commit 547de29e5b1662deb05b5f90917902dc0e9ac182 Author: Marcelo Tosatti Date: Thu May 7 17:55:13 2009 -0300 KVM: protect assigned dev workqueue, int handler and irq acker kvm_assigned_dev_ack_irq is vulnerable to a race condition with the interrupt handler function. It does: if (dev->host_irq_disabled) { enable_irq(dev->host_irq); dev->host_irq_disabled = false; } If an interrupt triggers before the host->dev_irq_disabled assignment, it will disable the interrupt and set dev->host_irq_disabled to true. On return to kvm_assigned_dev_ack_irq, dev->host_irq_disabled is set to false, and the next kvm_assigned_dev_ack_irq call will fail to reenable it. Other than that, having the interrupt handler and work handlers run in parallel sounds like asking for trouble (could not spot any obvious problem, but better not have to, its fragile). CC: sheng.yang@intel.com Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 32f8840064d88cc3f6e85203aec7b6b57bebcb97 Author: Marcelo Tosatti Date: Thu May 7 17:55:12 2009 -0300 KVM: use smp_send_reschedule in kvm_vcpu_kick KVM uses a function call IPI to cause the exit of a guest running on a physical cpu. For virtual interrupt notification there is no need to wait on IPI receival, or to execute any function. This is exactly what the reschedule IPI does, without the overhead of function IPI. So use it instead of smp_call_function_single in kvm_vcpu_kick. Also change the "guest_mode" variable to a bit in vcpu->requests, and use that to collapse multiple IPI's that would be issued between the first one and zeroing of guest mode. This allows kvm_vcpu_kick to called with interrupts disabled. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d149c731e4f71982247a14409951259f36271dd7 Author: Avi Kivity Date: Sun May 10 14:41:56 2009 +0300 KVM: Update cpuid 1.ecx reporting Signed-off-by: Avi Kivity commit 069ebaa4644521e8e80b6849ace4dee53f93f55e Author: Avi Kivity Date: Sun May 10 14:37:56 2009 +0300 x86: Add cpu features MOVBE and POPCNT Add cpu feature bit support for the MOVBE and POPCNT instructions. Signed-off-by: Avi Kivity commit 7faa4ee1c777a5f8e8373430cfd9cb6172aa3503 Author: Avi Kivity Date: Sun May 10 13:55:35 2009 +0300 KVM: Add AMD cpuid bit: cr8_legacy, abm, misaligned sse, sse4, 3dnow prefetch Signed-off-by: Avi Kivity commit 8d753f369bd28fff1706ffe9fb9fea4fd88cf85b Author: Avi Kivity Date: Sun May 10 11:41:39 2009 +0300 KVM: Fix cpuid feature misreporting MTRR, PAT, MCE, and MCA are all supported (to some extent) but not reported. Vista requires these features, so if userspace relies on kernel cpuid reporting, it loses support for Vista. Signed-off-by: Avi Kivity commit d6a8c875f35a6e1b3fb3f21e93eabb183b1f39ee Author: Jan Kiszka Date: Mon Apr 20 18:10:07 2009 +0200 KVM: Drop request_nmi from stats The stats entry request_nmi is no longer used as the related user space interface was dropped. So clean it up. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit fe8e7f83de3f0979f13f57992cb33e4a8041272d Author: Gleb Natapov Date: Thu Apr 23 17:03:48 2009 +0300 KVM: SVM: Don't reinject event that caused a task switch If a task switch caused by an event remove it from the event queue. VMX already does that. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b586eb0253083795e58dcbe76665410d4676dc08 Author: Andre Przywara Date: Tue Apr 28 12:45:43 2009 +0200 KVM: SVM: Fix cross vendor migration issue in segment segment descriptor On AMD CPUs sometimes the DB bit in the stack segment descriptor is left as 1, although the whole segment has been made unusable. Clear it here to pass an Intel VMX entry check when cross vendor migrating. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 9b5843ddd20557b77c73ddbcc814a8c816bf3d3a Author: Glauber Costa Date: Wed Apr 29 17:29:09 2009 -0400 KVM: fix apic_debug instances Apparently nobody turned this on in a while... setting apic_debug to something compilable, generates some errors. This patch fixes it. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit efbc100c20f9dc4a219a2a92763d68e4064109f2 Author: Chris Wright Date: Fri May 1 14:15:43 2009 -0700 KVM: Trivial format fix in setup_routing_entry() Remove extra tab. Signed-off-by: Chris Wright Signed-off-by: Avi Kivity commit 8e1c18157d8772e65247ac55525a05a26b83fffe Author: Sheng Yang Date: Wed Apr 29 11:09:04 2009 +0800 KVM: VMX: Disable VMX when system shutdown Intel TXT(Trusted Execution Technology) required VMX off for all cpu to work when system shutdown. CC: Joseph Cihula Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 522c68c4416de3cd3e11a9ff10d58e776a69ae1e Author: Sheng Yang Date: Mon Apr 27 20:35:43 2009 +0800 KVM: Enable snooping control for supported hardware Memory aliases with different memory type is a problem for guest. For the guest without assigned device, the memory type of guest memory would always been the same as host(WB); but for the assigned device, some part of memory may be used as DMA and then set to uncacheable memory type(UC/WC), which would be a conflict of host memory type then be a potential issue. Snooping control can guarantee the cache correctness of memory go through the DMA engine of VT-d. [avi: fix build on ia64] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 4b12f0de33a64dfc624b2480f55b674f7fa23ef2 Author: Sheng Yang Date: Mon Apr 27 20:35:42 2009 +0800 KVM: Replace get_mt_mask_shift with get_mt_mask Shadow_mt_mask is out of date, now it have only been used as a flag to indicate if TDP enabled. Get rid of it and use tdp_enabled instead. Also put memory type logical in kvm_x86_ops->get_mt_mask(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 9b62e5b10ff0f98346bcbe4a4fe3a0ca8fa7be30 Author: Jan Blunck Date: Tue Apr 7 23:58:56 2009 +0000 KVM: Wake up waitqueue before calling get_cpu() This moves the get_cpu() call down to be called after we wake up the waiters. Therefore the waitqueue locks can safely be rt mutex. Signed-off-by: Jan Blunck Signed-off-by: Sven-Thorsten Dietrich Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 14d0bc1f7c8226d5088e7182c3b53e0c7e91d1af Author: Gleb Natapov Date: Tue Apr 21 17:45:11 2009 +0300 KVM: Get rid of get_irq() callback It just returns pending IRQ vector from the queue for VMX/SVM. Get IRQ directly from the queue before migration and put it back after. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 16d7a191170f0ca48c2c3277017b3e6d275e0711 Author: Gleb Natapov Date: Tue Apr 21 17:45:10 2009 +0300 KVM: Fix userspace IRQ chip migration Re-put pending IRQ vector into interrupt_bitmap before migration. Otherwise it will be lost if migration happens in the wrong time. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 95ba82731374eb1c2af4dd442526c4b314f0e8b6 Author: Gleb Natapov Date: Tue Apr 21 17:45:08 2009 +0300 KVM: SVM: Add NMI injection support Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c4282df98ae0993983924c00ed76428a6609d68b Author: Gleb Natapov Date: Tue Apr 21 17:45:07 2009 +0300 KVM: Get rid of arch.interrupt_window_open & arch.nmi_window_open They are recalculated before each use anyway. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0a5fff192388d2a74aa9ab5e0d394b745df9f225 Author: Gleb Natapov Date: Tue Apr 21 17:45:06 2009 +0300 KVM: Do not report TPR write to userspace if new value bigger or equal to a previous one. Saves many exits to userspace in a case of IRQ chip in userspace. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 615d5193055880d44db92b72403b7549251ac2a6 Author: Gleb Natapov Date: Tue Apr 21 17:45:05 2009 +0300 KVM: sync_lapic_to_cr8() should always sync cr8 to V_TPR Even if IRQ chip is in userspace. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 115666dfc733a6749d99bcf3b2fe3fa253218b36 Author: Gleb Natapov Date: Tue Apr 21 17:45:04 2009 +0300 KVM: Remove kvm_push_irq() No longer used. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1d6ed0cb95a2f0839e1a31f1971dc37cd60c258a Author: Gleb Natapov Date: Tue Apr 21 17:45:03 2009 +0300 KVM: Remove inject_pending_vectors() callback It is the same as inject_pending_irq() for VMX/SVM now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1cb948ae86f3d95cce58fac51d00766825f5f783 Author: Gleb Natapov Date: Tue Apr 21 17:45:02 2009 +0300 KVM: Remove exception_injected() callback. It always return false for VMX/SVM now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 9222be18f76b4410b4da0d06e1cc21079e64b3ec Author: Gleb Natapov Date: Thu Apr 23 17:14:37 2009 +0300 KVM: SVM: Coalesce userspace/kernel irqchip interrupt injection logic Start to use interrupt/exception queues like VMX does. This also fix the bug that if exit was caused by a guest internal exception access to IDT the exception was not reinjected. Use EVENTINJ to inject interrupts. Use VINT only for detecting when IRQ windows is open again. EVENTINJ ensures the interrupt is injected immediately and not delayed. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 5df56646472c42495dd2412c8d8aa72e59efe79a Author: Gleb Natapov Date: Tue Apr 21 17:44:59 2009 +0300 KVM: Use kvm_arch_interrupt_allowed() instead of checking interrupt_window_open directly kvm_arch_interrupt_allowed() also checks IF so drop the check. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1f21e79aaced0a041e9399346960ce26ae0f5a4e Author: Gleb Natapov Date: Tue Apr 21 17:44:58 2009 +0300 KVM: VMX: Cleanup vmx_intr_assist() Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 863e8e658ee9ac6e5931b295eb7428456e450a0f Author: Gleb Natapov Date: Tue Apr 21 17:44:57 2009 +0300 KVM: VMX: Consolidate userspace and kernel interrupt injection for VMX Use the same callback to inject irq/nmi events no matter what irqchip is in use. Only from VMX for now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8061823a25218174f30c3dd943989e1d72f7d06e Author: Gleb Natapov Date: Tue Apr 21 17:44:56 2009 +0300 KVM: Make kvm_cpu_(has|get)_interrupt() work for userspace irqchip too At the vector level, kernel and userspace irqchip are fairly similar. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3438253926822a6bf8487b4f7d82f26a2c0b2388 Author: Jan Kiszka Date: Sat Apr 25 12:43:21 2009 +0200 KVM: MMU: Fix auditing code Fix build breakage of hpa lookup in audit_mappings_page. Moreover, make this function robust against shadow_notrap_nonpresent_pte entries. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 43890ae8bcc5fa88ef3061613efe041b866fbc5a Author: Jes Sorensen Date: Fri Apr 17 16:43:27 2009 +0200 KVM: ia64: ia64 vcpu_reset() do not call kmalloc() with irqs disabled Restore local irq enabled state before calling kvm_arch_vcpu_init(), which calls kmalloc(GFP_KERNEL). Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 4d13c3b04f14a9a72ffcdd082acc243e7e56b4e0 Author: Jes Sorensen Date: Thu Apr 16 16:53:13 2009 +0200 KVM: ia64: preserve int status through call to kvm_insert_vmm_mapping Preserve interrupt status around call to kvm_insert_vmm_mappin() in kvm_vcpu_pre_transition(). Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 457459c3c738dfb37226ba116ba301140da0d1fb Author: Jes Sorensen Date: Thu Apr 16 16:08:29 2009 +0200 KVM: ia64: restore irq state before calling kvm_vcpu_init Make sure to restore the psr after calling kvm_insert_vmm_mapping() which calls ia64_itr_entry() as it disables local interrupts and kvm_vcpu_init() may sleep. Avoids a warning from the lock debugging code. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit f9b647adda0e821538b6d80e52873d861ffb1799 Author: Jes Sorensen Date: Thu Apr 16 11:24:58 2009 +0200 KVM: ia64: remove empty function vti_vcpu_load() vti_vcpu_load() doesn't do anything, so lets get rid of it. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 64f6afbd4c3317eb6845d770aa345afd3f120471 Author: Xiantao Zhang Date: Thu Apr 16 17:59:16 2009 +0800 KVM: ia64: Flush all TLBs once guest's memory mapping changes. Flush all vcpu's TLB entries once changes guest's memory mapping. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 59839dfff5eabca01cc4e20b45797a60a80af8cb Author: Marcelo Tosatti Date: Thu Apr 16 08:30:44 2009 -0300 KVM: x86: check for cr3 validity in ioctl_set_sregs Matt T. Yourst notes that kvm_arch_vcpu_ioctl_set_sregs lacks validity checking for the new cr3 value: "Userspace callers of KVM_SET_SREGS can pass a bogus value of cr3 to the kernel. This will trigger a NULL pointer access in gfn_to_rmap() when userspace next tries to call KVM_RUN on the affected VCPU and kvm attempts to activate the new non-existent page table root. This happens since kvm only validates that cr3 points to a valid guest physical memory page when code *inside* the guest sets cr3. However, kvm currently trusts the userspace caller (e.g. QEMU) on the host machine to always supply a valid page table root, rather than properly validating it along with the rest of the reloaded guest state." http://sourceforge.net/tracker/?func=detail&atid=893831&aid=2687641&group_id=180599 Check for a valid cr3 address in kvm_arch_vcpu_ioctl_set_sregs, triple fault in case of failure. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit c6b60c6921381130e5288b19f5fdf81152230b37 Author: Jes Sorensen Date: Thu Apr 16 10:43:48 2009 +0200 KVM: ia64: Don't hold slots_lock in guest mode Reorder locking to avoid holding the slots_lock when entering the guest. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 463656c0007ddccee78db383eeb9e6eac75ccb7f Author: Avi Kivity Date: Sun Apr 12 15:49:07 2009 +0300 KVM: Replace kvmclock open-coded get_cpu_var() with the real thing Suggested by Ingo Molnar. Signed-off-by: Avi Kivity commit 8317c298eab14cc20e2de5289743ff0d4c5a6b30 Author: Gleb Natapov Date: Sun Apr 12 13:37:02 2009 +0300 KVM: SVM: Skip instruction on a task switch only when appropriate If a task switch was initiated because off a task gate in IDT and IDT was accessed because of an external even the instruction should not be skipped. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit ba8afb6b0a2c7e06da760ffe5d078245058619b5 Author: Gleb Natapov Date: Sun Apr 12 13:36:57 2009 +0300 KVM: x86 emulator: Add new mode of instruction emulation: skip In the new mode instruction is decoded, but not executed. The EIP is moved to point after the instruction. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e637b8238ad1783ebdd113bd34cd6982dec1006d Author: Gleb Natapov Date: Sun Apr 12 13:36:52 2009 +0300 KVM: x86 emulator: Decode soft interrupt instructions Do not emulate them yet. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 84ce66a6865192567172f08ab5269aa380fa6ead Author: Gleb Natapov Date: Sun Apr 12 13:36:46 2009 +0300 KVM: x86 emulator: Completely decode in/out at decoding stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 341de7e3728ade102eaadf56af404f4ce865a73d Author: Gleb Natapov Date: Sun Apr 12 13:36:41 2009 +0300 KVM: x86 emulator: Add unsigned byte immediate decode Extend "Source operand type" opcode description field to 4 bites to accommodate new option. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit d53c4777b3a3e5031710d0664851d1309325884b Author: Gleb Natapov Date: Sun Apr 12 13:36:36 2009 +0300 KVM: x86 emulator: Complete decoding of call near in decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b2833e3cdebfe3ea4d0d1d3ce4d2ff1c42a4f8f4 Author: Gleb Natapov Date: Sun Apr 12 13:36:30 2009 +0300 KVM: x86 emulator: Complete short/near jcc decoding in decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 782b877c8073a9ef307ad6638ee472b8336b2b85 Author: Gleb Natapov Date: Sun Apr 12 13:36:25 2009 +0300 KVM: x86 emulator: Complete ljmp decoding at decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0654169e7309f2f68ec4bea9257b14b05ea94d7d Author: Gleb Natapov Date: Sun Apr 12 13:36:20 2009 +0300 KVM: x86 emulator: Add lcall decoding No emulation yet. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit a5f868bd45a64ce1f502d228723a5b6c357790cd Author: Gleb Natapov Date: Sun Apr 12 13:36:14 2009 +0300 KVM: x86 emulator: Add decoding of 16bit second immediate argument Such as segment number in lcall/ljmp Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c2d0ee46e6e633a3c23ecbcb9b03ad731906cd79 Author: Marcelo Tosatti Date: Sun Apr 5 14:54:47 2009 -0300 KVM: MMU: remove global page optimization logic Complexity to fix it not worthwhile the gains, as discussed in http://article.gmane.org/gmane.comp.emulators.kvm.devel/28649. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2f8b9ee14eb439008e0c5131116ea6baa40dba50 Author: nathan binkert Date: Fri Mar 27 21:53:05 2009 -0700 KVM: Make kvm header C++ friendly Two things needed fixing: 1) g++ does not allow a named structure type within an anonymous union and 2) Avoid name clash between two padding fields within the same struct by giving them different names as is done elsewhere in the header. Signed-off-by: Nathan Binkert Signed-off-by: Avi Kivity commit ede2ccc51742059d356d419260460cbbf3e36273 Author: Marcelo Tosatti Date: Wed Apr 8 13:14:19 2009 -0300 KVM: PIT: fix count read and mode 0 handling Commit 46ee278652f4cbd51013471b64c7897ba9bcd1b1 causes Solaris 10 to hang on boot. Assuming that PIT counter reads should return 0 for an expired timer is wrong: when it is active, the counter never stops (see comment on __kpit_elapsed). Also arm a one shot timer for mode 0. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2906e79f21a559e49611e1e188c4993cd45d9ce1 Author: Zhang, Xiantao Date: Thu Apr 9 21:37:28 2009 +0800 KVM: ia64: make kvm depend on CONFIG_MODULES. Since kvm-intel modue can't be built-in, make kvm depend on CONFIG_MODULES. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2d033196541959d91802d5a62e63771448101557 Author: Gleb Natapov Date: Thu Apr 2 15:51:46 2009 +0300 KVM: x86 emulator: fix call near emulation The length of pushed on to the stack return address depends on operand size not address size. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 4c26b4cd6ff6c3f7534f2aea9615a561c372ed05 Author: Sheng Yang Date: Thu Apr 2 10:28:37 2009 +0800 KVM: MMU: Discard reserved bits checking on PDE bit 7-8 1. It's related to a Linux kernel bug which fixed by Ingo on 07a66d7c53a538e1a9759954a82bb6c07365eff9. The original code exists for quite a long time, and it would convert a PDE for large page into a normal PDE. But it fail to fit normal PDE well. With the code before Ingo's fix, the kernel would fall reserved bit checking with bit 8 - the remaining global bit of PTE. So the kernel would receive a double-fault. 2. After discussion, we decide to discard PDE bit 7-8 reserved checking for now. For this marked as reserved in SDM, but didn't checked by the processor in fact... Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 64a7ec066813443440bfc9f60a9e76a47cfa6b2b Author: Gleb Natapov Date: Mon Mar 30 16:03:29 2009 +0300 KVM: Fix unneeded instruction skipping during task switching. There is no need to skip instruction if the reason for a task switch is a task gate in IDT and access to it is caused by an external even. The problem is currently solved only for VMX since there is no reliable way to skip an instruction in SVM. We should emulate it instead. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b237ac37a149e8b56436fabf093532483bff13b0 Author: Gleb Natapov Date: Mon Mar 30 16:03:24 2009 +0300 KVM: Fix task switch back link handling. Back link is written to a wrong TSS now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8843419048e500f8f38df555bca1bf7948804b7f Author: Gleb Natapov Date: Mon Mar 30 16:03:18 2009 +0300 KVM: VMX: Do not zero idt_vectoring_info in vmx_complete_interrupts(). We will need it later in task_switch(). Code in handle_exception() is dead. is_external_interrupt(vect_info) will always be false since idt_vectoring_info is zeroed in vmx_complete_interrupts(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 37b96e988053c4dd21811b0408a12f8f60b4d0c8 Author: Gleb Natapov Date: Mon Mar 30 16:03:13 2009 +0300 KVM: VMX: Rewrite vmx_complete_interrupt()'s twisted maze of if() statements ...with a more straightforward switch(). Also fix a bug when NMI could be dropped on exit. Although this should never happen in practice, since NMIs can only be injected, never triggered internally by the guest like exceptions. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 7b4a25cb296e2a73d2e87a4af65361d45d450a27 Author: Gleb Natapov Date: Mon Mar 30 16:03:08 2009 +0300 KVM: VMX: Fix handling of a fault during NMI unblocked due to IRET Bit 12 is undefined in any of the following cases: If the VM exit sets the valid bit in the IDT-vectoring information field. If the VM exit is due to a double fault. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 20c466b56168ddccf034c136510d73e4a0e18605 Author: Dong, Eddie Date: Tue Mar 31 23:03:45 2009 +0800 KVM: Use rsvd_bits_mask in load_pdptrs() Also remove bit 5-6 from rsvd_bits_mask per latest SDM. Signed-off-by: Eddie Dong Signed-off-by: Avi Kivity commit 93ba03c2e2aba23b042cc15eef83b7a66d3ac17a Author: Sheng Yang Date: Wed Apr 1 15:52:32 2009 +0800 KVM: VMX: Fix feature testing The testing of feature is too early now, before vmcs_config complete initialization. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 045471563df4b8723202a66ae54d58788b0f8e88 Author: Sheng Yang Date: Wed Apr 1 15:52:31 2009 +0800 KVM: VMX: Clean up Flex Priority related And clean paranthes on returns. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7a6ce84c74a3064f6b6dda9e2d55c509cd4e78e4 Author: Wei Yongjun Date: Tue Mar 31 16:47:44 2009 +0800 KVM: remove pointless conditional before kfree() in lapic initialization Remove pointless conditional before kfree(). Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 9645bb56b31a1b70ab9e470387b5264cafc04aa9 Author: Avi Kivity Date: Tue Mar 31 11:31:54 2009 +0300 KVM: MMU: Use different shadows when EFER.NXE changes A pte that is shadowed when the guest EFER.NXE=1 is not valid when EFER.NXE=0; if bit 63 is set, the pte should cause a fault, and since the shadow EFER always has NX enabled, this won't happen. Fix by using a different shadow page table for different EFER.NXE bits. This allows vcpus to run correctly with different values of EFER.NXE, and for transitions on this bit to be handled correctly without requiring a full flush. Signed-off-by: Avi Kivity commit 82725b20e22fb85377f61a16f6d0d5cfc28b45d3 Author: Dong, Eddie Date: Mon Mar 30 16:21:08 2009 +0800 KVM: MMU: Emulate #PF error code of reserved bits violation Detect, indicate, and propagate page faults where reserved bits are set. Take care to handle the different paging modes, each of which has different sets of reserved bits. [avi: fix pte reserved bits for efer.nxe=0] Signed-off-by: Eddie Dong Signed-off-by: Avi Kivity commit 362c1055e58ecd25a9393c520ab263c80b147497 Author: Yang Zhang Date: Mon Mar 23 03:31:04 2009 -0400 KVM: ia64: enable external interrupt in vmm Currently, the interrupt enable bit is cleared when in the vmm. This patch sets the bit and the external interrupts can be dealt with when in the vmm. This improves the I/O performance. Signed-off-by: Yang Zhang Signed-off-by: Avi Kivity commit a8b876b1a469cb364fee16ba3aef01613a1231cc Author: Eddie Dong Date: Thu Mar 26 15:28:40 2009 +0800 KVM: MMU: Fix comment in page_fault() The original one is for the code before refactoring. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f9c617f61127615dd054f3f159213bdd12451cab Author: Sheng Yang Date: Wed Mar 25 10:08:52 2009 +0800 KVM: VMX: Correct wrong vmcs field sizes EXIT_QUALIFICATION and GUEST_LINEAR_ADDRESS are natural width, not 64-bit. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7d433b9f942606f66da8ef68b8baecd2915c5627 Author: Avi Kivity Date: Tue Mar 24 14:27:47 2009 +0200 KVM: VMX: Make flexpriority module parameter reflect hardware capability If the hardware does not support flexpriority, zero the module parameter. Signed-off-by: Avi Kivity commit 78646121e9a2fcf7977cc15966420e572a450bc3 Author: Gleb Natapov Date: Mon Mar 23 12:12:11 2009 +0200 KVM: Fix interrupt unhalting a vcpu when it shouldn't kvm_vcpu_block() unhalts vpu on an interrupt/timer without checking if interrupt window is actually opened. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 09cec754885f900f6aab23801878c0cd217ee1d6 Author: Gleb Natapov Date: Mon Mar 23 15:11:44 2009 +0200 KVM: Timer event should not unconditionally unhalt vcpu. Currently timer events are processed before entering guest mode. Move it to main vcpu event loop since timer events should be processed even while vcpu is halted. Timer may cause interrupt/nmi to be injected and only then vcpu will be unhalted. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 089d034e0c4538d2436512fa64782b91008d4a7c Author: Avi Kivity Date: Mon Mar 23 18:26:32 2009 +0200 KVM: VMX: Fold vm_need_ept() into callers Trivial. Signed-off-by: Avi Kivity commit 575ff2dcb25608d53737d1126ee0e7e4d6f11752 Author: Avi Kivity Date: Mon Mar 23 18:25:15 2009 +0200 KVM: VMX: Zero ept module parameter if ept is not present Allows reading back hardware capability. Signed-off-by: Avi Kivity commit 919818abc2ca0721f1cd296fbc24601d9044f993 Author: Avi Kivity Date: Mon Mar 23 18:01:29 2009 +0200 KVM: VMX: Zero the vpid module parameter if vpid is not supported This allows reading back how the hardware is configured. Signed-off-by: Avi Kivity commit 4462d21a615dfd0c0f672c10832a011d6f280d5a Author: Avi Kivity Date: Mon Mar 23 17:53:37 2009 +0200 KVM: VMX: Annotate module parameters as __read_mostly Signed-off-by: Avi Kivity commit 736caefe1511d9d1116ed4ffb0ea95b7368beb1f Author: Avi Kivity Date: Mon Mar 23 17:39:48 2009 +0200 KVM: VMX: Simplify module parameter names Instead of 'enable_vpid=1', use a simple 'vpid=1'. Signed-off-by: Avi Kivity commit 6062d012ed23c29672bb0f93ebcfb8e556def726 Author: Avi Kivity Date: Mon Mar 23 17:35:17 2009 +0200 KVM: VMX: Rename kvm_handle_exit() to vmx_handle_exit() It is a static vmx-specific function. Signed-off-by: Avi Kivity commit c1f8bc04c6f8576553dc87abe7562e868433a19f Author: Avi Kivity Date: Mon Mar 23 15:41:17 2009 +0200 KVM: VMX: Make module parameters readable Useful to see how the module was loaded. Signed-off-by: Avi Kivity commit fe4c7b1914ac46af751d256f5a20c2e12dcbaaae Author: Gleb Natapov Date: Mon Mar 23 11:23:18 2009 +0200 KVM: reuse (pop|push)_irq from svm.c in vmx.c The prioritized bit vector manipulation functions are useful in both vmx and svm. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 61c50edfcd40be9126579f9cec68c789b6089998 Author: Gleb Natapov Date: Sun Mar 22 12:37:05 2009 +0200 KVM: SVM: Remove duplicate code in svm_do_inject_vector() svm_do_inject_vector() reimplements pop_irq(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 7fe29e0faacb650d31b9e9f538203a157bec821d Author: Amit Shah Date: Fri Mar 20 12:39:00 2009 +0530 KVM: x86: Ignore reads to EVNTSEL MSRs We ignore writes to the performance counters and performance event selector registers already. Kaspersky antivirus reads the eventsel MSR causing it to crash with the current behaviour. Return 0 as data when the eventsel registers are read to stop the crash. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit f00be0cae4e6ad0a8c7be381c6d9be3586800b3e Author: Gleb Natapov Date: Thu Mar 19 12:20:36 2009 +0200 KVM: MMU: do not free active mmu pages in free_mmu_pages() free_mmu_pages() should only undo what alloc_mmu_pages() does. Free mmu pages from the generic VM destruction function, kvm_destroy_vm(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e56d532f20c890a06bbe7cd479f4201e3a03cd73 Author: Sheng Yang Date: Thu Mar 12 21:45:39 2009 +0800 KVM: Device assignment framework rework After discussion with Marcelo, we decided to rework device assignment framework together. The old problems are kernel logic is unnecessary complex. So Marcelo suggest to split it into a more elegant way: 1. Split host IRQ assign and guest IRQ assign. And userspace determine the combination. Also discard msi2intx parameter, userspace can specific KVM_DEV_IRQ_HOST_MSI | KVM_DEV_IRQ_GUEST_INTX in assigned_irq->flags to enable MSI to INTx convertion. 2. Split assign IRQ and deassign IRQ. Import two new ioctls: KVM_ASSIGN_DEV_IRQ and KVM_DEASSIGN_DEV_IRQ. This patch also fixed the reversed _IOR vs _IOW in definition(by deprecated the old interface). [avi: replace homemade bitcount() by hweight_long()] Signed-off-by: Marcelo Tosatti Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 386eb6e8b3caface8a0514da70a47c05cabb5b96 Author: Hannes Eder Date: Tue Mar 10 22:51:09 2009 +0100 KVM: make 'lapic_timer_ops' and 'kpit_ops' static Fix this sparse warnings: arch/x86/kvm/lapic.c:916:22: warning: symbol 'lapic_timer_ops' was not declared. Should it be static? arch/x86/kvm/i8254.c:268:22: warning: symbol 'kpit_ops' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit 0b5d7a2ccb98f0403b1969295429724af9dc9d8e Author: Jes Sorensen Date: Wed Feb 25 10:38:55 2009 -0600 KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler Copy in SN2 RTC based ITC emulation for fast exit. The two versions have the same size, so a dropin is simpler than patching the branch instruction to hit the SN2 version. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit ce17c643738bebcacf8d19d8cab7dd3eb96f9f32 Author: Jes Sorensen Date: Wed Feb 25 10:38:54 2009 -0600 KVM: ia64: SN2 adjust emulated ITC frequency to match RTC frequency On SN2 do not pass down the real ITC frequency, but rather patch the values to match the SN2 RTC frequency. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit c6c9fcdf0fff7da77c088be11e3c4d0181b36941 Author: Jes Sorensen Date: Wed Feb 25 10:38:53 2009 -0600 KVM: ia64: Create inline function kvm_get_itc() to centralize ITC reading. Move all reading of special register 'AR_ITC' into two functions, one in the kernel and one in the VMM module. When running on SN2, base the result on the RTC rather the system ITC, as the ITC isn't synchronized. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 0c72ea7fb8a39b4bba071b19f5f835af5b5e538a Author: Jes Sorensen Date: Wed Feb 25 10:38:52 2009 -0600 KVM: ia64: Map in SN2 RTC registers to the VMM module On SN2, map in the SN2 RTC registers to the VMM module, needed for ITC emulation. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 58c2dde17d6eb6c8c0566e52d184aa16755d890f Author: Gleb Natapov Date: Thu Mar 5 16:35:04 2009 +0200 KVM: APIC: get rid of deliver_bitmask Deliver interrupt during destination matching loop. Signed-off-by: Gleb Natapov Acked-by: Xiantao Zhang Signed-off-by: Marcelo Tosatti commit e1035715ef8d3171e29f9c6aee6f40d57b3fead5 Author: Gleb Natapov Date: Thu Mar 5 16:34:59 2009 +0200 KVM: change the way how lowest priority vcpu is calculated The new way does not require additional loop over vcpus to calculate the one with lowest priority as one is chosen during delivery bitmap construction. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 343f94fe4d16ec898da77720c03da9e09f8523d2 Author: Gleb Natapov Date: Thu Mar 5 16:34:54 2009 +0200 KVM: consolidate ioapic/ipi interrupt delivery logic Use kvm_apic_match_dest() in kvm_get_intr_delivery_bitmask() instead of duplicating the same code. Use kvm_get_intr_delivery_bitmask() in apic_send_ipi() to figure out ipi destination instead of reimplementing the logic. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit a53c17d21c46a752f5ac6695376481bc27865b04 Author: Gleb Natapov Date: Thu Mar 5 16:34:49 2009 +0200 KVM: ioapic/msi interrupt delivery consolidation ioapic_deliver() and kvm_set_msi() have code duplication. Move the code into ioapic_deliver_entry() function and call it from both places. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 6da7e3f643cf7099965d75fda8606b9d3a8650b9 Author: Gleb Natapov Date: Thu Mar 5 16:34:44 2009 +0200 KVM: APIC: kvm_apic_set_irq deliver all kinds of interrupts Get rid of ioapic_inj_irq() and ioapic_inj_nmi() functions. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit f5a1e9f89504f57b2b45645a7239dc8a8ddb0f4c Author: Joerg Roedel Date: Thu Mar 5 13:12:29 2009 +0100 KVM: MMU: remove call to kvm_mmu_pte_write from walk_addr There is no reason to update the shadow pte here because the guest pte is only changed to dirty state. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 74a3a8f152053394a016518cc2f2fee216897fa4 Author: Sheng Yang Date: Wed Mar 4 13:33:02 2009 +0800 KVM: Merge kvm_ioapic_get_delivery_bitmask into kvm_get_intr_delivery_bitmask Gleb fixed bitmap ops usage in kvm_ioapic_get_delivery_bitmask. Sheng merged two functions, as well as fixed several issues in kvm_get_intr_delivery_bitmask 1. deliver_bitmask is a bitmap rather than a unsigned long intereger. 2. Lowest priority target bitmap wrong calculated by mistake. 3. Prevent potential NULL reference. 4. Declaration in include/kvm_host.h caused powerpc compilation warning. 5. Add warning for guest broadcast interrupt with lowest priority delivery mode. 6. Removed duplicate bitmap clean up in caller of kvm_get_intr_delivery_bitmask. Signed-off-by: Gleb Natapov Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit 3f5e06f8799adca3e7e1bbafe1cd780a3e69f604 Author: Yang Zhang Date: Mon Mar 2 22:06:41 2009 -0500 KVM: ia64: fix compilation error in kvm_get_lowest_prio_vcpu Modify the arg of kvm_get_lowest_prio_vcpu(). Make it consistent with its declaration. Signed-off-by: Yang Zhang Signed-off-by: Marcelo Tosatti commit d3c7b77d1a6e7a0a27035a7ba723a3455317883e Author: Marcelo Tosatti Date: Mon Feb 23 10:57:41 2009 -0300 KVM: unify part of generic timer handling Hide the internals of vcpu awakening / injection from the in-kernel emulated timers. This makes future changes in this logic easier and decreases the distance to more generic timer handling. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fd66842370e32f3bbe429677280a326c07e508c1 Author: Marcelo Tosatti Date: Mon Feb 23 10:57:40 2009 -0300 KVM: PIT: remove usage of count_load_time for channel 0 We can infer elapsed time from hrtimer_expires_remaining. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5a05d54554f19a128306eca7f7f5ed31f7d7eeb9 Author: Marcelo Tosatti Date: Mon Feb 23 10:57:39 2009 -0300 KVM: PIT: remove unused scheduled variable Unused. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b95b51d580bff9376850eef29d34c3aa08c26db7 Author: Christian Borntraeger Date: Thu Feb 26 13:55:33 2009 +0100 KVM: declare ioapic functions only on affected hardware Since "KVM: Unify the delivery of IOAPIC and MSI interrupts" I get the following warnings: CC [M] arch/s390/kvm/kvm-s390.o In file included from arch/s390/kvm/kvm-s390.c:22: include/linux/kvm_host.h:357: warning: 'struct kvm_ioapic' declared inside parameter list include/linux/kvm_host.h:357: warning: its scope is only this definition or declaration, which is probably not what you want This patch limits IOAPIC functions for architectures that have one. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit a90ede7b17d122acd58e6e1ff911be9dcf5263cc Author: Marcelo Tosatti Date: Wed Feb 11 22:45:42 2009 -0200 KVM: x86: paravirt skip pit-through-ioapic boot check Skip the test which checks if the PIT is properly routed when using the IOAPIC, aimed at buggy hardware. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2dea4c84bc936731668b5a7a9fba5b436a422668 Author: Matt T. Yourst Date: Tue Feb 24 15:28:00 2009 -0300 KVM: x86: silence preempt warning on kvm_write_guest_time This issue just appeared in kvm-84 when running on 2.6.28.7 (x86-64) with PREEMPT enabled. We're getting syslog warnings like this many (but not all) times qemu tells KVM to run the VCPU: BUG: using smp_processor_id() in preemptible [00000000] code: qemu-system-x86/28938 caller is kvm_arch_vcpu_ioctl_run+0x5d1/0xc70 [kvm] Pid: 28938, comm: qemu-system-x86 2.6.28.7-mtyrel-64bit Call Trace: debug_smp_processor_id+0xf7/0x100 kvm_arch_vcpu_ioctl_run+0x5d1/0xc70 [kvm] ? __wake_up+0x4e/0x70 ? wake_futex+0x27/0x40 kvm_vcpu_ioctl+0x2e9/0x5a0 [kvm] enqueue_hrtimer+0x8a/0x110 _spin_unlock_irqrestore+0x27/0x50 vfs_ioctl+0x31/0xa0 do_vfs_ioctl+0x74/0x480 sys_futex+0xb4/0x140 sys_ioctl+0x99/0xa0 system_call_fastpath+0x16/0x1b As it turns out, the call trace is messed up due to gcc's inlining, but I isolated the problem anyway: kvm_write_guest_time() is being used in a non-thread-safe manner on preemptable kernels. Basically kvm_write_guest_time()'s body needs to be surrounded by preempt_disable() and preempt_enable(), since the kernel won't let us query any per-CPU data (indirectly using smp_processor_id()) without preemption disabled. The attached patch fixes this issue by disabling preemption inside kvm_write_guest_time(). [marcelo: surround only __get_cpu_var calls since the warning is harmless] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d510d6cc653bc4b3094ea73afe12600d0ab445b3 Author: Sheng Yang Date: Wed Feb 25 17:22:28 2009 +0800 KVM: Enable MSI-X for KVM assigned device This patch finally enable MSI-X. What we need for MSI-X: 1. Intercept one page in MMIO region of device. So that we can get guest desired MSI-X table and set up the real one. Now this have been done by guest, and transfer to kernel using ioctl KVM_SET_MSIX_NR and KVM_SET_MSIX_ENTRY. 2. Information for incoming interrupt. Now one device can have more than one interrupt, and they are all handled by one workqueue structure. So we need to identify them. The previous patch enable gsi_msg_pending_bitmap get this done. 3. Mapping from host IRQ to guest gsi as well as guest gsi to real MSI/MSI-X message address/data. We used same entry number for the host and guest here, so that it's easy to find the correlated guest gsi. What we lack for now: 1. The PCI spec said nothing can existed with MSI-X table in the same page of MMIO region, except pending bits. The patch ignore pending bits as the first step (so they are always 0 - no pending). 2. The PCI spec allowed to change MSI-X table dynamically. That means, the OS can enable MSI-X, then mask one MSI-X entry, modify it, and unmask it. The patch didn't support this, and Linux also don't work in this way. 3. The patch didn't implement MSI-X mask all and mask single entry. I would implement the former in driver/pci/msi.c later. And for single entry, userspace should have reposibility to handle it. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 2350bd1f62c8706c22b8e58c3bfff10806c0a31b Author: Sheng Yang Date: Wed Feb 25 17:22:27 2009 +0800 KVM: Add MSI-X interrupt injection logic We have to handle more than one interrupt with one handler for MSI-X. Avi suggested to use a flag to indicate the pending. So here is it. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c1e01514296e8a4a43ff0c88dcff635cb90feb5f Author: Sheng Yang Date: Wed Feb 25 17:22:26 2009 +0800 KVM: Ioctls for init MSI-X entry Introduce KVM_SET_MSIX_NR and KVM_SET_MSIX_ENTRY two ioctls. This two ioctls are used by userspace to specific guest device MSI-X entry number and correlate MSI-X entry with GSI during the initialization stage. MSI-X should be well initialzed before enabling. Don't support change MSI-X entry number for now. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit bfd349d073b2838a6a031f057d25e266619b7093 Author: Sheng Yang Date: Wed Feb 11 16:03:40 2009 +0800 KVM: bit ops for deliver_bitmap It's also convenient when we extend KVM supported vcpu number in the future. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 110c2faeba1f1994bcb1de55b9c31f4147dbfdb6 Author: Sheng Yang Date: Wed Feb 11 16:03:39 2009 +0800 KVM: Update intr delivery func to accept unsigned long* bitmap Would be used with bit ops, and would be easily extended if KVM_MAX_VCPUS is increased. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e5871be0f5d6847bc9585c997acb1b917c168f03 Author: Sheng Yang Date: Wed Feb 11 16:03:38 2009 +0800 KVM: Change API of kvm_ioapic_get_delivery_bitmask In order to use with bit ops. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 116191b69b608d0f1513e3abe71d6a46800f2bd6 Author: Sheng Yang Date: Wed Feb 11 16:03:37 2009 +0800 KVM: Unify the delivery of IOAPIC and MSI interrupts Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cf9e4e15e8f6306b2559979269ead7c02e6b2b95 Author: Sheng Yang Date: Wed Feb 11 16:03:36 2009 +0800 KVM: Split IOAPIC structure Prepared for reuse ioapic_redir_entry for MSI. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5897297bc228fc3c85fdc421fd5c487f9a99821a Author: Avi Kivity Date: Tue Feb 24 22:26:47 2009 +0200 KVM: VMX: Don't intercept MSR_KERNEL_GS_BASE Windows 2008 accesses this MSR often on context switch intensive workloads; since we run in guest context with the guest MSR value loaded (so swapgs can work correctly), we can simply disable interception of rdmsr/wrmsr for this MSR. A complication occurs since in legacy mode, we run with the host MSR value loaded. In this case we enable interception. This means we need two MSR bitmaps, one for legacy mode and one for long mode. Signed-off-by: Avi Kivity commit 3e7c73e9b15eab73e9cf72daf3931925da8afcff Author: Avi Kivity Date: Tue Feb 24 21:46:19 2009 +0200 KVM: VMX: Don't use highmem pages for the msr and pio bitmaps Highmem pages are a pain, and saving three lowmem pages on i386 isn't worth the extra code. Signed-off-by: Avi Kivity commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343 Author: Jiri Kosina Date: Wed Jun 10 10:25:56 2009 +0200 HID: fix inverted wheel for bluetooth version of apple mighty mouse Bluetooth version of Apple Mighty mouse (0x05ac/0x030c) doesn't, according to multiple reports on linux-input@, need the same quirk as the USB version of this mouse (0x05ac/0x0304) does. Signed-off-by: Jiri Kosina commit 51611a120e8120290152edd7d0020d22a7f4b4a3 Author: Wolfgang Grandegger Date: Wed Jun 10 01:12:39 2009 -0700 can: sja1000_of_platform: fix build problems with printk format According to "Documentation/printk-formats.txt", if the type is dependent on a config option for its size, like resource_size_t, we should use a format specifier of its largest possible type and explicitly cast to it. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit bf12691d846b48fa6e3289810a822687457036cf Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:48 2009 +0000 sunrpc/auth_gss: Call rcu_barrier() on module unload. As the module uses rcu_call() we should make sure that all rcu callback has been completed before removing the code. Signed-off-by: Jesper Dangaard Brouer Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit eaa184a1a1cda3991420c47bc960ddea6cbacff2 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:43 2009 +0000 sctp: protocol.c call rcu_barrier() on unload. On module unload call rcu_barrier(), this is needed as synchronize_rcu() is not strong enough. The kmem_cache_destroy() does invoke synchronize_rcu() but it does not provide same protection. Signed-off-by: Jesper Dangaard Brouer Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 382bfeec48e43c416af9b271b9b70d2f61ef32d2 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:38 2009 +0000 can: af_can.c use rcu_barrier() on module unload. This module uses rcu_call() thus it should use rcu_barrier() on module unload. Signed-off-by: Jesper Dangaard Brouer Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 67137f3cc727e4da0297ffd7bfade837aa15ecfa Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:33 2009 +0000 nfnetlink_queue: Use rcu_barrier() on module unload. This module uses rcu_call() thus it should use rcu_barrier() on module unload. Also fixed a trivial typo 'nfetlink' -> 'nfnetlink' in comment. Signed-off-by: Jesper Dangaard Brouer Acked-by: Paul E. McKenney Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 6e327c11a91d190650df9aabe7d3694d4838bfa1 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:28 2009 +0000 8021q: Vlan driver should use rcu_barrier() on unload instead of syncronize_net() The VLAN 8021q driver needs to call rcu_barrier() when unloading the module, instead of syncronize_net(). This is needed to make sure that outstanding call_rcu() callbacks have completed, before the callback function code is removed on module unload. Signed-off-by: Jesper Dangaard Brouer Reviewed-by: Paul E. McKenney Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 40bc9a27e00d6c8c7e4dc2865c02d7402a950472 Author: Steven Whitehouse Date: Wed Jun 10 09:09:40 2009 +0100 GFS2: Fix cache coherency between truncate and O_DIRECT read If a page was partially zeroed as the result of a truncate, then it was not being correctly marked dirty. This resulted in the deleted data reappearing if the file was read back via direct I/O. Reported-by: Eric Sandeen Signed-off-by: Steven Whitehouse commit 1abb0de2f89c1f9c454c973356b9e4867722f10a Author: Ron Mercer Date: Tue Jun 9 06:35:12 2009 +0000 qlge: bugfix: Get rid of errant spin_unlock(). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 00acd0d2ecac925fdcbe47cbda5ea517f87ad354 Author: Ron Mercer Date: Tue Jun 9 05:39:31 2009 +0000 qlge: Add set TX csum ethtool op. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e4552f51ceefcf51b79c5bf8dafc7abb4bb7657d Author: Ron Mercer Date: Tue Jun 9 05:39:32 2009 +0000 qlge: Add support for varied pcie function numbers. Currently we support only PCIe NIC functions zero and one, and FCoE functions as 3 and 4. Future configurations can mix these up in any fashion. This patch removes the 0-1 dependancy and allows usage of any of the 4 functions. We also find the alternate NIC function (if exist) and determine our port number based on the comparison of the two functions: Lower function number gets first port, higher function gets second port. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 542512e4824c1cecc05478f279dccbde1d8bf97a Author: Ron Mercer Date: Tue Jun 9 05:39:33 2009 +0000 qlge: Add support for using alternate MAC address. Extract either manufacturer or Bladecenter Open Fabric Manager (BOFM) MAC address. BOFM may indicate an alternate MAC address. This patch honors that request by extracting the MAC address from a different flash location if a flag is set. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ec33a49135d96df56ef106a49c2434ca81f821f9 Author: Ron Mercer Date: Tue Jun 9 05:39:28 2009 +0000 qlge: Drop inbound frames > MTU. The max frame size register is set higher than the MTU to accomodate FCoE frames. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a32959cd9df77423c8b375119ee7f135ff302bc1 Author: Ron Mercer Date: Tue Jun 9 05:39:27 2009 +0000 qlge: Drop inbound error frames. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e4059d942a211cc752c145bd46b03386e425be0b Author: Ron Mercer Date: Tue Jun 9 05:39:30 2009 +0000 qlge: Remove netif_set_gso_max_size() call. Not necessary if hardware supports 65536 as it's the default setting. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit cfec0cbc92cdcec5a540bf340c5a9fb8c89e5af1 Author: Ron Mercer Date: Tue Jun 9 05:39:29 2009 +0000 qlge: Add support for retrieving firmware version. This is used by driver banner and ethtool info. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c1d0d32a603ed06377f404adf2c538de33bb3634 Author: Paul Mundt Date: Wed Jun 10 09:48:33 2009 +0300 sh: plug vsyscall dir in to archclean. The vsyscall targets are presently not cleaned up, so just handle it in the archclean rule. Reported-by: Magnus Damm Signed-off-by: Paul Mundt commit 85e013a18acfad98473a4432bb7082d1fcc74a25 Merge: 4ef2792 92a4379 Author: Takashi Iwai Date: Wed Jun 10 07:26:49 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb - Add boot quirk for C-Media 6206 USB Audio ALSA: usb-audio - errata corrige for quirk ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX ALSA: usb-audio - quirk for USB Aureon cards commit 4ef279205a1ca4c37bf80811dd9d0f65c854fbf7 Merge: 1282c82 0528c74 Author: Takashi Iwai Date: Wed Jun 10 07:26:48 2009 +0200 Merge branch 'topic/seq-kconfig-cleanup' into for-linus * topic/seq-kconfig-cleanup: ALSA: clean up the logic for building sequencer modules commit 1282c824cc4ad5b43fc1813e7ea564c0d6f0d046 Merge: 45d60e3 82ced6f Author: Takashi Iwai Date: Wed Jun 10 07:26:46 2009 +0200 Merge branch 'topic/section-fix' into for-linus * topic/section-fix: ALSA: Add missing __devexit_p() markers ALSA: powermac - Replace the rest of __init* ALSA: sound/ppc: update annotations of serveral functions commit 45d60e3648eaba1f5f6976df901fb7c45660fb49 Merge: 87cb14a b0ec3a3 Author: Takashi Iwai Date: Wed Jun 10 07:26:45 2009 +0200 Merge branch 'topic/sc6000' into for-linus * topic/sc6000: ALSA: sc6000: enable joystick port ALSA: sc6000: fix older card initialization ALSA: sc6000: add support for SC-6600 and SC-7000 commit 87cb14a5f46207f5c445dd755096f8568d136a2a Merge: 4ad7543 db1005e Author: Takashi Iwai Date: Wed Jun 10 07:26:44 2009 +0200 Merge branch 'topic/riptide' into for-linus * topic/riptide: ALSA: riptide - Fix joystick resource handling ALSA: riptide - Code clean up commit 4ad75433c2a8a2eab16b077456202815adc536f9 Merge: 3b88bc5 9a83b74 Author: Takashi Iwai Date: Wed Jun 10 07:26:43 2009 +0200 Merge branch 'topic/pcm-subclass-fix' into for-linus * topic/pcm-subclass-fix: ALSA: Remove invalid GENERIC_MIX PCM sublass commit 3b88bc522986ae853670fcba71bb3761c84f7867 Merge: eabaf06 c007011 Author: Takashi Iwai Date: Wed Jun 10 07:26:41 2009 +0200 Merge branch 'topic/pcm-jiffies-check' into for-linus * topic/pcm-jiffies-check: ALSA: pcm - A helper function to compose PCM stream name for debug prints ALSA: pcm - Fix update of runtime->hw_ptr_interrupt ALSA: pcm - Fix a typo in hw_ptr update check ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed ALSA: PCM midlevel: introduce mask for xrun_debug() macro ALSA: PCM midlevel: improve fifo_size handling commit eabaf0634a9034f2e487b0be347edc1460c026a4 Merge: 9dea75c ae1ec5e Author: Takashi Iwai Date: Wed Jun 10 07:26:40 2009 +0200 Merge branch 'topic/pcm-delay' into for-linus * topic/pcm-delay: ALSA: usbaudio - Add delay account ALSA: Add extra delay count in PCM commit 9dea75c70965c240012251dc5845fe0c1a061180 Merge: 8c3ff3a 04f9890 Author: Takashi Iwai Date: Wed Jun 10 07:26:39 2009 +0200 Merge branch 'topic/oxygen' into for-linus * topic/oxygen: sound: virtuoso: add Xonar Essence ST support sound: virtuoso: enable HDAV S/PDIF input sound: virtuoso: add another DX PCI ID sound: oxygen: reset DMA when stream is closed commit 8c3ff3a7fb9730564554bb65d54455e6ce8ad340 Merge: ed8cc17 ad0b082 Author: Takashi Iwai Date: Wed Jun 10 07:26:37 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: sgio2audio.c: clean up checking ALSA: burgundy: timeout message is off by one. ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99 ALSA: parisc/harmony: fix printk format warning ALSA: keywest: Get rid of useless i2c_device_name() macro commit ed8cc176c9d3f8fbc2ddc18b75362be666e6d328 Merge: 03cece0 72cbfd4 Author: Takashi Iwai Date: Wed Jun 10 07:26:36 2009 +0200 Merge branch 'topic/maya44' into for-linus * topic/maya44: ALSA: ice1724 - Add ESI Maya44 support ALSA: ice1724 - Allow spec driver to create own routing controls ALSA: ice1724 - Add PCI postint to reset sequence ALSA: ice1724 - Clean up definitions of DMA records ALSA: ice1724 - Check error in set_rate function commit 03cece06c41431ab71affc540d587e61894d7572 Merge: 3c2fcf3 8338c30 Author: Takashi Iwai Date: Wed Jun 10 07:26:34 2009 +0200 Merge branch 'topic/lx6464es' into for-linus * topic/lx6464es: ALSA: Add missing description of lx6464es to ALSA-Configuration.txt ALSA: lx6464es - Disable lx_message_send() ALSA: lx6464es - Use snd_card_create() ALSA: lx6464es - driver for the digigram lx6464es interface commit 3c2fcf36d78d75eef46c2e39483ff8c3230ae335 Merge: 81ad969 511b4c1 Author: Takashi Iwai Date: Wed Jun 10 07:26:32 2009 +0200 Merge branch 'topic/hdsp' into for-linus * topic/hdsp: ALSA: hdsp - Add a comment about external firmwares for hdsp ALSA: hdsp: allow firmware loading from inside the kernel commit 81ad969dbf8b10c3e79c5811b8328c054c21ef39 Merge: 2f0dabc f03ecf5 Author: Takashi Iwai Date: Wed Jun 10 07:26:31 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: (51 commits) ALSA: hda - Fix the previous tagra-8ch patch ALSA: hda - Add 7.1 support for MSI GX620 ALSA: support Sony Vaio TT ALSA: hda_intel: fix build error when !PM ALSA: hda - More Aspire 8930G fixes ALSA: hda - Acer Aspire 8930G support ALSA: hda - Limit codec-verb retry to limited hardwares ALSA: hda - Add codec bus reset and verb-retry at critical errors ALSA: hda - Reorder and clean-up ALC268 quirk table ALSA: hda - fix audio on LG R510 ALSA: hda - Macbook[Pro] 5 6ch support ALSA: hda-intel: improve initialization for ALC262_HP_BPC model ALSA: hda - Jack Mode changes for Sigmatel boards ALSA: hda - Support NVIDIA 8 channel HDMI audio ALSA: hda - Fix a typo in the previous patch ALSA: hda - Fix reverted LED setup for HP ALSA: hda - Add more register bits definitions ALSA: hda - Always sync writes in single_cmd mode ALSA: hda - Support sync after writing a verb ALSA: hda - Allow concurrent RIRB access in single_cmd mode ... commit 2f0dabcc5f5fde67c64a6f71e9fb369aed39d56f Merge: 19b1a15 806d31d Author: Takashi Iwai Date: Wed Jun 10 07:26:29 2009 +0200 Merge branch 'topic/emu10k1' into for-linus * topic/emu10k1: ALSA: emu10k1 - Fix minimum periods for efx playback commit 19b1a15a3de2b3b6367c968e65bffe9503556ef1 Merge: e618a56 3f7440a Author: Takashi Iwai Date: Wed Jun 10 07:26:28 2009 +0200 Merge branch 'topic/div64-cleanup' into for-linus * topic/div64-cleanup: ALSA: Clean up 64bit division functions commit e618a5609e504845786c71e2825e10b6a9728185 Merge: d3e3743 a5990dc Author: Takashi Iwai Date: Wed Jun 10 07:26:27 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: (35 commits) ALSA: ctxfi - Clear PCM resources at hw_params and hw_free ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() ALSA: ctxfi - Add use_system_timer module option ALSA: ctxfi - Fix wrong model id for UAA ALSA: ctxfi - Clean up probe routines ALSA: ctxfi - Fix / clean up hw20k2 chip code ALSA: ctxfi - Fix possible buffer pointer overrun ALSA: ctxfi - Remove useless initializations and cast ALSA: ctxfi - Fix DMA mask for emu20k2 chip ALSA: ctxfi - Make volume controls more intuitive ALSA: ctxfi - Optimize the native timer handling using wc counter ALSA: ctxfi - Add missing inclusion of linux/math64.h ALSA: ctxfi - Set device 0 for mixer control elements ALSA: ctxfi - Clean up / optimize ALSA: ctxfi - Set periods_min to 2 ALSA: ctxfi - Use native timer interrupt on emu20k1 ALSA: ctxfi - Fix previous fix for 64bit DMA ALSA: ctxfi - Fix endian-dependent codes ALSA: ctxfi - Allow 64bit DMA ... commit d3e3743694cbfd64450b3468e11b40ba8c6f4369 Merge: d108728 5fdc18d Author: Takashi Iwai Date: Wed Jun 10 07:26:26 2009 +0200 Merge branch 'topic/core-id-check' into for-linus * topic/core-id-check: ALSA: Core - clean up snd_card_set_id* calls and remove possible id collision ALSA: Fix double locking of card list in snd_card_register() commit d108728ea24a766335ae22f10bfaf41f248fb70e Merge: ab2f06c ef9dfa4 Author: Takashi Iwai Date: Wed Jun 10 07:26:24 2009 +0200 Merge branch 'topic/cleanup' into for-linus * topic/cleanup: ALSA: Remove deprecated include/sound/driver.h ALSA: Remove deprecated snd_card_new() commit ab2f06cb6b7cc4cb782387a19fbfed3dfe8a8436 Merge: a963203 c6e24d4 Author: Takashi Iwai Date: Wed Jun 10 07:26:23 2009 +0200 Merge branch 'topic/caiaq' into for-linus * topic/caiaq: ALSA: snd_usb_caiaq: bump version number ALSA: snd_usb_caiaq: give better shortname ALSA: Core - add snd_card_set_id() function ALSA: snd_usb_caiaq: give better longname ALSA: snd_usb_caiaq: use strlcpy ALSA: snd_usb_caiaq: clean whitespaces commit a963203c18e5988506bd173b75ca002df528ed48 Merge: 1d479f8 c486567 Author: Takashi Iwai Date: Wed Jun 10 07:26:22 2009 +0200 Merge branch 'topic/ca0106' into for-linus * topic/ca0106: ALSA: ca0106 - Fix master volume scale ALSA: ca0106 - Add missing card->mixername field setup ALSA: ca0106 - Add missing registrations of vmaster controls commit 1d479f89ec9f29df220bfa1af297ab2f35be1e30 Merge: ba252af e9ab33d Author: Takashi Iwai Date: Wed Jun 10 07:26:21 2009 +0200 Merge branch 'topic/au88x0' into for-linus * topic/au88x0: ALSA: au88x0: fix wrong period_elapsed() call ALSA: au88x0: fix .pointer callback commit ba252af8d60f543a2a2c03f5574f64007ae9c2f3 Merge: 07a2039 74b8f95 Author: Takashi Iwai Date: Wed Jun 10 07:26:18 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: (135 commits) ASoC: Apostrophe patrol ASoC: codec tlv320aic23 fix bogus divide by 0 message ASoC: fix NULL pointer dereference in soc_suspend() ASoC: Fix build error in twl4030.c ASoC: SSM2602: assign last substream to the master when shutting down ASoC: Blackfin: document how anomaly 05000250 is handled ASoC: Blackfin: set the transfer size according the ac97_frame size ASoC: SSM2602: remove unsupported sample rates ASoC: TWL4030: Check the interface format for 4 channel mode ASoC: TWL4030: Use reg_cache in twl4030_init_chip ASoC: Initialise dev for the dummy S/PDIF DAI ASoC: Add dummy S/PDIF codec support ASoC: correct print specifiers for unsigneds ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout() ASoC: Switch FSL SSI DAI over to symmetric_rates ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved ASoC: Fabric bindings for STAC9766 on the Efika ASoC: Support for AC97 on Phytec pmc030 base board. ASoC: AC97 driver for mpc5200 ASoC: Main rewite of the mpc5200 audio DMA code ... commit 2b83868723d090078ac0e2120e06a1cc94dbaef0 Author: Linus Torvalds Date: Tue Jun 9 20:40:25 2009 -0700 Make /dev/zero reads interruptible by signals This helps with bad latencies for large reads from /dev/zero, but might conceivably break some application that "knows" that a read of /dev/zero cannot return early. So do this early in the merge window to give us maximal test coverage, even if the patch is totally trivial. Obviously, no well-behaved application should ever depend on the read being uninterruptible, but hey, bugs happen. Signed-off-by: Linus Torvalds commit 0808dc80939b08ec215f472e17a5d8f6b148037e Author: David S. Miller Date: Tue Jun 9 18:05:28 2009 -0700 netfilter: Fix extra semi-colon in skb_walk_frags() changes. Noticed by Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 1506e30b5f25f6c3357167a18f0e4ae6f5662a28 Author: Johannes Berg Date: Tue Jun 9 17:49:06 2009 -0700 rfkill: include err.h Since we use ERR_PTR and similar macros, we need to include linux/err.h. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 35f2c2f6f6ae13ef23c4f68e6d3073753077ca43 Author: Paul Mundt Date: Tue Jun 9 17:48:56 2009 +0900 nommu: Provide mmap_min_addr definition. With the "security: use mmap_min_addr indepedently of security models" change, mmap_min_addr is used in common areas, which susbsequently blows up the nommu build. This stubs in the definition in the nommu case as well. Signed-off-by: Paul Mundt -- mm/nommu.c | 3 +++ 1 file changed, 3 insertions(+) Signed-off-by: James Morris commit fc847ab4318cd6ab6c231739ad51d2502d19a87a Author: James Bottomley Date: Tue Jun 9 23:01:01 2009 +0000 [SCSI] mpt fusion: fix up doc book comments Several of the doc book in the previous patches had incorrect multi-line short function descriptors. Fixed it all to be the correct single line descriptor. Signed-off-by: James Bottomley commit db7051b2984d2c7d44b6178ad4c523500dff7f7c Author: Kashyap, Desai Date: Fri May 29 16:56:59 2009 +0530 [SCSI] mpt fusion: Added support for Broadcast primitives Event handling Firmware is able to handle Broadcast primitives, but upstream driver does not have support for broadcast primitive handling. Now this patch is mainly to support broadcast primitives. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 57e985136bfafdfcd72c4c7d91115955d225677e Author: Kashyap, Desai Date: Fri May 29 16:55:09 2009 +0530 [SCSI] mpt fusion: Queue full event handling FW will report Queue full event to Driver and driver will handle this queue full event to SCSI Mid layer. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit a7938b0bb3b458fe0723608be3db6c4ed8d79a8c Author: Kashyap, Desai Date: Fri May 29 16:53:56 2009 +0530 [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added 1. Handle integrated Raid device(Add/Delete) and error condition and check related to Raid device. is_logical_volume will represent logical volume device. 2. Raid device dual port support is added. Main functions to support this feature are mpt_raid_phys_disk_get_num_paths and mpt_raid_phys_disk_pg1. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 71278192a887d7da3e768809c6fe9979d172ff23 Author: Kashyap, Desai Date: Fri May 29 16:53:14 2009 +0530 [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 2f187862e579f1f5e883188cab6bd867cb60387f Author: Kashyap, Desai Date: Fri May 29 16:52:37 2009 +0530 [SCSI] mpt fusion: Code Cleanup patch Resending patch considering Grants G's code review. Main goal to submit this patch is code cleaup. 1. Better driver debug prints and code indentation. 2. fault_reset_work_lock is not used anywhere. driver is using taskmgmt_lock instead of fault_reset_work_lock. 3. setting pci_set_drvdata properly. 4. Ingore config request when IOC is in reset state.( ioc_reset_in_progress is set). 5. Init/clear managment frame proprely.(INITIALIZE_MGMT_STATUS and CLEAR_MGMT_STATUS) Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit eedf92b99806aeff18dc21c9dfb28999ce374413 Author: Kashyap, Desai Date: Fri May 29 16:51:32 2009 +0530 [SCSI] mpt fusion: Rescan SAS topology added 1.) SAS topology Rescan is added. If Firmware is doing Reset and we get Device add interrupt from Firmware, we will not receive it as part of Reset is going ON. After Reset we will do special Rescan of SAS topology. 2.) Driver version changed from 3.04.08 to 3.04.09. Added proper lock/unlock in mptsas_not_responding_devices() as per James' comment. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f9c34022eae9c76465dc2ec8805b9905e171ef40 Author: Kashyap, Desai Date: Fri May 29 16:49:36 2009 +0530 [SCSI] mpt fusion: SAS topology scan changes, expander events SAS topology scan is restructured. HBA firmware is generating more events. Expander Events are added, Link status events are also added with respect to SAS topology scan optimization. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 3eb0822c6740c5564c37a2fe56449cdb4f3d800c Author: Kashyap, Desai Date: Fri May 29 16:47:26 2009 +0530 [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue Now Firmware events are handled by firmware event queue. Previously it was handled in interrupt context/WorkQueue of Linux. Firmware Event handling is restructured and optimized. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit ea2a788de4ce5ebab09276e25443f55592af2335 Author: Kashyap, Desai Date: Fri May 29 16:46:50 2009 +0530 [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function 1) rewrite of ioctl_cmds internal generated function that issue commands to firmware, porting them to be single threaded using the generic MPT_MGMT struct. All wait Queues are replace by completion Queue. 2) added seperate callback handler for ioctl task managment (mptctl_taskmgmt_reply), to handle command that timeout 3) rewrite mptctl_bus_reset Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e7deff3374cc5951f914dcb3c66bc1b8de8a084e Author: Kashyap, Desai Date: Fri May 29 16:46:07 2009 +0530 [SCSI] mpt fusion: Adding DeviceResetCtx for internal Device reset frame 1.) Added taskmgmt_quiesce_io flag in IOC and removed resetPending from _MPT_SCSI_HOST struct. 2.) Reset from Scsi mid layer and internal Reset are seperate context. Adding DeviceResetCtx for internal Device reset frame. mptsas_taskmgmt_complete is optimized as part of implementation. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 1ba9ab2eb2c53df52e498779e14cf4e5ea77b0ad Author: Kashyap, Desai Date: Fri May 29 16:44:48 2009 +0530 [SCSI] mpt fusion: rewrite taskmgmt request and completion routines 1.) rewrite taskmanagement request and completion routines, making them single threaded and using the generic MPT_MGMT struct, deleting mptscsih_TMHandler, replacing with single request TM handler mptscsih_IssueTaskMgmt, and killing the watchdog timer functions. 2.) cleanup ioc_reset callback handlers, introducing wrappers for synchronizing error recovery (mpt_set_taskmgmt_in_progress_flag, mpt_clear_taskmgmt_in_progress_flag), as the fusion firmware only handles one task management request at a time Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 37c60f374a855974c27bd30d5662a8fa5e933792 Author: Kashyap, Desai Date: Fri May 29 16:44:06 2009 +0530 [SCSI] mpt fusion: rewrite of all internal generated functions Rewrite of all internal generated functions that issue commands to firmware, porting them to be single threaded using the generic MPT_MGMT struct. Implemented using completion Queue. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f0f09d3b3f06900d64971625d6753dea0623ed45 Author: Kashyap, Desai Date: Fri May 29 16:40:57 2009 +0530 [SCSI] mpt fusion: config path optimized, completion queue is used 1) Previously we had mutliple #defines to use same values. Now those #defines are optimized. MPT_IOCTL_STATUS_* is removed and MPT_MGMT_STATUS_* are new #defines. 2.) config path is optimized. Instead of wait Queue and timer, using completion Q. 3.) mpt_timer_expired is not used. [jejb: elide patch to eliminate mpt_timer_expired] Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fd76175a7d3abf4d14df17f5f4c7e68b466b455d Author: Kashyap, Desai Date: Fri May 29 16:39:06 2009 +0530 [SCSI] mpt fusion: Optimized SendEvent notification Using Doorbell instead FIFO SendEventNotification was handled through FIFO, now it is using doorbell to communicate with hardware. Added Sleep Flag as an extra argument to support Can-Sleep feature. Resending patch including compilation error fix reviewed by Grant Grundler. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 7b5a65b9e649dad9cf9c6d282df4162843070351 Author: Kashyap, Desai Date: Fri May 29 16:38:14 2009 +0530 [SCSI] mpt fusion: Added support for MPT discovery completion check sas_discovery_quiesce_io flag is used to control IO start/resume functionality. IO will be stoped while doing discovery of topology. Once discovery is completed It will resume IO. Resending patch including James review. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 14d0f0b063f5363984dd305a792854f9c23e9e97 Author: Kashyap, Desai Date: Fri May 29 16:37:04 2009 +0530 [SCSI] mpt fusion: Fixing 1078 data corruption issue for 36GB memory region The reason for this change is there is a data corruption when four different physical memory regions in the 36GB to 37GB region are accessed. This is only affecting 1078. The solution is we need to use different addressing when filling in the scatter gather table for the effected memory regions. So instead of snooping on all four different memory holes, we treat any physical addresses in the 36GB address with the same algorithm. The fix is explained below 1) Ensure that the message frames are NOT located in the trouble region. There is no remapping available for message frames, they must be allocated outside the problem region. 2) Ensure that Sense buffers are NOT in the trouble region. There is no remapping available. 3) Walk through the SGE entries and if any are inside the trouble region then they need to be remapped as discussed below. 1) Set the Local Address bit in the SGE Flags field. MPI_SGE_FLAGS_LOCAL_ADDRESS 2) Ensure we are using 64-bit SGEs 3) Set MSb (Bit 63) of the 64-bit address, this will indicate buffer location is Host Memory. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 03d6069912babc07a3da20e715dd6a5dc8f0f867 Author: Keith Packard Date: Fri Jun 5 18:19:56 2009 -0700 drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect) With the DRM-driven DPMS code, encoders are considered idle unless a connector is hooked to them, so mode setting is skipped. This makes load detection fail as none of the hardware is enabled. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 2939e1f5331455d17a4a704dd6210e1474002545 Author: Chris Wilson Date: Sat Jun 6 09:46:03 2009 +0100 drm/i915: NOMEM->NOSPC To differentiate between encountering an out-of-memory error with running out of space in the aperture, use ENOSPC for the later. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 21d509e339565c82887733c02465bb7f5866c8f5 Author: Chris Wilson Date: Sat Jun 6 09:46:02 2009 +0100 drm/i915: use I915_GEM_GPU_DOMAINS Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit b1ce786cb85280490ca3c29a62ddf8608826b414 Author: Chris Wilson Date: Sat Jun 6 09:46:00 2009 +0100 drm/i915: no need to hold mutex for object lookup Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 1f803ee5cea67d2387aeedb4b07e645a743729de Author: Chris Wilson Date: Sat Jun 6 09:45:59 2009 +0100 drm/i915: Call drm_vblank_post_modeset() on error paths. Ensure that the drm_vblank_pre_modeset() is always balanced by drm_vblank_post_modeset() within intel_crtc_mode_set(). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 110bf2b764eb6026b868d84499263cb24b1bcc8d Author: Steven Rostedt Date: Tue Jun 9 17:29:07 2009 -0400 tracing: add protection around module events unload When reading the trace buffer, there is a race that when a module is unloaded it removes events that is stilled referenced in the buffers. This patch adds the protection around the unloading of the events from modules and the reading of the trace buffers. Signed-off-by: Steven Rostedt commit b9d97328e27b9272ed2ff2ad18de61aa1bf12af8 Author: Randy Dunlap Date: Tue Jun 9 08:50:38 2009 -0700 kernel-doc: cleanup perl script Various cleanups of scripts/kernel-doc: - don't use **/ as an ending kernel-doc block since it's not preferred; - typos/spellos - add whitespace around ==, after comma, & around . operator; Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit ef53dae8658cf0e93d380983824a661067948d87 Author: Sam Ravnborg Date: Sun Jun 7 20:46:37 2009 +0200 Improve vmlinux.lds.h support for arch specific linker scripts To support alingment of the individual architecture specific linker scripts provide a set of general definitions in vmlinux.lds.h With these definitions applied the diverse linekr scripts can be reduced in line count and their readability are improved - IMO. A sample linker script is included to give the preferred order of the sections for the architectures that do not have any special requirments. These definitions are also a first step towards eventual support for -ffunction-sections. The definitions makes it much easier to do a global renaming of section names - but the main purpose is to clean up the linker scripts. Tim Aboot has provided a lot of inputs to improve the definitions - all faults are mine. Signed-off-by: Sam Ravnborg Cc: Tim Abbott commit 5f26a2c7ad6eba97141e8372f3def282f934b169 Author: Chris Wilson Date: Sat Jun 6 09:45:58 2009 +0100 drm/i915: OR in the COMMAND read domain for the batch buffer. The batch buffer may be shared with another read buffer, so we should not ignore any previously set domains, but just or in the command domain (and check that the buffer is not writable). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 83d60795157c83389e6aaa0532d5e19afa976a24 Author: Chris Wilson Date: Sat Jun 6 09:45:57 2009 +0100 drm/i915: Sanity check execbuffer arguments before touching state. By sending a broken execbuffer (its length was not suitably aligned) I triggered an operation upon a freed object. The invalid alignment was discovered after updating the write_domain on the object but before the object was placed on the active queue. So during the unwind process following the error, the now freed object attempts to flush its non-existent, but outstanding, GPU writes causing this use-after-free. [drm:i915_dispatch_gem_execbuffer] *ERROR* alignment [drm:i915_gem_execbuffer] *ERROR* dispatch failed -22 WARNING: at lib/kref.c:43 warn_slowpath_null+0x10/0x15() Modules linked in: Pid: 4552, comm: lt-csi-drm Not tainted 2.6.30-rc6 #423 Call Trace: [] warn_slowpath_fmt+0x57/0x6d [] ? get_pageblock_migratetype+0x18/0x1e [] ? free_hot_page+0xa/0xc [] ? __free_pages+0x16/0x1f [] ? shmem_truncate_range+0x63e/0x656 [] ? slob_page_alloc+0x146/0x1c8 [] warn_slowpath_null+0x10/0x15 [] kref_get+0x1b/0x21 [] i915_gem_object_move_to_active+0x1f/0x56 [] i915_add_request+0x156/0x19a [] i915_gem_object_flush_gpu_write_domain+0x28/0x3f [] i915_gem_object_unbind+0x4a/0x124 [] i915_gem_free_object+0x33/0x9b [] drm_gem_object_free+0x28/0x4a [] ? drm_gem_object_free+0x0/0x4a [] kref_put+0x38/0x41 [] drm_gem_object_unreference+0x11/0x13 [] drm_gem_object_handle_unreference+0x1e/0x21 [] drm_gem_object_release_handle+0xa/0xe [] idr_for_each+0x5f/0x98 [] ? drm_gem_object_release_handle+0x0/0xe [] drm_gem_release+0x22/0x34 [] drm_release+0x1e8/0x3c4 [] __fput+0xaf/0x146 [] fput+0x12/0x14 [] filp_close+0x48/0x52 [] put_files_struct+0x57/0x9b [] exit_files+0x1e/0x20 [] do_exit+0x16d/0x511 [] ? __schedule+0x3d4/0x3e5 [] ? handle_irq+0xd/0x69 [] do_group_exit+0x4d/0x73 [] sys_exit_group+0x13/0x17 [] sysenter_do_call+0x12/0x2b Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit eedc9d83eaab2d35fb9dd1ec25b765dec964e26c Author: Russell King Date: Sat Jun 6 22:47:11 2009 +0100 kbuild: fix headers_exports with boolean expression When we had code like this in a header unifdef failed to deduct that the expression was always false - and we had code exported that was not intended for userspace. #if defined(__KERNEL__) && !defined(__ASSEMBLY__) int a; #endif This commit implment support in unidef which allows it to work out if an #if expression always evaluates true or false for symbols which are being undefined/always defined. The patch is slightly more complicated than I'd hoped because unifdef needs to see lines fully evaluated - doing otherwise causes it to mark the line as "dirty" and copy it over no matter what. Signed-off-by: Russell King Signed-off-by: Sam Ravnborg commit 67b7ebe091cd92fd69f732da3170720d79c4e632 Author: Amerigo Wang Date: Thu Jun 4 22:12:01 2009 -0400 kbuild/headers_check: refine extern check 'extern' checking information is not clear, refine it. Plus, fix a comment. Signed-off-by: WANG Cong [sam: redid the extern error message] Acked-by: Arnd Bergmann Signed-off-by: Sam Ravnborg commit 7211b8b9028854eee0d03ee6231440b7fb492521 Author: Sergei Poselenov Date: Fri Jun 5 16:11:09 2009 +0400 kbuild: fix "Argument list too long" error for "make headers_check", I'm trying to install kernel headers to build a cross-toolchain, but got the following: make ARCH=arm INSTALL_HDR_PATH=/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/ +arm-linux-gnueabi/arm-linux-gnueabi/ headers_check ... CHECK include/linux/raid (2 files) CHECK include/linux/spi (1 files) CHECK include/linux/sunrpc (1 files) CHECK include/linux/tc_act (6 files) CHECK include/linux/tc_ematch (4 files) CHECK include/linux/usb (8 files) make[2]: execvp: /bin/sh: Argument list too long make[2]: *** [/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueab +i/arm-linux-gnueabi//include/linux/.check] Error 127 make[1]: *** [linux] Error 2 make: *** [headers_check] Error 2 -> Introduce use of xargs to fix this. Signed-off-by: Sergei Poselenov Cc: Wolfgang Denk Signed-off-by: Sam Ravnborg commit 35763e854f8aa2d579236a4670c32c078d143b3a Author: Mike Frysinger Date: Tue May 26 19:37:54 2009 -0400 ignore *.patch files Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit bdefe35d40c6bb5859dadee26c2e19bf58540f1d Author: dann frazier Date: Fri Jun 5 15:02:49 2009 -0700 Remove bashisms from scripts The '-e' option to echo and brace expansion are not guaranteed to be supported by a POSIX-compliant /bin/sh (e.g. dash) Signed-off-by: dann frazier Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a9eb522375abc79c2bf23940a067bc0046276236 Author: Randy Dunlap Date: Fri Jun 5 15:02:47 2009 -0700 menu: fix embedded menu presentation The STRIP_ASM_SYMS kconfig symbol mucks up the embedded menu because STRIP_ASM_SYMS is in the middle of the embedded menu items but it does not depend on EMBEDDED. Move it to beyond the end of the embedded menu so that the menu is presented correctly. Or if STRIP_ASM_SYMS should depend on EMBEDDED, that can also be fixed. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 8b8b76c045beb85c1c2b28e07eff6599a1e95cf1 Author: Sam Ravnborg Date: Sat Jun 6 00:18:05 2009 +0200 kbuild: add hint about __refdata to modpost As requested by Guennadi Liakhovetski Cc: Guennadi Liakhovetski Signed-off-by: Sam Ravnborg commit 1581c1cede3b180b77aa08024c6ca406252cc21f Author: Robert P. J. Day Date: Tue May 12 13:43:36 2009 -0700 scripts/headers_check.pl: correct RE in header CONFIG leak check Correct the regular expression in scripts/headers_check.pl to include '_' as a valid character in the class; otherwise, the check will report a "leaked" symbol of CONFIG_A_B_C as merely CONFIG_A. This patch will make no difference whatsoever in the current kernel tree as the call to the perl routine that does that check is currently commented out: &check_include(); &check_asm_types(); &check_sizetypes(); &check_prototypes(); # Dropped for now. Too much noise &check_config(); However, I noticed that problem when I was building the yum downloadable kernel source rpm for fedora 11 (beta), which *does* run that check, and that's where the problem became obvious. Signed-off-by: Robert P. J. Day Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit ad6ccfad6f759a5d657dabe2071a8f2a503fcc84 Author: Manish Katiyar Date: Tue May 12 13:43:35 2009 -0700 kernel/kallsyms.c: replace deprecated __initcall with device_initcall and fix whitespace Fix coding style whitespace issues and replace __initcall with device_initcall. Fixed multi-line comments as per coding style. Errors as reported by checkpatch.pl :- Before: total: 14 errors, 14 warnings, 487 lines checked After : total: 0 errors, 8 warnings, 507 lines checked Compile tested binary verified as :- Before: text data bss dec hex filename 2405 4 0 2409 969 kernel/kallsyms.o After : text data bss dec hex filename 2405 4 0 2409 969 kernel/kallsyms.o Signed-off-by: Manish Katiyar Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 12122f62324e7c6837ee8b0fa8d257ce7ebcfc6f Author: Markus Heidelberg Date: Mon May 18 01:36:54 2009 +0200 kconfig: do not hardcode "include/config/auto.conf" filename Regardless of KCONFIG_AUTOCONFIG, the filename written as a Make target into "include/config/auto.conf.cmd" was always the default one. Of course this doesn't make it work for the Kernel kbuild system, since there the filename is hardcoded at several places in the Makefiles. Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 284026cdfb5a899e558dcb7a36aefaf54a78c094 Author: Markus Heidelberg Date: Mon May 18 01:36:53 2009 +0200 kconfig: do not hardcode ".config" filename Rather than hardcoding ".config" use conf_get_configname(), which also respects the environment variable KCONFIG_CONFIG. This fixes "make silentoldconfig" when KCONFIG_CONFIG is used and also suggests the given filename for "Load" and "Save as" in qconf. Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 8d90c97e46930d01e9394bceb6276c7175136bdc Author: Markus Heidelberg Date: Mon May 18 01:36:52 2009 +0200 kconfig qconf: fix the type of the desktop widget QApplication::desktop() returns a pointer to QDesktopWidget, not to QWidget. Fixes the following compiler error after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1289: error: cannot convert 'QDesktopWidget*' to 'QWidget*' in initialization Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit fbb86374445d97072dd994f1a4adf023bfd1e86e Author: Markus Heidelberg Date: Mon May 18 01:36:51 2009 +0200 kconfig qconf: add namespace for use of Key_ enum values They are defined in the 'Qt' namespace. Fixes the following compiler errors after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In member function 'virtual void ConfigLineEdit::keyPressEvent(QKeyEvent*)': scripts/kconfig/qconf.cc:311: error: 'Key_Escape' was not declared in this scope scripts/kconfig/qconf.cc:313: error: 'Key_Return' was not declared in this scope scripts/kconfig/qconf.cc:314: error: 'Key_Enter' was not declared in this scope scripts/kconfig/qconf.cc: In member function 'virtual void ConfigList::keyPressEvent(QKeyEvent*)': scripts/kconfig/qconf.cc:653: error: 'Key_Escape' was not declared in this scope scripts/kconfig/qconf.cc:666: error: 'Key_Return' was not declared in this scope scripts/kconfig/qconf.cc:667: error: 'Key_Enter' was not declared in this scope scripts/kconfig/qconf.cc:681: error: 'Key_Space' was not declared in this scope scripts/kconfig/qconf.cc:684: error: 'Key_N' was not declared in this scope scripts/kconfig/qconf.cc:687: error: 'Key_M' was not declared in this scope scripts/kconfig/qconf.cc:690: error: 'Key_Y' was not declared in this scope scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1329: error: 'CTRL' was not declared in this scope scripts/kconfig/qconf.cc:1329: error: 'Key_Q' was not declared in this scope scripts/kconfig/qconf.cc:1331: error: 'Key_L' was not declared in this scope scripts/kconfig/qconf.cc:1333: error: 'Key_S' was not declared in this scope scripts/kconfig/qconf.cc:1340: error: 'Key_F' was not declared in this scope Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 7298b936017859fce4906e38f485c131520fe857 Author: Markus Heidelberg Date: Mon May 18 01:36:50 2009 +0200 kconfig qconf: fix namespace for Horizontal and Vertical enum values They were used as QSplitter::Horizontal resp. QSplitter::Vertical, but are defined in the 'Qt' namespace. Fixes the following compiler errors after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In constructor 'ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow*, const char*)': scripts/kconfig/qconf.cc:1213: error: 'Vertical' is not a member of 'QSplitter' scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1304: error: 'Horizontal' is not a member of 'QSplitter' scripts/kconfig/qconf.cc:1311: error: 'Vertical' is not a member of 'QSplitter' Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 98403a91389d11edd954e8f89dcffc3db525657f Author: Markus Heidelberg Date: Mon May 18 01:36:49 2009 +0200 kconfig qconf: fix -Wall compiler warnings These compiler warnings occure when adding -Wall to HOSTCXXFLAGS in /Makefile scripts/kconfig/qconf.h: In constructor ‘ConfigInfoView::ConfigInfoView(QWidget*, const char*)’: scripts/kconfig/qconf.h:274: warning: ‘ConfigInfoView::menu’ will be initialized after scripts/kconfig/qconf.h:273: warning: ‘symbol* ConfigInfoView::sym’ scripts/kconfig/qconf.cc:922: warning: when initialized here scripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::setMenuLink(menu*)’: scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘menuMode’ not handled in switch scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘listMode’ not handled in switch scripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::saveSettings()’: scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘menuMode’ not handled in switch scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘listMode’ not handled in switch Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit c26dd719a5b9d94d12211f2d101bd7dffb7f9f1f Author: Markus Heidelberg Date: Mon May 18 01:36:48 2009 +0200 gitignore: ignore Kconfig i18n files Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 98f540d31ba0d3598b52177e194dde0bc498352d Author: Markus Heidelberg Date: Mon May 18 01:36:47 2009 +0200 kconfig: resort the documentation of the environment variables All the KCONFIG_ environment variables were previously located in a section "Environment variables in 'menuconfig'", but neither are they restricted to 'menuconfig' nor are they all used by 'menuconfig'. Introduce the following three sections for these variables: * Environment variables for '*config' * Environment variables for '{allyes/allmod/allno/rand}config' * Environment variables for 'silentoldconfig' Furthermore this puts MENUCONFIG_MODE next to MENUCONFIG_COLOR into a common section "User interface options for 'menuconfig'". Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 590a5857291e88c00a1be53fb373e8bf82f86284 Author: Markus Heidelberg Date: Mon May 18 01:36:46 2009 +0200 kconfig: add a note about the deps to the 'silentoldconfig' help Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 6f26e5e412ddc23e1d698390243e39802410ab15 Author: Markus Heidelberg Date: Mon May 18 01:36:45 2009 +0200 kconfig: fix typo "mconfig" to "menuconfig" in a comment Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit b8b0618cf6fab3bd5b1da8c72f4b29847d81ac42 Author: Cheng Renquan Date: Tue May 26 16:03:07 2009 +0800 kbuild: remove extra ifdef/endif of top Makefile The GNU make's origin function know undefined variable well, so the outer ifdef/endif conditional checking is unneeded. From `info make` documentation, origin will return `undefined' if VARIABLE was never defined. `command line' if VARIABLE was defined on the command line. ... Therefore, $(origin V) will get a value anyway, killing ifdef/endif is viable and safe. Furthermore, I've checked the minimal requirements from Documentation/Changes is GNU make 3.79.1, and that version of GNU make has support of origin function well already, so now it's safe to kill the outer conditional checking, without upgrading the minimal requirements. Signed-off-by: Cheng Renquan Signed-off-by: Sam Ravnborg commit 3e56f08bffe9e3e2b936eb73bd51d8800d1b42c2 Author: David VomLehn Date: Sat May 30 18:13:32 2009 -0700 kbuild/Documentation: Incorrect makefile syntax in example There is an error in the make syntax for one of the kbuild examples Signed-off-by: David VomLehn Signed-off-by: Sam Ravnborg commit 2d51005c27a12e43d672debbbb918e7f74987f96 Author: Jiri Slaby Date: Sun May 31 18:05:34 2009 +0200 kbuild: allow docproc invocation from external - getcwd returns path without a slash at the end, add the slash - add KBUILD_SRC env support, so that we can specify path for kernel (to know where scripts/kernel-doc resides) and SRCTREE (for searching files referenced in .tmpl) separately [v2] - use KBUILD_SRC instead of a newly introduced environment variable Signed-off-by: Jiri Slaby Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit cefdff4b4d5ba3f9b7eee2c1c1827553794cb465 Author: Amerigo Wang Date: Thu Jun 4 22:12:09 2009 -0400 kbuild: clean up scripts/headers.sh 'drop' variable is unused. 'ppc' and 'sparc64' directories don't exist in arch/, and I think their headers can be well exported now, so just remove them. Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit fd6c3a8dc44329d3aff9a578b5120982f63711ee Author: Jan Beulich Date: Thu Mar 12 10:58:33 2009 +0000 initconst adjustments - add .init.rodata to INIT_DATA, and group all initconst flavors together - move strings generated from __setup_param() into .init.rodata - add .*init.rodata to modpost's sets of init sections - make modpost warn about references between meminit and cpuinit as well as memexit and cpuexit sections (as CPU and memory hotplug are independently selectable features) Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 6d9923219c6cd1df360f8823253717623f3ad348 Author: maximilian attems Date: Thu Apr 23 01:12:58 2009 +0200 kbuild, deb-pkg: bump standards version Latest Debian policy is 3.8.1. Even if we are not yet compliant to it strive for the latest. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Acked-by: Andres Salomon Signed-off-by: Sam Ravnborg commit 54c3355658bb66bbe20aef9b6297d72ac85571f4 Author: maximilian attems Date: Thu Apr 23 01:12:41 2009 +0200 kbuild, deb-pkg: fix Section field Section "base" has been removed, the base is defined by Priority field. For Squeeze the section should be "kernel", but as that's not yet supported for Sarge and Etch we stay with admin for now. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 8ebc2fe9c5e502a0f34be498b0732bb3b897b12d Author: maximilian attems Date: Thu Apr 23 01:12:21 2009 +0200 kbuild, deb-pkg: fix Provides field kernel-image naming has been dropped for the Lenny release and was only transitional for Etch. As it builds modules it provides linux-modules-$version. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit f7a2c31f1e4e622056c8a14260937e87f1277867 Author: maximilian attems Date: Thu Apr 23 01:12:01 2009 +0200 kbuild, deb-pkg: fix generated package name The binary package that make deb-pkg creates is a linux-image. To be fixed may also be the addition of $DEB_ARCH. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4bf4cd4939975c2f6375443212109dbb8c4e8731 Author: Frans Pop Date: Thu Apr 23 01:11:43 2009 +0200 kbuild, deb-pkg: improve Source field The Source: field is defined as the source package in the package archive from which a binary packages are built. As deb-pkg does not generate a source package, we should avoid to use any existing source packages here. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit edec611db0474e90503d46428e4f196d5e30c091 Author: maximilian attems Date: Thu Apr 23 01:11:20 2009 +0200 kbuild, deb-pkg: improve maintainer identification Try harder to find email and maintainer name. Debian's own devscripts all use DEBEMAIL or DEBFULLNAME prior to an eventual EMAIL or NAME environment variable. Match their logic. "Anonymous" sounds nicer then "Kernel Compiler" if no name is found. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 9461f666e42f2412e134a49e90ffd4a3340dfc0a Author: Frans Pop Date: Fri Apr 24 19:08:24 2009 +0200 kbuild, deb-pkg: generate debian/copyright file On Thursday 23 April 2009, Frans Pop wrote: Add a basic debian/copyright to the binary packages. Based on an earlier patch from Maximilian Attems. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit a83ca2777f7f28e365de7c87903bad5e928f87ad Author: Frans Pop Date: Thu Apr 23 01:10:25 2009 +0200 kbuild, deb-pkg: improve changelog entry and package descriptions Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit fe233cb6bfd36fcf5a36bbde7fa116d8ab5f4301 Author: Frans Pop Date: Thu Apr 23 01:10:10 2009 +0200 kbuild, deb-pkg: allow alternative hook scripts directory in .deb packages Hook scripts in the default directory /etc/kernel are also executed by official Debian kernel packages as well as kernel packages created using make-kpkg. Allow to specify an alternative hook scripts directory by exporting the environment variable KDEB_HOOKDIR. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit c72c75db86cf9f53c4c0df6724c0cf06db017652 Author: Frans Pop Date: Thu Apr 23 01:09:44 2009 +0200 kbuild, deb-pkg: allow to specify a custom revision for .deb packages Allow to specify a custom revision for the generated .deb by exporting the environment variable KDEB_PKGVERSION. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4964451a321cfd6a05ea32af1317345c53b3ecb7 Author: Frans Pop Date: Thu Apr 23 01:09:25 2009 +0200 kbuild, deb-pkg: pass Debian maintainer script parameters to packaging hook scripts The Debian packaging scripts created by the deb-pkg target do not pass on the standard Debian maintainer script parameters to hook scripts, which means that those scripts cannot tell whether they are being called during e.g. install vs. upgrade, or removal vs. purge of the package. As there are several variantions in how hook scripts are called from kernel packages, we pass the parameters in the environment variable DEB_MAINT_PARAMS rather than as extra arguments. Bump version of builddep script to 1.3. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit a89b433bddea41a743d7937c87be5290ef4f1057 Author: Frans Pop Date: Thu Apr 23 01:09:04 2009 +0200 kbuild, deb-pkg: fix 'file not found' error when building .deb package for arm Not all architectures prepend the $(boot) path in $(KBUILD_IMAGE). Allow for that fact in the builddeb script. Example is arm. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 3e2ab2563a599c3d3fd03952c056af09fc03b74a Author: Frans Pop Date: Thu Apr 23 01:08:44 2009 +0200 kbuild, deb-pkg: refactor code to reduce duplication Factor out code to build package into separate function and only write "source" section for the debian/control file once. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4f66199b4b372a530333d0f25aeb5d80362241ed Author: Frans Pop Date: Thu Apr 23 01:08:31 2009 +0200 kbuild, deb-pkg: minor general improvements in builddeb script Minor coding style improvements and typo fix in leading comment. Signed-off-by: Frans Pop Cc: Andres Salomon Acked-by: maximilian attems Signed-off-by: Sam Ravnborg commit af6c159885537eb6582a61156ccfb73e83c0478d Author: Peter Korsgaard Date: Sun Feb 15 22:15:16 2009 +0100 kconfig: handle comment entries within choice/endchoice Implement support for comment entries within choice groups. Comment entries are displayed visually distinct from normal configs, and selecting them is a no-op. Signed-off-by: Peter Korsgaard Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 725c624a58a10ef90a2ff889e122158fabf36147 Author: Steven Rostedt Date: Mon Jun 8 19:09:45 2009 -0400 tracing: add trace_seq_vprint interface The code to update the print formats for events requires a vprintf format in the trace_seq. This patch adds that interface. Signed-off-by: Steven Rostedt commit fa0864b26b4bfa1dd4bb78eeffbc1f398cb56425 Author: Michael Cousin Date: Fri Jun 5 21:16:22 2009 +0200 drm/i915: Skip lvds with Aopen i945GTt-VFA Signed-off-by: Michael Cousin Signed-off-by: Eric Anholt commit 6556d1df88fe68f9836beeb43342a336691cb67c Author: Steven Rostedt Date: Tue Jun 9 14:04:26 2009 -0400 tracing: fix the block trace points print size The sector field is either u64 or unsigned long depending on the arch. This patch casts the sector to unsigned long long to prevent the printf warnings. [ Impact: remove compile warnings ] Signed-off-by: Steven Rostedt commit 80a538e49daddbf3bf783f3464e91bd3181957b2 Author: Zhenyu Wang Date: Mon Jun 8 14:40:20 2009 +0800 drm/i915: Enable probe on new chipset Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 036a4a7d9272582fc7370359515d807393e2f728 Author: Zhenyu Wang Date: Mon Jun 8 14:40:19 2009 +0800 drm/i915: handle interrupt on new chipset Update interrupt handling methods for IGDNG with new registers for display and graphics interrupt functions. As we won't use irq-based vblank sync in dri2, so display interrupt on new chip will be used for hotplug only in future. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d765898970f35acef960581f678b9da9d5c779fa Author: Jesse Barnes Date: Fri Jun 5 14:41:29 2009 +0000 drm/i915: enable MCHBAR if needed Using the new PNP resource checking code, this patch allows the i915 driver to allocate MCHBAR space if needed and use the BAR to determine current memory settings. [apw@canonical.com: moved to the new generic PNP resource interface] Signed-off-by: Jesse Barnes Signed-off-by: Andy Whitcroft Signed-off-by: Eric Anholt failure to update-index after git-am --reject to hand-apply Signed-off-by: Eric Anholt commit e04cc15f52eb072937cec2bbd8499f37afe5e1ef Author: Hisashi Hifumi Date: Tue Jun 9 16:47:45 2009 +0900 ocfs2: fdatasync should skip unimportant metadata writeout In ocfs2, fdatasync and fsync are identical. I think fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. #sysbench --num-threads=16 --max-requests=300000 --test=fileio --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results: -2.6.30-rc8 Test execution summary: total time: 107.1445s total number of events: 119559 total time taken by event execution: 116.1050 per-request statistics: min: 0.0000s avg: 0.0010s max: 0.1220s approx. 95 percentile: 0.0016s Threads fairness: events (avg/stddev): 7472.4375/303.60 execution time (avg/stddev): 7.2566/0.64 -2.6.30-rc8-patched Test execution summary: total time: 86.8529s total number of events: 300016 total time taken by event execution: 24.3077 per-request statistics: min: 0.0000s avg: 0.0001s max: 0.0336s approx. 95 percentile: 0.0001s Threads fairness: events (avg/stddev): 18751.0000/718.75 execution time (avg/stddev): 1.5192/0.05 Signed-off-by: Hisashi Hifumi Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 55782138e47d9baf2f7d3a7af9e7cf42adf72c56 Author: Li Zefan Date: Tue Jun 9 13:43:05 2009 +0800 tracing/events: convert block trace points to TRACE_EVENT() TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions ... Cons: - no dev_t info for the output of plug, unplug_timer and unplug_io events. no dev_t info for getrq and sleeprq events if bio == NULL. no dev_t info for rq_abort,...,rq_requeue events if rq->rq_disk == NULL. This is mainly because we can't get the deivce from a request queue. But this may change in the future. - A packet command is converted to a string in TP_assign, not TP_print. While blktrace do the convertion just before output. Since pc requests should be rather rare, this is not a big issue. - In blktrace, an event can have 2 different print formats, but a TRACE_EVENT has a unique format, which means we have some unused data in a trace entry. The overhead is minimized by using __dynamic_array() instead of __array(). I've benchmarked the ioctl blktrace vs the splice based TRACE_EVENT tracing: dd dd + ioctl blktrace dd + TRACE_EVENT (splice) 1 7.36s, 42.7 MB/s 7.50s, 42.0 MB/s 7.41s, 42.5 MB/s 2 7.43s, 42.3 MB/s 7.48s, 42.1 MB/s 7.43s, 42.4 MB/s 3 7.38s, 42.6 MB/s 7.45s, 42.2 MB/s 7.41s, 42.5 MB/s So the overhead of tracing is very small, and no regression when using those trace events vs blktrace. And the binary output of TRACE_EVENT is much smaller than blktrace: # ls -l -h -rw-r--r-- 1 root root 8.8M 06-09 13:24 sda.blktrace.0 -rw-r--r-- 1 root root 195K 06-09 13:24 sda.blktrace.1 -rw-r--r-- 1 root root 2.7M 06-09 13:25 trace_splice.out Following are some comparisons between TRACE_EVENT and blktrace: plug: kjournald-480 [000] 303.084981: block_plug: [kjournald] kjournald-480 [000] 303.084981: 8,0 P N [kjournald] unplug_io: kblockd/0-118 [000] 300.052973: block_unplug_io: [kblockd/0] 1 kblockd/0-118 [000] 300.052974: 8,0 U N [kblockd/0] 1 remap: kjournald-480 [000] 303.085042: block_remap: 8,0 W 102736992 + 8 <- (8,8) 33384 kjournald-480 [000] 303.085043: 8,0 A W 102736992 + 8 <- (8,8) 33384 bio_backmerge: kjournald-480 [000] 303.085086: block_bio_backmerge: 8,0 W 102737032 + 8 [kjournald] kjournald-480 [000] 303.085086: 8,0 M W 102737032 + 8 [kjournald] getrq: kjournald-480 [000] 303.084974: block_getrq: 8,0 W 102736984 + 8 [kjournald] kjournald-480 [000] 303.084975: 8,0 G W 102736984 + 8 [kjournald] bash-2066 [001] 1072.953770: 8,0 G N [bash] bash-2066 [001] 1072.953773: block_getrq: 0,0 N 0 + 0 [bash] rq_complete: konsole-2065 [001] 300.053184: block_rq_complete: 8,0 W () 103669040 + 16 [0] konsole-2065 [001] 300.053191: 8,0 C W 103669040 + 16 [0] ksoftirqd/1-7 [001] 1072.953811: 8,0 C N (5a 00 08 00 00 00 00 00 24 00) [0] ksoftirqd/1-7 [001] 1072.953813: block_rq_complete: 0,0 N (5a 00 08 00 00 00 00 00 24 00) 0 + 0 [0] rq_insert: kjournald-480 [000] 303.084985: block_rq_insert: 8,0 W 0 () 102736984 + 8 [kjournald] kjournald-480 [000] 303.084986: 8,0 I W 102736984 + 8 [kjournald] Changelog from v2 -> v3: - use the newly introduced __dynamic_array(). Changelog from v1 -> v2: - use __string() instead of __array() to minimize the memory required to store hex dump of rq->cmd(). - support large pc requests. - add missing blk_fill_rwbs_rq() in block_rq_requeue TRACE_EVENT. - some cleanups. Signed-off-by: Li Zefan LKML-Reference: <4A2DF669.5070905@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit f57a8a1911342265e7acdc190333c4e9235a6632 Author: Steven Rostedt Date: Fri Jun 5 14:11:30 2009 -0400 ring-buffer: fix ret in rb_add_time_stamp The update of ret got mistakenly added to the if statement of rb_try_to_discard. The variable ret should be 1 on commit and zero otherwise. [ Impact: fix compiler warning and real bug ] Signed-off-by: Steven Rostedt commit 52b605d107de72c1d3385a3df972e79fb5befa4c Author: Artem Bityutskiy Date: Mon Jun 8 16:52:48 2009 +0300 UBI: print amount of reserved PEBs When marking a PEB as bad, print how many PEBs are left reserved. This is very useful information. Signed-off-by: Artem Bityutskiy commit 238ddbb98c327a7392ced5ae65216c55969749ea Author: Alan Cox Date: Tue Jun 9 13:44:02 2009 +0100 [SCSI] gdth: fix overlapping snprintf users Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13438 Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13437 Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit cf4e6363859d30f24f8cd3e8930dbff399cc3550 Author: Michael Chan Date: Mon Jun 8 18:14:44 2009 -0700 [SCSI] bnx2i: Add bnx2i iSCSI driver. New iSCSI driver for Broadcom BNX2 devices. The driver interfaces with the CNIC driver to access the hardware. Signed-off-by: Anil Veerabhadrappa Signed-off-by: Michael Chan Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a463696039f7097ce87c21db3cf5c16cdcb3850d Author: Michael Chan Date: Mon Jun 8 18:14:43 2009 -0700 [SCSI] cnic: Add new Broadcom CNIC driver. The CNIC driver controls BNX2 hardware rings and resources used by iSCSI. Most hardware resources for iSCSI are separate from those used for ethernet networking. iSCSI uses a separate MAC address and IP address. The CNIC driver creates a UIO interface to handle the non-offloaded packets such as ARP, etc in userspace. Signed-off-by: Michael Chan Acked-by: David S. Miller Signed-off-by: James Bottomley commit 4edd473f208cff77ce1f7ef26d5a41f31fa198e0 Author: Michael Chan Date: Mon Jun 8 18:14:42 2009 -0700 [SCSI] bnx2: Add support for CNIC driver. Add interface and functions to support a new CNIC driver to drive the Broadcom bnx2 hardware for iSCSI offload. Signed-off-by: Michael Chan Acked-by: David S. Miller Signed-off-by: James Bottomley commit 43514774ff40c4fbe0cbbd3d8293a359f1a9fe71 Author: Michael Chan Date: Mon Jun 8 18:14:41 2009 -0700 [SCSI] iscsi class: Add new NETLINK_ISCSI messages for cnic/bnx2i driver. Add ISCSI_NETLINK messages for iSCSI NICs to get information such as path from userspace. Original iscsid messages are now always sent as multicast to group 1. The new messages are sent to group 2. The multicast changes were made by Mike Christie. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0b8c3d5ab000c22889af7f9409799a6cdc31a2b2 Author: Chuck Ebbert Date: Tue Jun 9 10:40:50 2009 -0400 x86: Clear TS in irq_ts_save() when in an atomic section The dynamic FPU context allocation changes caused the padlock driver to generate the below warning. Fix it by masking TS when doing padlock encryption operations in an atomic section. This solves: BUG: sleeping function called from invalid context at mm/slub.c:1602 in_atomic(): 1, irqs_disabled(): 0, pid: 82, name: cryptomgr_test Pid: 82, comm: cryptomgr_test Not tainted 2.6.29.4-168.test7.fc11.x86_64 #1 Call Trace: [] __might_sleep+0x10b/0x110 [] kmem_cache_alloc+0x37/0xf1 [] init_fpu+0x49/0x8a [] math_state_restore+0x3e/0xbc [] do_device_not_available+0x9/0xb [] device_not_available+0x1b/0x20 [] ? aes_crypt+0x66/0x74 [padlock_aes] [] ? blkcipher_walk_next+0x257/0x2e0 [] ? blkcipher_walk_first+0x18e/0x19d [] aes_encrypt+0x9d/0xe5 [padlock_aes] [] crypt+0x6b/0x114 [xts] [] ? aes_encrypt+0x0/0xe5 [padlock_aes] [] ? aes_encrypt+0x0/0xe5 [padlock_aes] [] encrypt+0x49/0x4b [xts] [] async_encrypt+0x3c/0x3e [] test_skcipher+0x1da/0x658 [] ? crypto_spawn_tfm+0x8e/0xb1 [] ? __crypto_alloc_tfm+0x11b/0x15f [] ? crypto_spawn_tfm+0x8e/0xb1 [] ? skcipher_geniv_init+0x2b/0x47 [] ? async_chainiv_init+0x5c/0x61 [] alg_test_skcipher+0x63/0x9b [] alg_test+0x12d/0x175 [] cryptomgr_test+0x38/0x54 [] ? cryptomgr_test+0x0/0x54 [] kthread+0x4d/0x78 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x78 [] ? child_rip+0x0/0x20 Signed-off-by: Chuck Ebbert Cc: Suresh Siddha LKML-Reference: <20090609104050.50158cfe@dhcp-100-2-144.bos.redhat.com> Signed-off-by: Ingo Molnar commit fecc8ac8496fce96069724f54daba8e7078b0082 Author: Yong Wang Date: Tue Jun 9 21:15:53 2009 +0800 perf_counter, x86: Correct some event and umask values for Intel processors Correct some event and UMASK values according to Intel SDM, in the Nehalem and Atom tables. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090609131553.GA12489@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 92db1e6af747faa129e236d68386af26a0efc12b Merge: 0bf8412 e9a22a1 Author: Ingo Molnar Date: Tue Jun 9 16:18:11 2009 +0200 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 0eab928221bac8895a0b494a16a8810002bd8645 Author: Theodore Ts'o Date: Tue Jun 9 09:54:40 2009 -0400 ext4: Don't treat a truncation of a zero-length file as replace-via-truncate If a non-existent file is opened via O_WRONLY|O_CREAT|O_TRUNC, there's no need to treat this as a true file truncation, so we shouldn't activate the replace-via-truncate hueristic. Signed-off-by: "Theodore Ts'o" commit 42937e81a82b6bbc51a309c83da140b3a7ca5945 Author: Andreas Herrmann Date: Mon Jun 8 15:55:09 2009 +0200 x86: Detect use of extended APIC ID for AMD CPUs Booting a 32-bit kernel on Magny-Cours results in the following panic: ... Using APIC driver default ... Overriding APIC driver with bigsmp ... Getting VERSION: 80050010 Getting VERSION: 80050010 Getting ID: 10000000 Getting ID: ef000000 Getting LVT0: 700 Getting LVT1: 10000 Kernel panic - not syncing: Boot APIC ID in local APIC unexpected (16 vs 0) Pid: 1, comm: swapper Not tainted 2.6.30-rcX #2 Call Trace: [] ? panic+0x38/0xd3 [] ? native_smp_prepare_cpus+0x259/0x31f [] ? kernel_init+0x3e/0x141 [] ? kernel_init+0x0/0x141 [] ? kernel_thread_helper+0x7/0x10 The reason is that default_get_apic_id handled extension of local APIC ID field just in case of XAPIC. Thus for this AMD CPU, default_get_apic_id() returns 0 and bigsmp_get_apic_id() returns 16 which leads to the respective kernel panic. This patch introduces a Linux specific feature flag to indicate support for extended APIC id (8 bits instead of 4 bits width) and sets the flag on AMD CPUs if applicable. Signed-off-by: Andreas Herrmann Cc: LKML-Reference: <20090608135509.GA12431@alberich.amd.com> Signed-off-by: Ingo Molnar commit a31e1ffd2231b8fdf7eda9ed750a4a0df9bcad4e Author: Laszlo Attila Toth Date: Tue Jun 9 15:16:34 2009 +0200 netfilter: xt_socket: added new revision of the 'socket' match supporting flags If the XT_SOCKET_TRANSPARENT flag is set, enabled 'transparent' socket option is required for the socket to be matched. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy commit 1d589bb16b825b3a7b4edd34d997f1f1f953033d Author: john cooper Date: Tue Jun 9 14:41:40 2009 +0200 Add serial number support for virtio_blk, V4a This patch extracts the opaque data from pci i/o region 0 via the added VIRTIO_BLK_F_IDENTIFY field. By convention this data takes the form of that returned by an ATA IDENTIFY DEVICE command, however the driver (except for structure size) makes no interpretation of the data. The structure data is copied wholesale to userspace via a HDIO_GET_IDENTITY ioctl command (eg: hdparm -i ). Signed-off-by: john cooper Signed-off-by: Rusty Russell Signed-off-by: Jens Axboe commit 25b0b999fbf5cc1893b110d530102951795d2f73 Author: Breno Leitao Date: Mon Jun 8 10:30:19 2009 +0000 bnx2: no need to check before vfreeing There is no need to check if a pointer is NULL before calling vfree(), since vfree() function already check for it. Signed-off-by: Breno Leitão Signed-off-by: David S. Miller commit 3d8fd38567729202afd0ff3904c818ed0cb1de52 Author: Yi Zou Date: Mon Jun 8 14:38:44 2009 +0000 ixgbe: Include offloaded FCoE data into total rx/tx statistics for 82599 Include offloaded FCoE data into total rx/tx statistics for 82599 so they are properly reflected by ethtool or ifconfig. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 18760f1e74e8dfe8f30d4891e66163d1e6feb893 Author: Chaitanya Lala Date: Mon Jun 8 14:28:54 2009 +0000 e1000e: Expose MDI-X status via ethtool change Ethtool is a standard way of getting information about ethernet interfaces. We enhance ethtool kernel interface & e1000e to make the MDI-X status readable via ethtool in userspace. Signed-off-by: Chaitanya Lala Signed-off-by: Arthur Jones Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edfea6e641edee07bc69c70dd978088fc1cecd74 Author: Simon Horman Date: Mon Jun 8 14:28:36 2009 +0000 e1000e: Call e1000e_config_collision_dist() after TCTL has been set e1000e_config_collision_dist() sets tctl, but subsequently tctl is overwritten. It seems to me that as things stand the call to e1000e_config_collision_dist() has no effect and should either be removed or moved down a little bit. This kernel patch takes the latter option. Signed-off-by: Simon Horman Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 23a2d1b233f535fc74f8dca66e488980b4db041b Author: Dave Graham Date: Mon Jun 8 14:28:17 2009 +0000 e1000e: Fixes possible phy corrupton on 82571 designs. Phy corruption has been observed on 2-port 82571 adapters, and is root-caused to lack of synchronization between the 2 driver instances, which conflict when attempting to access the phy via the single MDIC register. A semaphore exists for this purpose, and is now used on these designs. Because PXE &/or EFI boot code (which we cannot expect to be built with this fix) may leave the inter-instance semaphore in an invalid initial state when the driver first loads, this fix also includes a one-time (per driver load) fix-up of the semaphore initial state. Signed-off-by: dave graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8459464f07cf67cab07b17d5736d75fb86adab22 Author: Sergey Lapin Date: Mon Jun 8 12:18:51 2009 +0000 ieee802154: add simple HardMAC driver sample fakehard is a really simple driver implementing only necessary callbacks and serves the role of an example of driver for HardMAC IEEE 802.15.4 device. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 02cf228639233aa227a152955a98564c7a18f9ee Author: Sergey Lapin Date: Mon Jun 8 12:18:50 2009 +0000 ieee802154: add documentation about our stack Add MAINTAINERS entry and a small text describing our stack interfaces, how to hook the drivers, etc. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 2c21d11518b688cd4c8e7ddfcd4ba41482ad075b Author: Sergey Lapin Date: Mon Jun 8 12:18:49 2009 +0000 net: add NL802154 interface for configuration of 802.15.4 devices Add a netlink interface for configuration of IEEE 802.15.4 device. Also this interface specifies events notification sent by devices towards higher layers. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 9ec7671603573ede31207eb5b0b3e1aa211b2854 Author: Sergey Lapin Date: Mon Jun 8 12:18:48 2009 +0000 net: add IEEE 802.15.4 socket family implementation Add support for communication over IEEE 802.15.4 networks. This implementation is neither certified nor complete, but aims to that goal. This commit contains only the socket interface for communication over IEEE 802.15.4 networks. One can either send RAW datagrams or use SOCK_DGRAM to encapsulate data inside normal IEEE 802.15.4 packets. Configuration interface, drivers and software MAC 802.15.4 implementation will follow. Initial implementation was done by Maxim Gorbachyov, Maxim Osipov and Pavel Smolensky as a research project at Siemens AG. Later the stack was heavily reworked to better suit the linux networking model, and is now maitained as an open project partially sponsored by Siemens. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit fcb94e422479da52ed90bab230c59617a0462416 Author: Sergey Lapin Date: Mon Jun 8 12:18:47 2009 +0000 Add constants for the ieee 802.15.4 stack IEEE 802.15.4 stack requires several constants to be defined/adjusted. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit a4a710c4a7490587406462bf1d54504b7783d7d7 Author: Jarek Poplawski Date: Mon Jun 8 22:05:13 2009 +0000 pkt_sched: Change PSCHED_SHIFT from 10 to 6 Change PSCHED_SHIFT from 10 to 6 to increase schedulers time resolution. This will increase 16x a number of (internal) ticks per nanosecond, and is needed to improve accuracy of schedulers based on rate tables, like HTB, TBF or CBQ, with rates above 100Mbit. It is assumed this change is safe for 32bit accounting of time diffs up to 2 minutes, which should be enough for common use (extremely low rate values may overflow, so get inaccurate instead). To make full use of this change an updated iproute2 will be needed. (But using older iproute2 should be safe too.) This change breaks ticks - microseconds similarity, so some minor code fixes might be needed. It is also planned to change naming adequately eg. to PSCHED_TICKS2NS() etc. in the near future. Reported-by: Antonio Almeida Tested-by: Antonio Almeida Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 728bf09827d350cdaa1f093170e745e8dac49b7a Author: Jarek Poplawski Date: Mon Jun 8 22:05:00 2009 +0000 pkt_sched: Use PSCHED_SHIFT in PSCHED time conversion Use PSCHED_SHIFT constant instead of '10' in PSCHED_US2NS() and PSCHED_NS2US() macros to enable changing this value later. Additionally use PSCHED_SHIFT in sch_hfsc SM_SHIFT and ISM_SHIFT definitions. This part of the patch is based on feedback from Patrick McHardy . Reported-by: Antonio Almeida Tested-by: Antonio Almeida Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0c27922e4933ceb86644f4a9b1af212ffe5aad75 Author: Eric Dumazet Date: Mon Jun 8 03:49:24 2009 +0000 net: dev_addr_init() fix commit f001fde5eadd915f4858d22ed70d7040f48767cf (net: introduce a list of device addresses dev_addr_list (v6)) added one regression Vegard Nossum found in its testings. With kmemcheck help, Vegard found some uninitialized memory was read and reported to user, potentialy leaking kernel data. ( thread can be found on http://lkml.org/lkml/2009/5/30/177 ) dev_addr_init() incorrectly uses sizeof() operator. We were initializing one byte instead of MAX_ADDR_LEN bytes. Reported-by: Vegard Nossum Signed-off-by: Eric Dumazet Acked-by: Jiri Pirko Signed-off-by: David S. Miller commit e9a22a13c71986851e931bdfa054f68839ff8576 Author: Joerg Roedel Date: Tue Jun 9 12:00:37 2009 +0200 amd-iommu: remove unnecessary "AMD IOMMU: " prefix That prefix is already included in the DUMP_printk macro. So there is no need to repeat it in the format string. Signed-off-by: Joerg Roedel commit 151060ac13144208bd7601d17e4c92c59b98072f Author: Tejun Heo Date: Tue Apr 14 10:54:54 2009 +0900 CUSE: implement CUSE - Character device in Userspace CUSE enables implementing character devices in userspace. With recent additions of ioctl and poll support, FUSE already has most of what's necessary to implement character devices. All CUSE has to do is bonding all those components - FUSE, chardev and the driver model - nicely. When client opens /dev/cuse, kernel starts conversation with CUSE_INIT. The client tells CUSE which device it wants to create. As the previous patch made fuse_file usable without associated fuse_inode, CUSE doesn't create super block or inodes. It attaches fuse_file to cdev file->private_data during open and set ff->fi to NULL. The rest of the operation is almost identical to FUSE direct IO case. Each CUSE device has a corresponding directory /sys/class/cuse/DEVNAME (which is symlink to /sys/devices/virtual/class/DEVNAME if SYSFS_DEPRECATED is turned off) which hosts "waiting" and "abort" among other things. Those two files have the same meaning as the FUSE control files. The only notable lacking feature compared to in-kernel implementation is mmap support. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 71ff3bca2f70264effe8cbbdd5bc10cf6be5f2f0 Author: Joerg Roedel Date: Mon Jun 8 13:47:33 2009 -0700 amd-iommu: detach device explicitly before attaching it to a new domain This fixes a bug with a device that could not be assigned to a KVM guest because it is still assigned to a dma_ops protection domain. [chrisw: simply remove WARN_ON(), will always fire since dev->driver will be pci-sub] Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 29150078d7a1758df8c7a6cd2ec066ac65e1fab9 Author: Joerg Roedel Date: Tue Jun 9 10:54:18 2009 +0200 amd-iommu: remove BUS_NOTIFY_BOUND_DRIVER handling Handling this event causes device assignment in KVM to fail because the device gets re-attached as soon as the pci-stub registers as the driver for the device. Signed-off-by: Joerg Roedel commit d2dd01de9924ae24afeba5aa5bc2e08287701df6 Merge: 367d04c 62a6f46 Author: Joerg Roedel Date: Tue Jun 9 10:50:57 2009 +0200 Merge commit 'tip/core/iommu' into amd-iommu/fixes commit ebc8d2ab61dde6cf775ae7bb1ed9e38dfe12ca65 Author: David S. Miller Date: Tue Jun 9 01:01:31 2009 -0700 be2net: Remove unnecessary frag list traversing. This driver does not indicate support for frag lists. Furthermore, even if it did, the code is walking the frag lists incorrectly. The idiom is: for (iter = skb_shinfo(skb)->frag_list; iter; iter = iter->next) but it's doing: for (iter = skb_shinfo(skb)->frag_list; iter; iter = skb_shinfo(iter)->frag_list) which would never work. And this proves that this driver never saw an SKB with active frag lists. So just remove the code altogether and the driver TX path becomes much simpler. Signed-off-by: David S. Miller commit b5495610669984af931055e49c1c1d2957950335 Author: Santosh Shilimkar Date: Tue Apr 28 20:52:05 2009 +0530 ARM: OMAP4: SMP: Update defconfig for OMAP4430 This patch updates omap_4430sdp_defconfig to add SMP and LOCAL_TIMER support for OMAP4430 SDP platform. Additionally the defconfig is made in sync with 2.6.30-rc7 Signed-off-by: Santosh Shilimkar commit 934f8be7b1020ad899bdba62842a5383e4c72aa8 Author: Santosh Shilimkar Date: Tue Apr 28 20:52:05 2009 +0530 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 This patch enables SMP on OMAP4430 SDP platform. Signed-off-by: Santosh Shilimkar commit 39e1d4c18f34190c739f765ae56bfaa9cbbc6fdb Author: Santosh Shilimkar Date: Tue Apr 28 20:52:00 2009 +0530 ARM: OMAP4: SMP: Add mpu timer support for OMAP4430 This patch adds SMP platform specific parts for local(mpu) timer support for OMAP4430 platform. Each Cortex-a9 core has it's own local timer in the MPU domain. These timers are not in wakeup domain. Signed-off-by: Santosh Shilimkar commit 367cd31ee0cbc948fe3b83960b1dbf931e2eaa90 Author: Santosh Shilimkar Date: Tue Apr 28 20:51:52 2009 +0530 ARM: OMAP4: SMP: Add OMAP4430 SMP board files This patch adds SMP platform files support for OMAP4430SDP. TI's OMAP4430 SOC is based on ARM Cortex-A9 SMP architecture. It's a dual core SOC with GIC used for interrupt handling and SCU for cache coherency. Signed-off-by: Santosh Shilimkar commit d4fd3bc101909802f9ed083093cce688cc3416aa Author: David S. Miller Date: Tue Jun 9 00:22:47 2009 -0700 xfrm: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 1b003be39e91a6cd013c9ea580ccc24d1fac9959 Author: David S. Miller Date: Tue Jun 9 00:22:35 2009 -0700 sctp: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 5c313e9a7773ec4d7ac554e841fba583f7c63aba Author: David S. Miller Date: Tue Jun 9 00:21:58 2009 -0700 phonet: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 343a99724e4431d8618bea2eb7552e12c965425a Author: David S. Miller Date: Tue Jun 9 00:23:58 2009 -0700 netfilter: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 4d9092bb41c8fdca45513461587d8b4ad3918f74 Author: David S. Miller Date: Tue Jun 9 00:20:05 2009 -0700 ipv6: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit d7fcf1a5cae2c970e9afe7192fe0c13d931247e0 Author: David S. Miller Date: Tue Jun 9 00:19:37 2009 -0700 ipv4: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 285e42802bb3da91102967f63fb9e28e61f7831e Author: David S. Miller Date: Tue Jun 9 00:19:10 2009 -0700 net/core/user_dma.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit fbb398a832086c370bce47789e155bf5a08774e9 Author: David S. Miller Date: Tue Jun 9 00:18:59 2009 -0700 net/core/skbuff.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 4cf704fbea96075942bd033fd75aa4e76ae1c8a1 Author: David S. Miller Date: Tue Jun 9 00:18:51 2009 -0700 net/core/dev.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 5b1a002ade68173f21b2126a778278df72202ba6 Author: David S. Miller Date: Tue Jun 9 00:18:15 2009 -0700 datagram: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit c32ba3f9b8aa2441c7cfcd065f79981cf8cfe9f4 Author: David S. Miller Date: Tue Jun 9 00:17:44 2009 -0700 appletalk: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit a5bd8a13e9e0322c7f76b34790ba34e2e0ce2ac5 Author: David S. Miller Date: Tue Jun 9 00:17:27 2009 -0700 netdevice.h: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit ee0398717078260ee4ffa97d407071bc774e2dac Author: David S. Miller Date: Tue Jun 9 00:17:13 2009 -0700 skbuff: Add frag list abstraction interfaces. With the hope that these can be used to eliminate direct references to the frag list implementation. Signed-off-by: David S. Miller commit ec3cf2ece22a8ede7478bf38e2a818986322662b Author: Becky Bruce Date: Thu May 14 12:42:28 2009 +0000 powerpc: Add support for swiotlb on 32-bit This patch includes the basic infrastructure to use swiotlb bounce buffering on 32-bit powerpc. It is not yet enabled on any platforms. Probably the most interesting bit is the addition of addr_needs_map to dma_ops - we need this as a dma_op because the decision of whether or not an addr can be mapped by a device is device-specific. Signed-off-by: Becky Bruce Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 1babddbc2e83ab98fc4dd0a3e9bd7b2d30be7e32 Author: Stephen Rothwell Date: Tue Jun 2 18:00:51 2009 +0000 powerpc/spufs: Remove unused error path Commit 45db9240890d9343c934db1fe82d6e68ac2d28da ("powerpc/spufs: Remove double check for non-negative dentry") removed the only user of the out_dput label, so remove it and the code following it. Gets rid of this warning: arch/powerpc/platforms/cell/spufs/inode.c: In function 'spufs_create': arch/powerpc/platforms/cell/spufs/inode.c:647: warning: label 'out_dput' defined but not used Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit bcba0778ee9c5e6b76420c427e5c2cf3a21dbeba Author: Stephen Rothwell Date: Tue Jun 2 18:10:57 2009 +0000 powerpc: Fix warning when printing a resource_size_t resource_size_t is 64 bits on PowerPC 64. Gets rid of this warning: arch/powerpc/kernel/pci_64.c: In function 'pcibios_map_io_space': arch/powerpc/kernel/pci_64.c:504: warning: format '%016lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 6d1386d517e2b9b0de994cc47b1e490db7972a2a Author: Stephen Rothwell Date: Tue Jun 2 18:15:33 2009 +0000 powerpc/xmon: Remove unused variable in xmon.c Gets rid of this warning: arch/powerpc/xmon/xmon.c: In function 'dump_log_buf': arch/powerpc/xmon/xmon.c:2133: warning: unused variable 'i' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 41febbc829cd3ed9af8a7dc37bc805ec027a0727 Author: Stephen Rothwell Date: Tue Jun 2 18:21:30 2009 +0000 powerpc/pseries: Fix warnings when printing resource_size_t resource_size_t is 64 bits on pseries Gets rid of these warnings: arch/powerpc/platforms/pseries/iommu.c: In function 'pci_dma_bus_setup_pSeries': arch/powerpc/platforms/pseries/iommu.c:391: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' arch/powerpc/platforms/pseries/iommu.c:417: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 944916858a430a0627e483657d4cfa2cd2dfb4f7 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:45 2009 +0000 powerpc: Shield code specific to 64-bit server processors This is a random collection of added ifdef's around portions of code that only mak sense on server processors. Using either CONFIG_PPC_STD_MMU_64 or CONFIG_PPC_BOOK3S as seems appropriate. This is meant to make the future merging of Book3E 64-bit support easier. Signed-off-by: Benjamin Herrenschmidt commit 91c60b5b8209627590b31c07262e40c27d27d272 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:41 2009 +0000 powerpc: Separate PACA fields for server CPUs This patch has no effect other than re-ordering PACA fields on current server CPUs. It however is a pre-requisite for future support of BookE 64-bit processors. Various parts of the PACA struct are now moved under some ifdef's, either the new CONFIG_PPC_BOOK3S or CONFIG_PPC_STD_MMU_64, whatever seems more appropriate. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 0ebc4cdaa3fd7c9144d15fe9a6bcfcd310c265b8 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:38 2009 +0000 powerpc: Split exception handling out of head_64.S To prepare for future support of Book3E 64-bit PowerPC processors, which use a completely different exception handling, we move that code to a new exceptions-64s.S file. This file is #included from head_64.S due to some of the absolute address requirements which can currently only be fulfilled from within that file. Signed-off-by: Benjamin Herrenschmidt commit 5b7c3c918c9c26c50d220b2b50359208cb5a1dbe Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:37 2009 +0000 powerpc: Introduce CONFIG_PPC_BOOK3S This patch introduce a new Kconfig option, CONFIG_PPC_BOOK3S that represents processors that are compliant with the "classic" (aka "server") variant of the PowerPC architecture. It replaces CONFIG_6xx on 32-bit (though the symbol is still defined for compatibility) and encompass all currently supported 64-bit processors. Signed-off-by: Benjamin Herrenschmidt commit e821ea70f3b4873b50056a1e0f74befed1014c09 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:37 2009 +0000 powerpc: Move VMX and VSX asm code to vector.S Currently, load_up_altivec and give_up_altivec are duplicated in 32-bit and 64-bit. This creates a common implementation that is moved away from head_32.S, head_64.S and misc_64.S and into vector.S, using the same macros we already use for our common implementation of load_up_fpu. I also moved the VSX code over to vector.S though in that case I didn't make it build on 32-bit (yet). Signed-off-by: Benjamin Herrenschmidt commit d3f6204a7d65030ba92bf43a278b3f3054353e0b Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:16:38 2009 +0000 powerpc: Set init_bootmem_done on NUMA platforms as well For some obscure reason, we only set init_bootmem_done after initializing bootmem when NUMA isn't enabled. We even document this next to the declaration of that global in system.h which of course I didn't read before I had to debug why some WIP code wasn't working properly... This patch changes it so that we always set it after bootmem is initialized which should have always been the case... go figure ! Signed-off-by: Benjamin Herrenschmidt commit b46b6942b39e577fe3ef1af928cd927864011247 Author: Benjamin Herrenschmidt Date: Tue Jun 2 18:53:37 2009 +0000 powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock The MMU context_lock can be taken from switch_mm() while the rq->lock is held. The rq->lock can also be taken from interrupts, thus if we get interrupted in destroy_context() with the context lock held and that interrupt tries to take the rq->lock, there's a possible deadlock scenario with another CPU having the rq->lock and calling switch_mm() which takes our context lock. The fix is to always ensure interrupts are off when taking our context lock. The switch_mm() path is already good so this fixes the destroy_context() path. While at it, turn the context lock into a new style spinlock. Signed-off-by: Benjamin Herrenschmidt commit 3035c8634f0538a0c6946e3191bb6c9284b63798 Author: Benjamin Herrenschmidt Date: Tue May 19 16:56:42 2009 +0000 powerpc/mm: Fix some SMP issues with MMU context handling This patch fixes a couple of issues that can happen as a result of steal_context() dropping the context_lock when all possible PIDs are ineligible for stealing (hopefully an extremely hard to hit occurence). This case exposes the possibility of a stale context_mm[] entry to be seen since destroy_context() doesn't clear it and the free map isn't re-tested. It also means steal_context() will not notice a context freed while the lock was help, thus possibly trying to steal a context when a free one was available. This fixes it by always returning to the caller from steal_context when it dropped the lock with a return value that causes the caller to re-samble the number of free contexts, along with properly clearing the context_mm[] array for destroyed contexts. Signed-off-by: Benjamin Herrenschmidt commit a5990dc5b96f537618b0f057c8723a6a0b0cdc74 Author: Takashi Iwai Date: Tue Jun 9 08:19:02 2009 +0200 ALSA: ctxfi - Clear PCM resources at hw_params and hw_free Currently the PCM resources are allocated only once and ever in prepare callback, assuming that the PCM parameters are never changed. But it's not true. This patch adds the call of atc->pcm_release_resources() at hw_params and hw_free callbacks to assure that the PCM setup is done correctly for each h/w parameter changes. Signed-off-by: Takashi Iwai commit 5242bc7613311aa1a3d5ed41e9cf81015b65563f Author: Takashi Iwai Date: Tue Jun 9 08:17:14 2009 +0200 ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks The SRC instances may not exist when PCM pointer callback is called at the state before initialization is finished. Add the NULL check just to be sure. Signed-off-by: Takashi Iwai commit c399f3be82e1249221a7f410855ab1aa747fa82b Author: Takashi Iwai Date: Tue Jun 9 08:16:20 2009 +0200 ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() Signed-off-by: Takashi Iwai commit 77634f33d4078542cf1087995cced0ffdae25aa2 Author: Martin K. Petersen Date: Tue Jun 9 06:23:22 2009 +0200 block: Add missing bounce_pfn stacking and fix comments DM no longer needs to set limits explicitly when calling blk_stack_limits. Let the latter automatically deal with bounce_pfn scaling. Fix kerneldoc variable names. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 9df1bb9b516daeece159ab7fb262d01a0359247c Author: Jens Axboe Date: Tue Jun 9 06:22:57 2009 +0200 Revert "block: Fix bounce limit setting in DM" This reverts commit a05c0205ba031c01bba33a21bf0a35920eb64833. DM doesn't need to access the bounce_pfn directly. Signed-off-by: Jens Axboe commit 3969251b80a7b143d01576780073fe0cc9ef6253 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:10:57 2009 -0500 cciss: decode unit attention in SCSI error handling code Make SCSI reset error handler decode unit attention ASC and after a target reset wait for a unit attention that indicates a reset occurred rather than just for any old unit attention. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 72f9f1324fc4cd450c92e4600a710231b0445c75 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:09:32 2009 -0500 cciss: Remove no longer needed sendcmd reject processing code Now that the cciss SCSI error handling routines operate with interrupts enabled, we no longer need to maintain the list of command completions that sendcmd() might inadvertantly scoop up, since now it only runs at driver init time, and there won't be any other commands for it to scoop up. So we can remove that list and the code that adds to it and processes it. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 85cc61ae41084cb6d8ecc6c9e01ac4563005c8ac Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:07:45 2009 -0500 cciss: change SCSI error handling routines to work with interrupts enabled. Change cciss scsi error handling routines to work with interrupts enabled. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 789a424ad1352b335960e7c56494d0410577fa61 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:05:56 2009 -0500 cciss: separate error processing and command retrying code in sendcmd_withirq_core() Separate the error processing from sendcmd_withirq_core from the code which retries commands. The rationale for this is that the SCSI error handling code can then be made to use sendcmd_withirq_core, but avoid retrying commands. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 3c2ab40296894d1f7ad9714550fdf9b96d4e9ee6 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:04:35 2009 -0500 cciss: factor out fix target status processing code from sendcmd functions Factor out code to process target status of completed commands in sendcmd() and sendcmd_withirq_core(), and fix problem that bad target status was ignored in sendcmd_withirq_core. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit b57695fe131b13d3f2460cfeb9175cff673ed337 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:02:17 2009 -0500 cciss: simplify interface of sendcmd() and sendcmd_withirq() Simplify interfaces of sendcmd() and sendcmd_withirq() so that they provide only one way to address commands instead of three ways. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 5390cfc3fea49d015ae1eed8551c0bf00489b50e Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:01:11 2009 -0500 cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code Factor the core of sendcmd_withirq out to provide a simpler interface which provides access to full error information. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 40df6ae4277a67e97aa0a8bd8e293fdbb00e5623 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 15:59:38 2009 -0500 cciss: Use schedule_timeout_uninterruptible in SCSI error handling code Use schedule_timeout_uninterruptible instead of schedule_timeout in the scsi error handling code when waiting between TUR polls since we are not interested in nor want to be interrupted by signals. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit dbb66c4be020b01dc2f3d7c609ddb0e09d2c0af7 Author: FUJITA Tomonori Date: Tue Jun 9 05:47:10 2009 +0200 block: needs to set the residual length of a bidi request Tejun's "block: set rq->resid_len to blk_rq_bytes() on issue" patch seems to be incomplete; It doesn't set rq->resid_len to blk_rq_bytes() for a bidi request (req->next_rq). As a result, all bidi users are broken. Signed-off-by: FUJITA Tomonori Acked-by: Tejun Heo Signed-off-by: Jens Axboe commit ec097c84dff17511f2693e6ef6c3064dfbf0a3af Author: Roland McGrath Date: Thu May 28 21:26:38 2009 +0000 powerpc: Add PTRACE_SINGLEBLOCK support Reworked by: Benjamin Herrenschmidt This adds block-step support on powerpc, including a PTRACE_SINGLEBLOCK request for ptrace. The BookE implementation is tweaked to fire a single step after a block step in order to mimmic the server behaviour. Signed-off-by: Roland McGrath Signed-off-by: Benjamin Herrenschmidt commit c3fa109a5894077d1eaf8731ea741a15dd117b3c Author: Tetsuo Handa Date: Mon Jun 8 12:37:39 2009 +0900 TOMOYO: Add description of lists and structures. This patch adds some descriptions of lists and structures. This patch contains no code changes. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 5bf1692f65c12a8aa359dc883468284ffc3c4587 Author: Tetsuo Handa Date: Fri Jun 5 14:44:58 2009 +0900 TOMOYO: Remove unused field. TOMOYO 2.2.0 is not using total_len field of "struct tomoyo_path_info". Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 0b4ec6e4e01d98e55ae325a41304cccd87fa4c0f Merge: 04288f4 3af968e Author: James Morris Date: Tue Jun 9 09:27:53 2009 +1000 Merge branch 'master' into next commit 05f77f85f47e30a53f7971b687f3b0250e42f665 Author: David S. Miller Date: Mon Jun 8 16:16:56 2009 -0700 bluetooth: Kill skb_frags_no(), unused. Furthermore, it twiddles with the details of SKB list handling directly, which we're trying to eliminate. Signed-off-by: David S. Miller commit 126c5cc37e682e7c5ae96754994b1cb50c2d0cb5 Author: Brian King Date: Mon Jun 8 16:19:08 2009 -0500 [SCSI] ibmvscsi: Add support for capabilities MAD Add support to ibmvscsi for the capabilities MAD. This command gets sent to the Virtual I/O server prior to login in order to communicate client capabilities. Additionally it returns information regarding capabilities that the server supports. The two main capabilities communicated in this MAD are related to partition migration and client reserve. Client reserve allows for SCSI-2 reservations to be sent to virtual disks which are backed by physical LUNs and will result in the reservation being sent to the physical LUN. Signed-off-by: Brian King Signed-off-by: James Bottomley commit c1988e3123751fd425fbae99d5c1776608e965a9 Author: Robert Jennings Date: Mon Jun 8 16:19:07 2009 -0500 [SCSI] ibmvscsi: Enable fast fail feature A new mode of error reporting, fast fail, has been added to the VIOS which allows failover to happen more quickly. If this new fast fail mode is enabled on the VIOS and the vSCSI client supports the mode, the VIOS will not return MEDIUM error on path failures, but rather return VIOSRP_ADAPTER_FAIL in the crq response, which ibmvscsi will translate to DID_ERROR. This new mode can be enabled for single path configurations as well, so it is the new default error reporting mode. A module parameter is provided to disable this new behavior on the off chance it causes a problem on some old VIOS version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3507e13fcba6b97501891a410ec8ef9f1f188620 Author: Brian King Date: Mon Jun 8 16:19:04 2009 -0500 [SCSI] ibmvscsi: Send adapter info before login The ibmvscsi driver currently sends the SRP Login before sending the Adapter Info MAD, which can result in commands getting sent to the virtual adapter before we are ready for them. This results in a slight window where the target devices may not behave as expected. Change the order and close the window. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e1a5ce5b88d06344caec0c71b4ee33e7296358dd Author: Robert Jennings Date: Mon Jun 8 16:19:03 2009 -0500 [SCSI] ibmvscsi: Add specific timeouts for operations Previously we had one timeout that was used for all types of operations. This adds specific timeout values for different operations (init, login, adapter info MAD, abort task, and LUN reset). Signed-off-by: Brian King Signed-off-by: James Bottomley commit fbc56f0801f58041a4372a030933bac076b46aad Author: Brian King Date: Mon Jun 8 16:19:01 2009 -0500 [SCSI] ibmvscsi: Add 16 byte CDB support Adds support for 16 byte CDBs to the ibmvscsi driver. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 1f8a6a10fb9437eac3f516ea4324a19087872f30 Author: Peter Zijlstra Date: Mon Jun 8 18:18:39 2009 +0200 ring-buffer: pass in lockdep class key for reader_lock On Sun, 7 Jun 2009, Ingo Molnar wrote: > Testing tracer sched_switch: <6>Starting ring buffer hammer > PASSED > Testing tracer sysprof: PASSED > Testing tracer function: PASSED > Testing tracer irqsoff: > ============================================= > PASSED > Testing tracer preemptoff: PASSED > Testing tracer preemptirqsoff: [ INFO: possible recursive locking detected ] > PASSED > Testing tracer branch: 2.6.30-rc8-tip-01972-ge5b9078-dirty #5760 > --------------------------------------------- > rb_consumer/431 is trying to acquire lock: > (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_reset_cpu+0x37/0x70 > > but task is already holding lock: > (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_consume+0x7e/0xc0 > > other info that might help us debug this: > 1 lock held by rb_consumer/431: > #0: (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_consume+0x7e/0xc0 The ring buffer is a generic structure, and can be used outside of ftrace. If ftrace traces within the use of the ring buffer, it can produce false positives with lockdep. This patch passes in a static lock key into the allocation of the ring buffer, so that different ring buffers will have their own lock class. Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: <1244477919.13761.9042.camel@twins> [ store key in ring buffer descriptor ] Signed-off-by: Steven Rostedt commit aefcf37b82886260d8540c9fb815e613c8977e06 Author: Ingo Molnar Date: Mon Jun 8 23:15:28 2009 +0200 perf_counter tools: Standardize color printing The rule is: - high overhead: red - mid overhead: green - low overhead: normal (white/black) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 80d496be89ed7dede5abee5c057634e80a31c82d Author: Pekka Enberg Date: Mon Jun 8 21:12:48 2009 +0300 perf report: Add support for profiling JIT generated code This patch adds support for profiling JIT generated code to 'perf report'. A JIT compiler is required to generate a "/tmp/perf-$PID.map" symbols map that is parsed when looking and displaying symbols. Thanks to Peter Zijlstra for his help with this patch! Example "perf report" output with the Jato JIT: # # (40311 samples) # # Overhead Command Shared Object Symbol # ........ ................ ......................... ...... # 97.80% jato /tmp/perf-11915.map [.] Fibonacci.fib(I)I 0.56% jato 00000000b7fa023b 0x000000b7fa023b 0.45% jato /tmp/perf-11915.map [.] Fibonacci.main([Ljava/lang/String;)V 0.38% jato [kernel] [k] get_page_from_freelist 0.06% jato [kernel] [k] kunmap_atomic 0.05% jato ./jato [.] utf8Hash 0.04% jato ./jato [.] executeJava 0.04% jato ./jato [.] defineClass Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Signed-off-by: Pekka Enberg Cc: a.p.zijlstra@chello.nl Cc: acme@redhat.com LKML-Reference: Signed-off-by: Ingo Molnar commit dab5855b12411334355ba21349a06700e4ae7a3b Author: Peter Zijlstra Date: Mon Jun 8 21:11:57 2009 +0300 perf_counter: Add mmap event hooks to mprotect() Some JIT compilers allocate memory for generated code with posix_memalign() + mprotect() so we need to hook into mprotect() to make sure 'perf' is aware that we're executing code in anonymous memory. [ penberg@cs.helsinki.fi: move the hook to sys_mprotect() ] Cc: Arnaldo Carvalho de Melo Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: Ingo Molnar commit 820a644211bc1ac7715333abdb0f0b9ea4fbb549 Author: Thomas Gleixner Date: Mon Jun 8 19:10:25 2009 +0200 perf_counter, x86: Clean up hw_cache_event ids copies Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f86748e91a14bd6cc49477560f33ed5d59896e89 Author: Thomas Gleixner Date: Mon Jun 8 22:33:10 2009 +0200 perf_counter, x86: Implement generalized cache event types, add AMD support Fill in amd_hw_cache_event_id[] with the AMD CPU specific events, for family 0x0f, 0x10 and 0x11. There's apparently no distinction between load and store events, so we only fill in the load events. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a20b2a44eca52818ef52a94959480b7e6ea2f528 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 8 22:07:28 2009 +0200 ide: skip probe if there are no devices on the port (v2) In ide_probe_port() skip probe if ide_port_wait_ready() returns -ENODEV and print error message instead of debug one if it returns -EBUSY. v2: Fix the default 'rc' value. Signed-off-by: Bartlomiej Zolnierkiewicz commit 75c2d7d71a85d02594da07d5d2ad587451b64b02 Author: Sergei Shtylyov Date: Mon Jun 8 22:03:03 2009 +0200 sl82c105: add printk() logging facility Add missing printk() logging facility in sl82c105_dma_lost_irq(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9d01e4cd7eb4a70b04cf5a5b4f79c99e8e3e3edc Author: Borislav Petkov Date: Mon Jun 8 22:03:03 2009 +0200 ide-tape: fix proc warning ide_tape_chrdev_get() was missing an ide_device_get() refcount increment which lead to the following warning: [ 278.147906] ------------[ cut here ]------------ [ 278.152685] WARNING: at fs/proc/generic.c:847 remove_proc_entry+0x199/0x1b8() [ 278.160070] Hardware name: P4I45PE 1.00 [ 278.160076] remove_proc_entry: removing non-empty directory 'ide0/hdb', leaking at least 'name' [ 278.160080] Modules linked in: rtc intel_agp pcspkr thermal processor thermal_sys parport_pc parport agpgart button [ 278.160100] Pid: 2312, comm: mt Not tainted 2.6.30-rc2 #3 [ 278.160105] Call Trace: [ 278.160117] [] warn_slowpath+0x71/0xa0 [ 278.160126] [] ? _spin_unlock_irqrestore+0x29/0x2c [ 278.160132] [] ? try_to_wake_up+0x1b6/0x1c0 [ 278.160141] [] ? default_wake_function+0xb/0xd [ 278.160149] [] ? pollwake+0x4a/0x55 [ 278.160156] [] ? _spin_unlock+0x24/0x26 [ 278.160163] [] ? add_partial+0x44/0x49 [ 278.160169] [] ? __slab_free+0xba/0x29c [ 278.160177] [] ? sysfs_delete_inode+0x0/0x3c [ 278.160184] [] remove_proc_entry+0x199/0x1b8 [ 278.160191] [] ? remove_dir+0x27/0x2e [ 278.160199] [] ide_proc_unregister_device+0x40/0x4c [ 278.160207] [] drive_release_dev+0x14/0x47 [ 278.160214] [] device_release+0x35/0x5a [ 278.160221] [] kobject_release+0x40/0x50 [ 278.160226] [] ? kobject_release+0x0/0x50 [ 278.160232] [] kref_put+0x3c/0x4a [ 278.160238] [] kobject_put+0x37/0x3c [ 278.160243] [] put_device+0xf/0x11 [ 278.160249] [] ide_device_put+0x2d/0x30 [ 278.160255] [] ide_tape_put+0x24/0x32 [ 278.160261] [] idetape_chrdev_release+0x17f/0x18e [ 278.160269] [] __fput+0xca/0x175 [ 278.160275] [] fput+0x19/0x1b [ 278.160280] [] filp_close+0x51/0x5b [ 278.160286] [] sys_close+0x73/0xad [ 278.160293] [] syscall_call+0x7/0xb [ 278.160298] ---[ end trace f16d907ea1f89336 ]--- Instead of trivially fixing it by adding the missing call, ide_tape_chrdev_get() and ide_tape_get() were merged into one function since both were almost identical. The only difference was that ide_tape_chrdev_get() was accessing the ide-tape reference through the idetape_devs[] array of minors instead of through the gendisk. Accomodate that by adding two additional parameters to ide_tape_get() to annotate the call site and invoke the proper behavior. As a result, remove ide_tape_chrdev_get(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 714df9399b3d2c0a7484e8cfb7c9cb100b0b7f19 Author: Andrew Vasquez Date: Wed Jun 3 09:55:31 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 18e7555a38eaadb757353c4b76667e07166ad26c Author: Andrew Vasquez Date: Wed Jun 3 09:55:30 2009 -0700 [SCSI] qla2xxx: Synchronize MPI settings after a PE Reset. Ensure MPS remains in synchronization across all NIC/FCoE functions after a reset. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 656e89122a737b60cebc7b8fcb669faf0e7bc905 Author: Andrew Vasquez Date: Wed Jun 3 09:55:29 2009 -0700 [SCSI] qla2xxx: Export additional firmware-states for application support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f999f4c1961fe5399fd66c95860cc2d5d67e591e Author: Andrew Vasquez Date: Wed Jun 3 09:55:28 2009 -0700 [SCSI] qla2xxx: Reduce lock-contention during do-work processing. Queued work processing will now be serialized with its own lower-priority spinlock. This also simplifies the work-queue interface for future work-queue consumers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6805c1504eb4cfd4a31c05ed88fdeb56228eb3ba Author: Andrew Vasquez Date: Wed Jun 3 09:55:27 2009 -0700 [SCSI] qla2xxx: Avoid explicit LOGO during driver host tear-down. As firmware will ultimately terminate (stop) and port states-cleared. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit aed10881129c52f0e5dc1c96ac706b5ce7708a13 Author: Andrew Vasquez Date: Wed Jun 3 09:55:26 2009 -0700 [SCSI] qla2xxx: Query supported RISC registers bits in determining a paused-state. ISP24xx and above must query the host-status register, not HCCR. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e8233ca40bfe7b9dade6cefc984e305516c4eceb Author: Andrew Vasquez Date: Wed Jun 3 09:55:25 2009 -0700 [SCSI] qla2xxx: Avoid redundant RISC reset during (re)-initialization. ISP24xx and above ISPs perform a RISC reset in qla24xx_reset_chip(), which is called prior to qla24xx_chip_diag(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit eeebcc922326a2ea0302937b425a0d1471cbd6a7 Author: Andrew Vasquez Date: Wed Jun 3 09:55:24 2009 -0700 [SCSI] qla2xxx: Fallback enode-mac should not be a multicast address. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 81eb9b4985b9cf965f9c05f4679a77fae2a85fe5 Author: Andrew Vasquez Date: Wed Jun 3 09:55:23 2009 -0700 [SCSI] qla2xxx: Add notification message when an NPIV fails to acquire a port-id. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9f8fddeef2264a0315032b0aa2ee0052dad90076 Author: Andrew Vasquez Date: Wed Jun 3 09:55:22 2009 -0700 [SCSI] qla2xxx: Add 10Gb iiDMA support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f4658b6ccc9d54b28b89004accc989db185b6a2e Author: Andrew Vasquez Date: Wed Jun 3 09:55:21 2009 -0700 [SCSI] qla2xxx: Mark a port's state as needing-rediscovery during link disruptions. With RSCN states not being kept across qla2x00_configure_loop() invocations, loop-resync distruptions during fabric-discovery may cause ports to remain in a lost state. Force state renegotiation during a follow-on configure-loop iteration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ca9e9c3eb118d0cb9dc2e5232f6f2dcaa4b7a5e0 Author: Andrew Vasquez Date: Wed Jun 3 09:55:20 2009 -0700 [SCSI] qla2xxx: Check status of qla2x00_get_fw_version() call. Unlike earlier ISPs, recent ISPs (ISP81xx) can in fact fail this mailbox command. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 59e0b8b088031b3b751f0608f797f2581f49a827 Author: Anirban Chakraborty Date: Wed Jun 3 09:55:19 2009 -0700 [SCSI] qla2xxx: Correct NULL pointer bug in cpu affinity mode. This patch fixes a NULL pointer bug that occurs when IO is being carried out on a vport for which the cpu affinity mode is turned on. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 94b3aa47ac1ea0aa31b3f59ad121cdf55e038594 Author: Andrew Vasquez Date: Wed Jun 3 09:55:18 2009 -0700 [SCSI] qla2xxx: Use 'proper' DID_* status code for dropped-frame scenarios. The SCSI-midlayer's fast-fail codes consider an DID_ERROR status as a driver-error and the failed I/O would then be retried in the midlayer without being fast-failed to dm-multipath. DID_BUS_BUSY status returns would induce unneeded path-failures events being propagated to the DM/MD. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cbc8eb67da11a4972834f61fe4729f4c037a17c9 Author: Andrew Vasquez Date: Wed Jun 3 09:55:17 2009 -0700 [SCSI] qla2xxx: Fallback to 'golden-firmware' operation on supported ISPs. In case the onboard firmware is unable to be read or loaded for operation, attempt to fallback to a limited-operational firmware image stored in a different flash region. This will allow a user to reflash and correct a board with proper operational firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 40859ae5f13534624cc35a05179b4f93ecbf531a Author: Anirban Chakraborty Date: Wed Jun 3 09:55:16 2009 -0700 [SCSI] qla2xxx: Correct queue-creation bug when driver loaded in QoS mode. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1b91a2e6712393cffc33eeff5cf857f7d5b62fed Author: Andrew Vasquez Date: Wed Jun 3 09:55:15 2009 -0700 [SCSI] qla2xxx: Correct logic-bug in set-model-info(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 11bbc1d896637c1d83b11cc3b97ed3d6d2076c63 Author: Andrew Vasquez Date: Wed Jun 3 09:55:14 2009 -0700 [SCSI] qla2xxx: Export TLV data on supported ISPs. Firmware currently provides PB and PGF TLVs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ce0423f4a23317d0166addd7d6fcc4a0fa95e751 Author: Andrew Vasquez Date: Wed Jun 3 09:55:13 2009 -0700 [SCSI] qla2xxx: Export XGMAC statistics on supported ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7f774025171f626fc1a6a97781967c84a869d277 Author: Andrew Vasquez Date: Wed Jun 3 09:55:12 2009 -0700 [SCSI] qla2xxx: Export negotiated fabric-parameters for application support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 04145f2bfbc3ac4dbb71fa085b82380444d50b4f Author: Takashi Iwai Date: Mon Jun 8 21:31:50 2009 +0200 ALSA: ctxfi - Add use_system_timer module option Added use_system_timer module option to force to use the system timer instead of emu20k1 timer irq for debugging. Signed-off-by: Takashi Iwai commit 226c7ffe74474257b4b87bd38ae8ba0030cf65e2 Author: Joe Eykholt Date: Wed May 6 10:52:51 2009 -0700 [SCSI] net, libfcoe: Add the FCoE Initialization Protocol ethertype FIP is the FCoE Initialization Protocol and this patch adds the protocol ethertype to the kernel's list of ethertypes. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Acked-by: David S. Miller Signed-off-by: James Bottomley commit 4e57e1cbbd1435b523b9cedb949728e9fdcfb5d4 Author: Vasu Dev Date: Wed May 6 10:52:46 2009 -0700 [SCSI] fcoe: removes reserving memory for vlan_ethdr on tx path This is not required as VLAN header is added by device interface driver, this was causing bad FC_CRC in FCoE pkts when using VLAN interface. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 1047f22108bd9bfedefd3ff014cb56691dfbaa3f Author: Vasu Dev Date: Wed May 6 10:52:40 2009 -0700 [SCSI] fcoe: removes fcoe_watchdog Removes periodic fcoe_watchdog timer used across all fcoe interface maintained in fcoe_hostlist instead added new fcoe_queue_timer per fcoe interface. Added timer is armed only when some pending skb need to be flushed as oppose to periodic 1 second fcoe_watchdog, since now fcoe_queue_timer is used on demand thus set this to 2 jiffies. Now fcoe_queue_timer is much simple than fcoe_watchdog using lock to process all fcoe interface from fcoe_hostlist. I noticed +ve performance result with using 2 jiffies timer as this helps flushing fcoe_pending_queue quickly. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 4bb6b5153313269b4b328f4f5ddc558c45c50713 Author: Vasu Dev Date: Wed May 6 10:52:34 2009 -0700 [SCSI] fcoe: reduces lock cost when adding a new skb to fcoe_pending_queue Currently fcoe_pending_queue.lock held twice for every new skb adding to this queue when already least one pkt is pending in this queue and that is not uncommon once skb pkts starts getting queued here upon fcoe_start_io => dev_queue_xmit failure. This patch moves most fcoe_pending_queue logic to fcoe_check_wait_queue function, this new logic grabs fcoe_pending_queue.lock only once to add a new skb instead twice as used to be. I think after this patch call flow around fcoe_check_wait_queue calling in fcoe_xmit is bit simplified with modified fcoe_check_wait_queue function taking care of adding and removing pending skb in one function. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 30121d14f503dac056ee7f68d99eb5d548899b59 Author: Steve Ma Date: Wed May 6 10:52:29 2009 -0700 [SCSI] libfc: Check if exchange is completed when receiving a sequence When a sequence is received in response to an exchange we issued previously, we should check to see if the exchange has completed. If yes, the sequence should be discarded. Since the exchange might be still in the completion process, it should be untouched. Signed-off-by: Steve Ma Signed-off-by: James Bottomley commit d5e6054a0a097527b3920a8a0aefe7f830c014fd Author: Mike Christie Date: Wed May 6 10:52:23 2009 -0700 [SCSI] libfc: use DID_ERROR when we have internall aborted command If we aborted a command, because it timed out we should not use DID_ABORT. It will fail the command right away back to the upper layer. We want to use something that indicated that the problem did not complete normally, but it was not a fatal problem. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0f4915398a4233cdbfc4e9bf4436323546945b3f Author: Chris Leech Date: Wed May 6 10:52:18 2009 -0700 [SCSI] fcoe: use ETH_P_FIP for skb->protocol of FIP frames FIP frames should leave the fcoe layer with skb->protocol set to ETH_P_FIP, not ETH_P_802_3. Signed-off-by: Chris Leech Signed-off-by: James Bottomley commit 5f48f70ecef25df93e122985272ff647f5653836 Author: Joe Eykholt Date: Wed May 6 10:52:12 2009 -0700 [SCSI] libfcoe: fip: fix non-FIP-mode FLOGI state after reset. When a reset is sent using fcoeadm on a non-FIP mode NIC, there's no link flap, so the fcoe_ctlr stays in non-FIP mode. In that case, FIP wasn't setting the flogi_oxid or map_dest flag, causing the FLOGI to be sent with the both wrong source MAC and the wrong destination MAC address, causing it to fail. This leads to a non-functioning HBA until a link flap or instance delete/create. Signed-off-by: Joe Eykholt Signed-off-by: James Bottomley commit 7698fdedcfa3cab3dd40c9b685590b23be02e267 Merge: 2d8d249 ae5c8c8 Author: Russell King Date: Mon Jun 8 19:27:13 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel commit 2d8d24935d372175786ebefa8a2de8680831b67f Merge: c068303 a089516 Author: Russell King Date: Mon Jun 8 19:26:28 2009 +0100 Merge branch 'mxc-master' of git://git.pengutronix.de/git/imx/linux-2.6 into devel commit f00a3328bf9ecff46abd68a421693ba71cd16fc8 Author: Herbert Xu Date: Sat May 30 13:40:04 2009 +1000 [SCSI] cxgb3i: Include net/dst.h for struct dst_cache This driver needs dst_cache->dev so it should include net/dst.h to ensure that it builds. While net/tcp.h probably includes it already, we shouldn't rely on that since there is no guarantee that this won't change in future. Signed-off-by: Herbert Xu Acked-by: Mike Christie Signed-off-by: James Bottomley commit cbbf58f2e2cb73dbed660fdc7b741a010d6bdbef Author: Brian King Date: Thu May 28 16:17:34 2009 -0500 [SCSI] ibmvfc: Driver version 1.0.6 Bump driver version Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6d29cc56bead73b6f386cf43333708579deb5eed Author: Brian King Date: Thu May 28 16:17:33 2009 -0500 [SCSI] ibmvfc: Improve LOGO/PRLO ELS handling There are several scenarios where the ibmvfc driver needs to try to log back into a target on the fabric. Today when these events occur, we simply go through re-discovery for all attached targets, assuming that either the query of the name server or an ADISC will indicate we might need to log back into the target, which doesn't work for all scenarios. Fix this by taking note of the affected target(s) in these conditions and ensuring we try to PLOGI back into the target. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5e47167b6be0ca24cbb04fb71ea611ab7c089aff Author: Brian King Date: Thu May 28 16:17:32 2009 -0500 [SCSI] ibmvfc: Improve device rediscovery For certain scenarios during device rediscovery, we detect we need to log back into a target. Currently we do just that - PLOGI/PRLI back into the target. Change the code to delete and add the target from the FC transport layer as well, to ensure we handle any cases where the target may have changed. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 497f9c504f76e7a751cd370604e1c8521743746d Author: Brian King Date: Thu May 28 16:17:30 2009 -0500 [SCSI] ibmvfc: Add flush on halt support The virtual I/O server controlling the NPIV adapter associated with a virtual fibre channel adapter can send a HALT event to the client. When this occurs, the client can no longer send commands until a RESUME is received. By adding support for flush on halt, we will get all of our outstanding commands flushed back before the Virtual I/O server enters the halt state, eliminating potential command timeouts for outstanding commands which might occur if we did not support this feature. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 79111d0899a122fa3cf0a2921292c3e6a25452d0 Author: Brian King Date: Thu May 28 16:17:29 2009 -0500 [SCSI] ibmvfc: Add support for NPIV Logout This patch adds support for a new command supported by the Virtual I/O Server, NPIV Logout. The command will abort all outstanding commands and log out of the fabric. Currently, the only way to do this is by breaking the CRQ, which can take a fairly long time when lots of commands are outstanding. The NPIV Logout commands provides a mechanism to accomplish virtually the same function, but is much faster. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 43c8da907ccc656935d1085701f4db83385d8a59 Author: Brian King Date: Thu May 28 16:17:28 2009 -0500 [SCSI] ibmvfc: Fix deadlock in EH Fixes the following deadlock scenario shown below. We currently allow queuecommand to send commands when the ibmvfc workqueue is scanning for new rports, so we should also allow EH to function at this time as well. scsi_eh_3 D 0000000000000000 12304 1279 2 Call Trace: [c0000002f7257730] [c0000002f72577e0] 0xc0000002f72577e0 (unreliable) [c0000002f7257900] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f72579a0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f7257b60] [c0000000004f8f08] .schedule_timeout+0xa8/0xe8 [c0000002f7257c50] [d0000000001d23e0] .ibmvfc_wait_while_resetting+0xe4/0x140 [ibmvfc] [c0000002f7257d20] [d0000000001d3984] .ibmvfc_eh_abort_handler+0x60/0xe4 [ibmvfc] [c0000002f7257dc0] [d000000000366714] .scsi_error_handler+0x38c/0x674 [scsi_mod] [c0000002f7257f00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f7257f90] [c000000000029b8c] .kernel_thread+0x4c/0x68 ibmvfc_3 D 0000000000000000 12432 1280 2 Call Trace: [c0000002f7253540] [c0000002f72535f0] 0xc0000002f72535f0 (unreliable) [c0000002f7253710] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f72537b0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f7253970] [c0000000004f8e98] .schedule_timeout+0x38/0xe8 [c0000002f7253a60] [c0000000004f80cc] .wait_for_common+0x138/0x220 [c0000002f7253b40] [c0000000000a2784] .flush_cpu_workqueue+0xac/0xcc [c0000002f7253c10] [c0000000000a2960] .flush_workqueue+0x58/0xa0 [c0000002f7253ca0] [d0000000000827fc] .fc_flush_work+0x4c/0x64 [scsi_transport_fc] [c0000002f7253d20] [d000000000082db4] .fc_remote_port_add+0x48/0x6c4 [scsi_transport_fc] [c0000002f7253dd0] [d0000000001d7d04] .ibmvfc_work+0x820/0xa7c [ibmvfc] [c0000002f7253f00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f7253f90] [c000000000029b8c] .kernel_thread+0x4c/0x68 fc_wq_3 D 0000000000000000 10720 1283 2 Call Trace: [c0000002f559ac30] [c0000002f559ace0] 0xc0000002f559ace0 (unreliable) [c0000002f559ae00] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f559aea0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f559b060] [c0000000004f8e98] .schedule_timeout+0x38/0xe8 [c0000002f559b150] [c0000000004f80cc] .wait_for_common+0x138/0x220 [c0000002f559b230] [c0000000002721c4] .blk_execute_rq+0xb4/0x100 [c0000002f559b360] [d00000000036a1f8] .scsi_execute+0x118/0x194 [scsi_mod] [c0000002f559b420] [d00000000036a32c] .scsi_execute_req+0xb8/0x124 [scsi_mod] [c0000002f559b500] [d0000000000c1330] .sd_sync_cache+0x8c/0x108 [sd_mod] [c0000002f559b5e0] [d0000000000c15b4] .sd_shutdown+0x9c/0x158 [sd_mod] [c0000002f559b660] [d0000000000c16d0] .sd_remove+0x60/0xb4 [sd_mod] [c0000002f559b700] [c000000000392ecc] .__device_release_driver+0xd0/0x118 [c0000002f559b7a0] [c000000000393080] .device_release_driver+0x30/0x54 [c0000002f559b830] [c000000000392108] .bus_remove_device+0x128/0x16c [c0000002f559b8d0] [c00000000038f94c] .device_del+0x158/0x234 [c0000002f559b960] [d00000000036f078] .__scsi_remove_device+0x5c/0xd4 [scsi_mod] [c0000002f559b9f0] [d00000000036f124] .scsi_remove_device+0x34/0x58 [scsi_mod] [c0000002f559ba80] [d00000000036f204] .__scsi_remove_target+0xb4/0x120 [scsi_mod] [c0000002f559bb10] [d00000000036f338] .__remove_child+0x2c/0x44 [scsi_mod] [c0000002f559bb90] [c00000000038f11c] .device_for_each_child+0x54/0xb4 [c0000002f559bc50] [d00000000036f2e0] .scsi_remove_target+0x70/0x9c [scsi_mod] [c0000002f559bce0] [d000000000083454] .fc_starget_delete+0x24/0x3c [scsi_transport_fc] [c0000002f559bd70] [c0000000000a2368] .run_workqueue+0x118/0x208 [c0000002f559be30] [c0000000000a2580] .worker_thread+0x128/0x154 [c0000002f559bf00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f559bf90] [c000000000029b8c] .kernel_thread+0x4c/0x68 Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7d0e462247241b8ec2d377306203b58c7f423553 Author: Brian King Date: Thu May 28 16:17:26 2009 -0500 [SCSI] ibmvfc: Reduce error logging noise The ibmvfc driver currently logs errors during discovery for several transient fabric errors, which generally get retried. If retries do not work, we see multiple errors in the log. If retries do work, we see errors in the log which may be confusing since the retry worked. This patch enhances the discovery time error logging to only log errors for command failures during discovery if all allowed retries have been used up. The existing behavior of logging all failures can be restored by setting the hosts log_level to a value of 3 or greater. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 85e2399e925e0afa04dd6e185a910bdd3dc4626b Author: Brian King Date: Thu May 28 16:17:25 2009 -0500 [SCSI] ibmvfc: Use DEVICE_ATTR macro Use DEVICE_ATTR macro for defining device sysfs attributes. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7270b9bde5f382e730e1ef69d6c1b34d388df2b0 Author: Brian King Date: Thu May 28 16:17:24 2009 -0500 [SCSI] ibmvfc: Fixup GFP flags for target allocations Since target allocations can occur while resetting the virtual adapter, we shouldn't be using GFP_KERNEL for them as it could hang. Switch to use GFP_NOIO. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4a2837d4fcaf8a2c2ad61523287073d0c14b9ed0 Author: Brian King Date: Thu May 28 16:17:22 2009 -0500 [SCSI] ibmvfc: Fix invalid error response handling Fix an obvious bug in processing error responses for SCSI commands which can result in successful responses being incorrectly returned with DID_ERROR. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 601e7638254c118fca135af9b1a9f35061420f62 Author: James Bottomley Date: Tue May 26 20:35:48 2009 +0000 [SCSI] sd: fix bug in SCSI async probing The async split up of probing in sd.c created a potential failure case where something goes wrong with device_add(), but which we don't recover properly. Since, in general, asynchronous error handling is hard, move the device_add() into the asynchronous path (it should be fast) and make sure all the deferred processing cannot fail. Signed-off-by: James Bottomley commit 91bc31fb3bae4e55832c7c39d4f9c193285e6ab2 Author: James Bottomley Date: Sun May 17 09:30:48 2009 -0500 [SCSI] fix up scsi_eh_lock_door() The Documentation is incorrect (we removed some functions referred to), and none of the bug warnings now apply. Additionally remove the spurious check on the return from blk_get_request() which can't fail if __GFP_WAIT is passed in. Signed-off-by: James Bottomley commit 477e608c03eb2f561a23994bee38a32a9fd3357d Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 27 20:54:22 2009 +0200 [SCSI] fix documentation for two functions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: James Bottomley commit c9690998ef48ffefeccb91c70a7739eebdea57f9 Author: Andreas Herrmann Date: Mon Jun 8 19:09:39 2009 +0200 x86: memtest: remove 64-bit division Using gcc 3.3.5 a "make allmodconfig" + "CONFIG_KVM=n" triggers a build error: arch/x86/mm/built-in.o(.init.text+0x43f7): In function `__change_page_attr': arch/x86/mm/pageattr.c:114: undefined reference to `__udivdi3' make: *** [.tmp_vmlinux1] Error 1 The culprit turned out to be a division in arch/x86/mm/memtest.c For more info see this thread: http://marc.info/?l=linux-kernel&m=124416232620683 The patch entirely removes the division that caused the build error. [ Impact: build fix with certain GCC versions ] Reported-by: Tetsuo Handa Signed-off-by: Andreas Herrmann Cc: Yinghai Lu Cc: xiyou.wangcong@gmail.com Cc: Andrew Morton Cc: LKML-Reference: <20090608170939.GB12431@alberich.amd.com> Signed-off-by: Ingo Molnar commit 92a43793a908f395dc687e6c5fc90d63f999d6d5 Author: Dan Allongo Date: Mon Jun 8 11:21:52 2009 -0400 ALSA: usb - Add boot quirk for C-Media 6206 USB Audio Added boot quirk for C-Media CM6206 device in snd_usb_audio_probe. The function snd_usb_cm6206_boot_quirk sets up six internal 16-bit registers in order to initialize the device. Values for the registers came from sniffing USB traffic under Windows since only four of the six are documented in the datasheet for CM106 and some reserved bits were also being set. [Minor coding-style fixes by tiwai] Signed-off-by: Dan Allongo Signed-off-by: Takashi Iwai commit ae5c8c83735f5fcb09b380944e4854a383006998 Author: Nicolas Pitre Date: Wed Jun 3 15:24:36 2009 -0400 [ARM] Kirkwood: platform device registration for the crypto engine Signed-off-by: Nicolas Pitre commit c1191b0e3b5fc080e0b09859024f39c4a8c5d4d5 Author: Nicolas Pitre Date: Tue Jun 2 21:43:45 2009 -0400 [ARM] Kirkwood: create a mapping for the Security Accelerator SRAM Always creating the physical mapping should do no harm, so let's remove the interface that was provided for its optional creation and make the mapping static. Signed-off-by: Nicolas Pitre commit fc63b7239a9c939f38450620f773d057b037976b Author: Nicolas Pitre Date: Tue Jun 2 21:51:14 2009 -0400 [ARM] Kirkwood: let's use real size for resources We don't have to define resources to the minimal physical window size as setup_cpu_win() will cope with smaller sizes already. Signed-off-by: Nicolas Pitre commit 3a8f744169ebcb0064c46a755d9e3e27233f048a Author: Sebastian Andrzej Siewior Date: Thu May 7 22:59:24 2009 +0200 [ARM] orion5x: add sram support for crypto The security accelerator which can act as a puppet player for the crypto engine requires its commands in the sram. This patch adds support for the phys mapping and creates a platform device for the actual driver. [ nico: renamed device name from "mv,orion5x-crypto" to "mv_crypto" so to match the module name and be more generic for Kirkwood use ] Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Nicolas Pitre commit 9ffbe87370403d6d5c4010f5b0f692f9d0715776 Author: Imre Kaloz Date: Tue Jun 2 14:31:43 2009 +0200 [ARM] orion5x: WNR854T switch support This patch adds support for the switch found on the Netgear WNR854T router. Signed-off-by: Imre Kaloz Signed-off-by: Nicolas Pitre commit 3b937a7dbddbedd9457b33fcc8fa369c0c229c6e Author: Nicolas Pitre Date: Mon Jun 1 13:56:02 2009 -0400 [ARM] Orion/Kirkwood: rename orion5x_wdt to orion_wdt The Orion watchdog driver is also used on Kirkwood. Convention is to use orion5x for stuff specific to 88F5xxx Orion chips and simply "orion" for shared stuff across SoCs including Kirkwood. Signed-off-by: Nicolas Pitre commit 054bd3f053de54c81b20df11f354476389826e61 Author: Thomas Reitmayr Date: Mon Jun 1 13:38:34 2009 +0200 [ARM] Kirkwood: Add the watchdog timer as a platform device. The Kirkwood architecture uses the same watchdog device as the Orion architecture. This patch adds orion5x_wdt as a platform device for Kirkwood. Signed-off-by: Thomas Reitmayr Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6462c6160af557c310d5941f4700ea2c7f6c67b2 Author: Thomas Reitmayr Date: Mon Jun 1 13:38:33 2009 +0200 [ARM] orion5x: Change names of defines for Reset-Out-Mask register The name of the define for the Reset-Out-Mask register as well as its bit for the watchdog reset are changed to match the names used for Kirkwood (which in turn match the processor specification more closely). There is no functional change. This patch prepares for adding orion5x_wdt as a platform device to Kirkwood. Signed-off-by: Thomas Reitmayr Signed-off-by: Nicolas Pitre commit e8b2b7ba1200de8e50788e358e2d945a0c0fcfad Author: Rabeeh Khoury Date: Sun Mar 22 17:30:32 2009 +0200 [ARM] Kirkwood: clock gating for unused peripherals To save power: 1. Enabling clock gating of unused peripherals 2. PLL and PHY of the units are also disabled (when possible. Signed-off-by: Rabeeh Khoury Signed-off-by: Nicolas Pitre commit fb7b2d3f0dda3fbd711c191fd3b9496653e81ac7 Author: Nicolas Pitre Date: Mon Jun 1 15:36:36 2009 -0400 [ARM] Kirkwood: rationalize NAND setup a bit Common resource and platform device structures are moved to common.c and only the partition table and chip delay remains a per board parameter. Signed-off-by: Nicolas Pitre commit a88656553d18c324554855fccc730c9644048111 Author: Erik Benada Date: Thu May 28 17:08:55 2009 -0700 [ARM] orion: convert gpio to use gpiolib Signed-off-by: Erik Benada [ nico: fix locking, additional cleanups ] Signed-off-by: Nicolas Pitre commit f14081e109e7074be3052f5410641161b6479abb Author: Nicolas Pitre Date: Fri May 29 22:29:01 2009 -0400 [ARM] Kirkwood: comment type fix Signed-off-by: Nicolas Pitre commit 797b2c80e8e111bc9673fc5e6c67ac03e8b7c7ef Author: Nicolas Pitre Date: Tue May 26 22:06:25 2009 -0400 [ARM] Kirkwood: only map peripheral register space once Just like commit 1419468ab548, let's save some TLB entries by making ioremap() return pointers into the boot-time Kirkwood peripheral iotable mapping whenever someone tries to ioremap any part of the Kirkwood peripheral register space. Signed-off-by: Nicolas Pitre commit 96e7d211b46ce838ceca5d9734d6e166cfafdef4 Author: Siddarth Gore Date: Tue May 5 14:52:09 2009 +0530 [ARM] Kirkwood: enable gpio leds/buttons for the mv88f6281gtw_ge board Signed-off-by: Siddarth Gore Signed-off-by: Lennert Buytenhek commit 91af7bb2f48e14892c5c961bca1fae5c7886532e Author: Lennert Buytenhek Date: Sun Oct 19 02:38:25 2008 +0200 [ARM] Kirkwood: add Marvell 88F6281 GTW GE board support Signed-off-by: Lennert Buytenhek commit a399e3fa795afa058e4485b25c498e0c5a860428 Author: Nicolas Pitre Date: Fri May 15 00:42:36 2009 -0400 [ARM] orion: make sure sched_clock() usage of cnt32_to_63() is safe With a TCLK = 200MHz, the half period of the hardware timer is roughly 10 seconds. Because cnt32_to_63() must be called at least once per half period of the base hardware counter, it is a bit risky to rely solely on scheduling to generate frequent enough calls. Let's use a kernel timer to ensure this. Signed-off-by: Nicolas Pitre commit 8a3269fc21cc4405d80b362139c078cf655a505a Author: Stefan Agner Date: Tue May 12 10:30:41 2009 -0700 [ARM] orion: sched_clock implementation for orion platforms sched_clock implementation for orion platform. Its realized using free-running clocksource timer, which provides a resolution of 7.5ns (depending on tclk). It's derived from PXA's sched_clock implementation. [ nico: renamed orion2ns to tclk2ns, fixed max value in the comment ] Signed-off-by: Stefan Agner Signed-off-by: Nicolas Pitre commit e50b6befae9ea91c2d190fb78ff1e06a0b950add Author: Rabeeh Khoury Date: Tue Mar 24 16:10:15 2009 +0200 [ARM] Kirkwood: CPU idle driver The patch adds support for Kirkwood cpu idle. Two idle states are defined: 1. Wait-for-interrupt (replacing default kirkwood wfi) 2. Wait-for-interrupt and DDR self refresh Signed-off-by: Rabeeh Khoury Signed-off-by: Nicolas Pitre commit c4ed3f04ba9defe22aa729d1646f970f791c03d7 Author: Jack Steiner Date: Mon Jun 8 10:44:05 2009 -0500 x86, UV: Fix macros for multiple coherency domains Fix bug in the SGI UV macros that support systems with multiple coherency domains. The macros used for referencing global MMR (chipset registers) are failing to correctly "or" the NASID (node identifier) bits that reside above M+N. These high bits are supplied automatically by the chipset for memory accesses coming from the processor socket. However, the bits must be present for references to the special global MMR space used to map chipset registers. (See uv_hub.h for more details ...) The bug results in references to invalid/incorrect nodes. Signed-off-by: Jack Steiner Cc: LKML-Reference: <20090608154405.GA16395@sgi.com> Signed-off-by: Ingo Molnar commit 9aee2286071c23c535fe9928eec1a26e0bcf256d Author: Toshiyuki Okajima Date: Mon Jun 8 12:41:35 2009 -0400 ext4: fix dx_map_entry to support 256k directory blocks The dx_map_entry structure doesn't support over 64KB block size by current usage of its member("offs"). Because "offs" treats an offset of copies of the ext4_dir_entry_2 structure as is. This member size is 16 bits. But real offset for over 64KB(256KB) block size needs 18 bits. However, real offset keeps 4 byte boundary, so lower 2 bits is not used. Therefore, we do the following to fix this limitation: For "store": we divide the real offset by 4 and then store this result to "offs" member. For "use": we multiply "offs" member by 4 and then use this result as real offset. Signed-off-by: Toshiyuki Okajima Signed-off-by: "Theodore Ts'o" commit 09521d2e3edd0bf02b66e5b8c13f1559f2d6958a Author: Takashi Iwai Date: Mon Jun 8 18:29:38 2009 +0200 ALSA: ctxfi - Fix wrong model id for UAA CTUAA should be checked instead of CTHENDRIX. The latter is for 20k2 chip. Also, fixed the detection of UAA/HENDRIX models by fixing the mask bits. Signed-off-by: Takashi Iwai commit 53331aa1c721336b661567e4c0aacc04ab9725d8 Author: James Smart Date: Fri May 22 14:53:27 2009 -0400 [SCSI] lpfc 8.3.2 : Update the lpfc driver version to 8.3.2 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 21e9a0a5fbd2b7cb3ae29f6d491a30bc0e688422 Author: James Smart Date: Fri May 22 14:53:21 2009 -0400 [SCSI] lpfc 8.3.2 : Persistent Vport Support Add support for persistent vport definitions at creation at boot time Also includes a few misc fixes for: - conversion to vpi name from vport slang name - couple of small mailbox references - some additional discovery mods Signed-off-by: James Smart Signed-off-by: James Bottomley commit f4b4c68f74dcd5da03df851090cad28ad4e8d7cc Author: James Smart Date: Fri May 22 14:53:12 2009 -0400 [SCSI] lpfc 8.3.2 : Miscellaneous Changes Miscellaneous Changes: - Convert from SLI2_ACTIVE flag to more correct SLI_ACTIVE (generic) flag - Reposition log verbose messaging definitions - Update naming for vpi object name from vport slang name - Handle deferred error attention condition - Add 10G link support - Small bug fixup Signed-off-by: James Smart Signed-off-by: James Bottomley commit d8e93df13c8f7bde45a7756944aab528c58df4cf Author: James Smart Date: Fri May 22 14:53:05 2009 -0400 [SCSI] lpfc 8.3.2 : Update of copyrights Update of copyrights on modified files Signed-off-by: James Smart Signed-off-by: James Bottomley commit 6fb120a7ed882aae9636545142a51cf3182a3ace Author: James Smart Date: Fri May 22 14:52:59 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - FCOE Discovery support SLI4 supports both FC and FCOE, with some extended topology objects. This patch adss support for the objects, and updates the disovery engines for their use. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 04c684968487eb4f98728363a97b8da48f3bb958 Author: James Smart Date: Fri May 22 14:52:52 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Mailbox handling The mailbox commands themselves are the same, or very similar to their SLI3 counterparts. This patch genericizes mailbox command handling and adds support for the new SLI4 mailbox queue. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4f774513f7b3fe96648b8936f60f835e6ceaa88e Author: James Smart Date: Fri May 22 14:52:35 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Queues Adds support for the new queues in the SLI-4 interface. There are : - Work Queues - host-to-adapter for fast-path traffic - Mailbox Queues - host-to-adapter for control (slow-path) - Buffer Queues - host-to-adapter for posting buffers for async receive - Completion Queues - adapter-to-host for posting async events, completions for fast or slow patch work, receipt of async receive traffic - Event Queues - tied to MSI-X vectors, binds completion queues with interrupts These patches add the all the support code to tie into command submission and response paths, updates the interrupt handling, etc. Signed-off-by: James Smart Signed-off-by: James Bottomley commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d Author: James Smart Date: Fri May 22 14:51:39 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Base Support Adds new hardware and interface definitions. Adds new interface routines - utilizing the reorganized layout of the driver. Adds SLI-4 specific functions for attachment, initialization, teardown, etc. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3772a99175f5378b5001e8da364341a8b8226a4a Author: James Smart Date: Fri May 22 14:50:54 2009 -0400 [SCSI] lpfc 8.3.2 : Reorganization for SLI4 Preps the organization of the driver so that the bottom half, which interacts with the hardware, can share common code sequences for attachment, detachment, initialization, teardown, etc with new hardware. For very common code sections, which become specific to the interface type, the driver uses an indirect function call. The function is set at initialization. For less common sections, such as initialization, the driver looks at the interface type and calls the routines relative to the interface. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9470195a9cd13e6d90221b8b5d897e9232da8d28 Author: Takashi Iwai Date: Mon Jun 8 18:10:32 2009 +0200 ALSA: ctxfi - Clean up probe routines Clean up probe routines and model detection routines so that the driver won't call and check the PCI subsystem id at each time. Signed-off-by: Takashi Iwai commit a0895162fbc1a4168c8cf29e1eb1bbc8c260a80a Author: Martin Fuzzey Date: Sat Jun 6 16:36:44 2009 +0200 MXC : update i.MX21 clock support for USB host. * Use correct clkdev style usb clock name * Implement rate setting for USB clock * Introduce _clk_generic_round_rate to factorize the (now 3) uses of rounding code. Signed-off-by: Martin Fuzzey Signed-off-by: Sascha Hauer commit 11eeef41d5f63c7d2f7fdfcc733eb7fb137cc384 Author: Evgeniy Polyakov Date: Mon Jun 8 17:01:51 2009 +0200 netfilter: passive OS fingerprint xtables match Passive OS fingerprinting netfilter module allows to passively detect remote OS and perform various netfilter actions based on that knowledge. This module compares some data (WS, MSS, options and it's order, ttl, df and others) from packets with SYN bit set with dynamically loaded OS fingerprints. Fingerprint matching rules can be downloaded from OpenBSD source tree or found in archive and loaded via netfilter netlink subsystem into the kernel via special util found in archive. Archive contains library file (also attached), which was shipped with iptables extensions some time ago (at least when ipt_osf existed in patch-o-matic). Following changes were made in this release: * added NLM_F_CREATE/NLM_F_EXCL checks * dropped _rcu list traversing helpers in the protected add/remove calls * dropped unneded structures, debug prints, obscure comment and check Fingerprints can be downloaded from http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os or can be found in archive Example usage: -d switch removes fingerprints Please consider for inclusion. Thank you. Passive OS fingerprint homepage (archives, examples): http://www.ioremap.net/projects/osf Signed-off-by: Evgeniy Polyakov Signed-off-by: Patrick McHardy commit f03ecf50534a81b06544c58a713076d59d54baf9 Author: Takashi Iwai Date: Mon Jun 8 16:38:17 2009 +0200 ALSA: hda - Fix the previous tagra-8ch patch - Fix a typo in the patch - Adapted to follow the recent change for unsol event handling Signed-off-by: Takashi Iwai commit 64a8be74357477558183b43156c5536b642de134 Author: David Heidelberger Date: Mon Jun 8 16:15:18 2009 +0200 ALSA: hda - Add 7.1 support for MSI GX620 Added 7.1 support for MSI GX620 and jack quirk. Reference: kernel bug#13430 http://bugzilla.kernel.org/show_bug.cgi?id=13430 Signed-off-by: David Heidelberger Signed-off-by: Takashi Iwai commit c00701101b82f2bc61dfc259748ec6e5288af6a9 Author: Takashi Iwai Date: Mon Jun 8 15:58:48 2009 +0200 ALSA: pcm - A helper function to compose PCM stream name for debug prints Use a common helper function for the PCM stream name displayed in XRUN and buffer-pointer debug prints. Signed-off-by: Takashi Iwai commit 0bf841281e58d0b3cc9fe9dc4383df7694bde6bd Author: Joerg Roedel Date: Mon Jun 8 15:53:46 2009 +0200 dma-debug: simplify logic in driver_filter() This patch makes the driver_filter function more readable by reorganizing the code. The removal of a code code block to an upper indentation level makes hard-to-read line-wraps unnecessary. Signed-off-by: Joerg Roedel commit f87fb666bb00a7afcbd7992d236e42ac544996f9 Author: Jan Kasprzak Date: Mon Jun 8 15:53:43 2009 +0200 netfilter: nf_ct_icmp: keep the ICMP ct entries longer Current conntrack code kills the ICMP conntrack entry as soon as the first reply is received. This is incorrect, as we then see only the first ICMP echo reply out of several possible duplicates as ESTABLISHED, while the rest will be INVALID. Also this unnecessarily increases the conntrackd traffic on H-A firewalls. Make all the ICMP conntrack entries (including the replied ones) last for the default of nf_conntrack_icmp{,v6}_timeout seconds. Signed-off-by: Jan "Yenya" Kasprzak Signed-off-by: Patrick McHardy commit 806d31d73843a018cb239fc16ba53d82f4d8dc33 Author: Takashi Iwai Date: Mon Jun 8 15:50:42 2009 +0200 ALSA: emu10k1 - Fix minimum periods for efx playback EFX playback stream should have periods_min = 2 to avoid the buffer position overflow (due to restrictions of the pcm-indirect helper). Signed-off-by: Takashi Iwai commit be81c6ea23b8b471141734ef4bc005f5127aaf43 Author: Joerg Roedel Date: Mon Jun 8 15:46:19 2009 +0200 dma-debug: disable/enable irqs only once in device_dma_allocations There is no need to disable/enable irqs on each loop iteration. Just disable irqs for the whole time the loop runs. Signed-off-by: Joerg Roedel commit e7ed70eedccc78e79ce6da2155e9caf90aff4003 Author: Joerg Roedel Date: Mon Jun 8 15:39:24 2009 +0200 dma-debug: use pr_* instead of printk(KERN_* ...) The pr_* macros are shorter than the old printk(KERN_ ...) variant. Change the dma-debug code to use the new macros and save a few unnecessary line breaks. If lines don't break the source code can also be grepped more easily. Signed-off-by: Joerg Roedel commit 8b5403a6d772d340541cfb30a668fde119c40ac1 Author: Christoph Hellwig Date: Mon Jun 8 15:37:16 2009 +0200 xfs: remove SYNC_BDFLUSH SYNC_BDFLUSH is a leftover from IRIX and rather misnamed for todays code. Make xfs_sync_fsdata and xfs_dq_sync use the SYNC_TRYLOCK flag for not blocking on logs just as the inode sync code already does. For xfs_sync_fsdata it's a trivial 1:1 replacement, but for xfs_qm_sync I use the opportunity to decouple the non-blocking lock case from the different flushing modes, similar to the inode sync code. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit b0710ccc6d9fa8fb908b5f6d1b0782a09d80e24f Author: Christoph Hellwig Date: Mon Jun 8 15:37:11 2009 +0200 xfs: remove SYNC_IOWAIT We want to wait for all I/O to finish when we do data integrity syncs. So there is no reason to keep SYNC_WAIT separate from SYNC_IOWAIT. This causes a little change in behaviour for the ENOSPC flushing code which now does a second submission and wait of buffered I/O, but that should finish ASAP as we already did an asynchronous writeout earlier. Signed-off-by: Christoph Hellwig Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Eric Sandeen commit 075fe1028699f6a280545dfc2cfc5ac82d555c8c Author: Christoph Hellwig Date: Mon Jun 8 15:35:48 2009 +0200 xfs: split xfs_sync_inodes xfs_sync_inodes is used to write back either file data or inode metadata. In general we always do these separately, except for one fishy case in xfs_fs_put_super that does both. So separate xfs_sync_inodes into separate xfs_sync_data and xfs_sync_attr functions. In xfs_fs_put_super we first call the data sync and then the attr sync as that was the previous order. The moved log force in that path doesn't make a difference because we will force the log again as part of the real unmount process. The filesystem readonly checks are not performed by the new function but instead moved into the callers, given that most callers alredy have it further up in the stack. Also add debug checks that we do not pass in incorrect flags in the new xfs_sync_data and xfs_sync_attr function and fix the one place that did pass in a wrong flag. Also remove a comment mentioning xfs_sync_inodes that has been incorrect for a while because we always take either the iolock or ilock in the sync path these days. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit fe588ed32867b42e0d906db558ca92fd9f8b128e Author: Christoph Hellwig Date: Mon Jun 8 15:35:27 2009 +0200 xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes Use xfs_inode_ag_iterator instead of opencoding the inode walk in the quota code. Mark xfs_inode_ag_iterator and xfs_sync_inode_valid non-static to allow using them from the quota code. Signed-off-by: Christoph Hellwig Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Eric Sandeen commit 75f3cb1393133682958db6f157e1b6473e5a366b Author: Dave Chinner Date: Mon Jun 8 15:35:14 2009 +0200 xfs: introduce a per-ag inode iterator Given that we walk across the per-ag inode lists so often, it makes sense to introduce an iterator for this. Convert the sync and reclaim code to use this new iterator, quota code will follow in the next patch. Also change xfs_reclaim_inode to return -EGAIN instead of 1 for an inode already under reclaim. This simplifies the AG iterator and doesn't matter for the only other caller. [hch: merged the lookup and execute callbacks back into one to get the pag_ici_lock locking correct and simplify the code flow] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit abc1064742604e60a47a65fa3214dc1a84db093d Author: Dave Chinner Date: Mon Jun 8 15:35:12 2009 +0200 xfs: remove unused parameter from xfs_reclaim_inodes The noblock parameter of xfs_reclaim_inodes is only ever set to zero. Remove it and all the conditional code that is never executed. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 1da8eecab5f866b4f5be43adbaadf18e259a8cc5 Author: Dave Chinner Date: Mon Jun 8 15:35:07 2009 +0200 xfs: factor out inode validation for sync Separate the validation of inodes found by the radix tree walk from the radix tree lookup. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 845b6d0cbbc2304e8a54ed4038272c55f85b2269 Author: Christoph Hellwig Date: Mon Jun 8 15:35:05 2009 +0200 xfs: split inode flushing from xfs_sync_inodes_ag In many cases we only want to sync inode metadata. Split out the inode flushing into a separate helper to prepare factoring the inode sync code. Based on a patch from Dave Chinner, but redone to keep the current behaviour exactly and leave changes to the flushing logic to another patch. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 5a34d5cd096310133f9208db294021208a96660d Author: Dave Chinner Date: Mon Jun 8 15:35:03 2009 +0200 xfs: split inode data writeback from xfs_sync_inodes_ag In many cases we only want to sync inode data. Start spliting the inode sync into data sync and inode sync by factoring out the inode data flush. [hch: minor cleanups] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 7d095257e321214e4cf359abd131ba1f09c60cba Author: Christoph Hellwig Date: Mon Jun 8 15:33:32 2009 +0200 xfs: kill xfs_qmops Kill the quota ops function vector and replace it with direct calls or stubs in the CONFIG_XFS_QUOTA=n case. Make sure we check XFS_IS_QUOTA_RUNNING in the right spots. We can remove the number of those checks because the XFS_TRANS_DQ_DIRTY flag can't be set otherwise. This brings us back closer to the way this code worked in IRIX and earlier Linux versions, but we keep a lot of the more useful factoring of common code. Eventually we should also kill xfs_qm_bhv.c, but that's left for a later patch. Reduces the size of the source code by about 250 lines and the size of XFS module by about 1.5 kilobytes with quotas enabled: text data bss dec hex filename 615957 2960 3848 622765 980ad fs/xfs/xfs.o 617231 3152 3848 624231 98667 fs/xfs/xfs.o.old Fallout: - xfs_qm_dqattach is split into xfs_qm_dqattach_locked which expects the inode locked and xfs_qm_dqattach which does the locking around it, thus removing XFS_QMOPT_ILOCKED. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 0c5e1ce89f1eacc366ec421c0f5f681159479c28 Author: Christoph Hellwig Date: Mon Jun 8 15:33:21 2009 +0200 xfs: validate quota log items during log recovery Arkadiusz has seen really strange crashes in xfs_qm_dqcheck that I can only explain by a log item being too smal to actually fit the xfs_dqblk_t we're dereferencing all over xfs_qm_dqcheck. So add graceful checks for NULL or too small quota items to the log recovery code. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit e1696834e8a15d7ef9ae8ffdffe00bac1399a2e3 Author: Christoph Hellwig Date: Mon Jun 8 15:32:59 2009 +0200 xfs: update max log size Commit a6634fba3dec4a92f0a2c4e30c80b634c0576ad5 in xfsprogs increased the maximum log size supported by mkfs. Merged back the changes to xfs_fs.h so the growfs enforced the same limit and the headers are in sync. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit d362af62ed98f58c64a2b3dd58c79d25ad181b0b Author: Takashi Iwai Date: Mon Jun 8 15:31:22 2009 +0200 ALSA: ctxfi - Fix / clean up hw20k2 chip code - Clean up Hungarian coding style - Don't use static variables for I2C information; this unables to use multiple instances. Now they are stored in struct hw20k2 fields. Signed-off-by: Takashi Iwai commit c17e2cf7376a2010b8b114fdeebd4e340a5e9cb2 Author: Joerg Roedel Date: Mon Jun 8 15:19:29 2009 +0200 dma-debug: code style fixes This patch changes the recent updates to dma-debug to conform with coding style guidelines of Linux and the -tip tree. Signed-off-by: Joerg Roedel commit af8500bbbd18438495d2f91ad07bda49fff3b770 Author: Takashi Iwai Date: Mon Jun 8 15:07:46 2009 +0200 ALSA: ctxfi - Fix possible buffer pointer overrun Fix possible buffer pointer overruns. Back to zero when it's equal or over the buffer size. Signed-off-by: Takashi Iwai commit 312325094785566a0e42a88c1bf6e7eb54c5d70e Author: Joerg Roedel Date: Mon Jun 8 15:07:08 2009 +0200 dma-debug: comment style fixes Last patch series introduced some new comment which does not fit the Kernel comment style guidelines. Fix it with this patch. Signed-off-by: Joerg Roedel commit 514eef9c2a711b4c24b97bb456d39695a6fe1775 Author: Takashi Iwai Date: Mon Jun 8 14:57:57 2009 +0200 ALSA: ctxfi - Remove useless initializations and cast Remove useless variable initializations and cast at the beginning of functions. Signed-off-by: Takashi Iwai commit 4836ac655410e7f126d316b0be062b38746f7529 Author: Takashi Iwai Date: Mon Jun 8 14:49:26 2009 +0200 ALSA: ctxfi - Fix DMA mask for emu20k2 chip Allow 64bit DMA mask for emu20k2 chip, too. Signed-off-by: Takashi Iwai commit 611b30f74b5d8ca036a9923b3bf6e0ee10a21a53 Author: Marcel Holtmann Date: Mon Jun 8 14:41:38 2009 +0200 Bluetooth: Add native RFKILL soft-switch support for all devices With the re-write of the RFKILL subsystem it is now possible to easily integrate RFKILL soft-switch support into the Bluetooth subsystem. All Bluetooth devices will now get automatically RFKILL support. Signed-off-by: Marcel Holtmann commit 092b85853b161a5ca285c429faf1cf2ff4318a01 Author: Marcel Holtmann Date: Mon Jun 8 14:31:00 2009 +0200 Bluetooth: Remove unused and unneeded support in virtual driver The virtual driver implements fasync and ioctl support, but it is not used and unneeded due to its constraints via the Bluetooth core layer. So too just make the driver simpler, remove support for both of them. Signed-off-by: Marcel Holtmann commit 3857abc622102b808de11ff3393d541b826ab952 Author: Marcel Holtmann Date: Mon Jun 8 14:24:03 2009 +0200 Bluetooth: Remove BKL from open callback of virtual driver The BKL push down added some BKL into the open callback of the virtual driver. The driver is really simple and need no such locking and so just remove it. Signed-off-by: Marcel Holtmann commit 4db7589f3d88c09d740560f1dcf2d4d843d918f2 Author: Marcel Holtmann Date: Mon Jun 8 14:13:57 2009 +0200 Bluetooth: Use wait_event_interruptible for virtual driver The virtual driver still uses a home grown way of waiting for events and so just replace it with wait_event_interruptible. And while at it remove the useless access_ok() checks. Signed-off-by: Marcel Holtmann commit ac28494c51ad20c7ff9cb991eaeee359a500d88e Author: Marcel Holtmann Date: Sun Jun 7 18:09:57 2009 +0200 Bluetooth: Use only MISC_DYNAMIC_MINOR for virtual driver Allowing to specify a specific misc minor number for the virtual driver is pretty much useless and nobody is using this feature. So just remove it and use MISC_DYNAMIC_MINOR all the time. Signed-off-by: Marcel Holtmann commit b4324b5dc5b62ba76372e1bf8927230cf744df66 Author: Marcel Holtmann Date: Sun Jun 7 18:06:51 2009 +0200 Bluetooth: Remove pointless endian conversion helpers The Bluetooth source uses some endian conversion helpers, that in the end translate to kernel standard routines. So remove this obfuscation since it is fully pointless. Signed-off-by: Marcel Holtmann commit 47ec1dcd696d56a7c396e5838516a566ecd4b03d Author: Marcel Holtmann Date: Sat May 2 18:57:55 2009 -0700 Bluetooth: Add basic constants for L2CAP ERTM support and use them This adds the basic constants required to add support for L2CAP Enhanced Retransmission feature. Based on a patch from Nathan Holstein Signed-off-by: Marcel Holtmann commit af05b30bcb65da3ed488af54ee92e96bebe0be5e Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:08 2009 -0300 Bluetooth: Fix errors and warnings in L2CAP reported by checkpatch.pl This patch fixes the errors without changing the l2cap.o binary: text data bss dec hex filename 18059 568 0 18627 48c3 l2cap.o.after 18059 568 0 18627 48c3 l2cap.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 44d0e48e8a1fa174edf11e03dc70bd6a146b2a40 Author: Marcel Holtmann Date: Mon Apr 20 07:09:16 2009 +0200 Bluetooth: Remove unnecessary variable initialization The initial value of err is not used until it is set to -ENOMEM. So just remove the initialization completely. Based on a patch from Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 589d27464846c7cb758f93d9ee380c8ff05a161c Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:07 2009 -0300 Bluetooth: Use macro for L2CAP hint mask on receiving config request Using the L2CAP_CONF_HINT macro is easier to understand than using a hardcoded 0x80 value. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8db4dc46dcff7568896aa1eae4bd07620ce3dd93 Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:05 2009 -0300 Bluetooth: Use macros for L2CAP channel identifiers Use macros instead of hardcoded numbers to make the L2CAP source code more readable. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 21bea495943f9532f16e819066b340762124f5dd Author: Christoph Hellwig Date: Mon Jun 8 21:38:31 2009 +0900 fat: split fat_generic_ioctl Split up fat_generic_ioctl and add separate functions for the two implemented ioctls. Signed-off-by: Christoph Hellwig Signed-off-by: OGAWA Hirofumi commit d436dd063be605dc29f17b2cb0b99a852db89bed Author: Takashi Iwai Date: Mon Jun 8 13:50:18 2009 +0200 ALSA: ctxfi - Make volume controls more intuitive Change the volume control to dB scale (as the raw data seems so). Also added the TLV dB-scale information. Signed-off-by: Takashi Iwai commit c4865679df5453d1bc94c534f4d94a364c0546df Author: Takashi Iwai Date: Mon Jun 8 12:57:17 2009 +0200 ALSA: ca0106 - Fix master volume scale The master volume dB scale was wrongly defined as 0.50dB setp while it must be 0.25dB step. Signed-off-by: Takashi Iwai commit 4024533e60787a5507818b0c0fdb44ddb522cdf5 Author: Peter Ma Date: Mon Jun 8 12:55:35 2009 +0200 avr32: Add support for Mediama RMTx add-on board for ATNGW100 Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit a89ab11454b476d2d9e8a10f903360a62e21bac8 Author: Peter Ma Date: Mon Jun 8 12:54:02 2009 +0200 avr32: Change Atmel ATNGW100 config to add choice of add-on board Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit 54de6bc8b2437f642844cecb8d183df2368ffceb Author: Takashi Iwai Date: Mon Jun 8 10:21:07 2009 +0200 ALSA: ctxfi - Optimize the native timer handling using wc counter Optimize the timer update routine to look up wall clock once instead of checking the position of each stream at each timer update. Signed-off-by: Takashi Iwai commit 1123e3ad73697d64ad99f0104bbe49f8b52d7d65 Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter: Clean up x86 boot messages Standardize and tidy up all the messages we print during perfcounter initialization. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9c259a52fa6ab46841a6094434cd0d752e854180 Author: Artem Bityutskiy Date: Mon Jun 8 12:49:08 2009 +0300 UBI: improve messages in the WL worker Print not only the PEB number, but also the LEB number and volume id, which is very useful for bug hunting. Signed-off-by: Artem Bityutskiy commit 963267bc5d4de4a0da104a64300375d186575332 Author: Maciej W. Rozycki Date: Mon Jun 8 02:42:35 2009 -0700 declance: Restore tx descriptor ring locking A driver overhaul on 29 Feb 2000 (!) broke locking around fiddling with the tx descriptor ring in start_xmit(); a follow-on "fix" removed the broken remnants altogether. Here's a patch to restore proper locking in the function -- the complement in the interrupt handler has been correct all the time. This *may* have been the reason for the occasional confusion of the chip -- triggering a tx timeout followed by a chip reset sequence -- seen on R4k-based DECstations with the onboard Ethernet interface. Another theory is the confusion is due to an unindentified problem -- perhaps a silicon erratum -- associated with the variation of the MT ASIC used to interface the R4k CPU to the rest of the system on these computers; with its aggressive write-back buffering the design is particularly weakly ordered when it comes to MMIO (in the absence of ordering barriers uncached reads are allowed to bypass earlier uncached writes, even if to the same location), which may trigger all kinds of corner cases in peripheral hardware as well as software. Either way this piece of code is buggy. Signed-off-by: Maciej W. Rozycki Signed-off-by: David S. Miller commit ad689220614b6c7c0b13b70d742f358e9310e71e Author: Thomas Gleixner Date: Mon Jun 8 09:30:41 2009 +0200 perf_counter, x86: Implement generalized cache event types, add Atom support Fill in core2_hw_cache_event_id[] with the Atom model specific events. The events can be used in all the tools via the -e (--event) parameter, for example "-e l1-misses" or -"-e l2-accesses" or "-e l2-write-misses". ( Note: these are straight from the Intel manuals - not tested yet.) Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 0312af84164215a452f2a94957ebd9bce86e0204 Author: Thomas Gleixner Date: Mon Jun 8 07:42:04 2009 +0200 perf_counter, x86: Implement generalized cache event types, add Core2 support Fill in core2_hw_cache_event_id[] with the Core2 model specific events. The events can be used in all the tools via the -e (--event) parameter, for example "-e l1-misses" or -"-e l2-accesses" or "-e l2-write-misses". Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f2c5dbd7b7396457efc114f825acfdd4db4608f8 Author: Artem Bityutskiy Date: Thu May 28 16:24:15 2009 +0300 UBIFS: start using hrtimers UBIFS uses timers for write-buffer write-back. It is not crucial for us to write-back exactly on time. We are fine to write-back a little earlier or later. And this means we may optimize UBIFS timer so that it could be groped with a close timer event, so that the CPU would not be waken up just to do the write back. This is optimization to lessen power consumption, which is important in embedded devices UBIFS is used for. hrtimers have a nice feature: they are effectively range timers, and we may defind the soft and hard limits for it. Standard timers do not have these feature. They may only be made deferrable, but this means there is effectively no hard limit. So, we will better use hrtimers. Signed-off-by: Artem Bityutskiy commit 8daa21e61be47a5b136c4ee1be82e391a5788696 Author: Artem Bityutskiy Date: Thu May 28 16:21:24 2009 +0300 hrtimer: export ktime_add_safe We want to use hrtimers in UBIFS (for write-buffer write-back timer). We need the 'hrtimer_set_expires_range_ns()', which is an in-line function which uses 'ktime_add_safe()'. Signed-off-by: Artem Bityutskiy Acked-by: Ingo Molnar commit 3f36406f26437afae9f43cc6dcfc264143e21ed0 Author: Artem Bityutskiy Date: Fri May 29 20:16:27 2009 +0300 UBIFS: do not forget to register BDI device Reviewed-by: Jens Axboe Signed-off-by: Artem Bityutskiy commit fe93299a008a7056fe1790744b3a425ddf79a16b Author: Tilman Schmidt Date: Sun Jun 7 09:09:24 2009 +0000 isdn: extend INTERFACE.CAPI document Clarify calling context and return codes of callback methods, and add a description of the _cmsg structure and helper functions. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7d31acda9f8eaa27e2fd232712f7e1f3e9a79bdb Author: Tilman Schmidt Date: Sun Jun 7 09:09:24 2009 +0000 isdn: prevent NULL ptr Oops in capi_cmsg2str() The dereferencing of the private pointer cmsg->m in capi_cmsg2str() may cause an Oops in case of an error, which is particularly inconvenient as that function is typically used to format an error message. Add a NULL pointer check to avoid this. Impact: error handling improvement Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4793d15b25821003486bb11b54eaf2f3130ecacd Author: Tilman Schmidt Date: Sun Jun 7 09:09:23 2009 +0000 isdn: kerneldoc for capiutil.c Add kerneldoc comments for the exported funtions in capiutil.c. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4e329972052c3649367b91de783f6293b8653cb2 Author: Tilman Schmidt Date: Sun Jun 7 09:09:23 2009 +0000 isdn: rename capi_ctr_reseted() to capi_ctr_down() Change the name of the Kernel CAPI exported function capi_ctr_reseted() to something representing its purpose better. Impact: renaming, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit f0a4d0e5b5bfd271e6737f7c095994835b70d450 Author: Eric W. Biederman Date: Mon Jun 8 00:44:31 2009 -0700 tun: Fix unregister race It is possible for tun_chr_close to race with dellink on the a tun device. In which case if __tun_get runs before dellink but dellink runs before tun_chr_close calls unregister_netdevice we will attempt to unregister the netdevice after it is already gone. The two cases are already serialized on the rtnl_lock, so I have gone for the cheap simple fix of moving rtnl_lock to cover __tun_get in tun_chr_close. Eliminating the possibility of the tun device being unregistered between __tun_get and unregister_netdevice in tun_chr_close. Signed-off-by: Eric W. Biederman Tested-by: David Woodhouse Signed-off-by: David S. Miller commit ef681ce1e8b3e63317cd724c200b2fd39286c005 Author: Andre Detsch Date: Mon Jun 8 00:42:30 2009 -0700 e100: Fix napi_enable BUG_ON when recovering from EEH error BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state)) was being hit during e100 EEH recovery. The problem source was a napi_enable call being made during e100_io_error_detected. Napi should remain disabled after e100_down, and only be reenabled when the interface is recovered. This patch also updates e100_io_error_detected in order to make it similar to the current versions of the error_detected callback in drivers such as e1000e and ixgbe. Signed-off-by: Andre Detsch Signed-off-by: David S. Miller commit 1d0ebfe7c9621d43804e9ce9f2b898541a7d9652 Author: Figo.zhang Date: Mon Jun 8 00:40:35 2009 -0700 net pkgen.c:fix no need for check vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit a5b19b635c39fdb819500b0a746b44fe40c9a303 Author: Yevgeny Petrilin Date: Mon Jun 8 00:39:58 2009 -0700 mlx4: FIX error flow when initializing EQ table If mlx4_create_eq() would fail for one of EQ's assigned for completion handling, the code would try to free the same EQ we failed to create. The crash was found by Christoph Lameter Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 6f536f403979d37021508c5804509a379d853788 Author: Sridhar Samudrala Date: Mon Jun 8 00:27:28 2009 -0700 tun: Fix copy/paste error in tun_get_user Use the right structure while incrementing the offset in tun_get_user. Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 2faef52b72958b8b1c08e927b9b0691c314cf6f4 Author: Sridhar Samudrala Date: Fri Jun 5 09:35:44 2009 +0000 net: Fix memcpy_toiovecend() to use the right offset Increment the iovec base by the offset passed in for the initial copy_to_user() in memcpy_to_iovecend(). Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit d2d27bfd11659675fdd1c20b1c7f8f59873cad60 Author: Sridhar Samudrala Date: Fri Jun 5 09:35:40 2009 +0000 net: Fix skb_copy_datagram_from_iovec() to pass the right offset I am working on enabling UFO between KVM guests using virtio-net and i have some patches that i got working with 2.6.30-rc8. When i wanted to try them with net-next-2.6, i noticed that virtio-net is not working with that tree. After some debugging, it turned out to be several bugs in the recent patches to fix aio with tun driver, specifically the following 2 commits. http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=0a1ec07a67bd8b0033dace237249654d015efa21 http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=6f26c9a7555e5bcca3560919db9b852015077dae Fix the call to memcpy_from_iovecend() in skb_copy_datagram_from_iovec to pass the right iovec offset. Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 042a53a9e437feaf2230dd2cadcecfae9c7bfe05 Author: Eric Dumazet Date: Fri Jun 5 04:04:16 2009 +0000 net: skb_shared_info optimization skb_dma_unmap() is quite expensive for small packets, because we use two different cache lines from skb_shared_info. One to access nr_frags, one to access dma_maps[0] Instead of dma_maps being an array of MAX_SKB_FRAGS + 1 elements, let dma_head alone in a new dma_head field, close to nr_frags, to reduce cache lines misses. Tested on my dev machine (bnx2 & tg3 adapters), nice speedup ! Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit eae3f29cc73f83cc3f1891d3ad40021b5172c630 Author: Eric Dumazet Date: Fri Jun 5 04:03:35 2009 +0000 net: num_dma_maps is not used Get rid of num_dma_maps in struct skb_shared_info, as it seems unused. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f957bcf0164e45bd77867e02412035e1c2fd7058 Author: Tobias Klauser Date: Thu Jun 4 23:07:59 2009 +0000 s2io: Remove private boolean definitions Remove the private definition of TRUE/FALSE and use the ones from linux/stddef.h. Also remove the definition of BOOL which is not referenced inside the driver anyway. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit d65a68a8da5c9d1041ebc5e018e677d641910668 Author: Paulius Zaleckas Date: Thu Jun 4 05:50:29 2009 +0000 hso: convert dev_alloc_skb() to netdev_alloc_skb() Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit b07878e5471a8c880cb3cffee3a73048f38d2001 Author: Richard Ršöjfors Date: Thu Jun 4 03:35:55 2009 +0000 netdev: Added KS8842 driver This is a driver for the Micrel KS8842 ethernet switch. The supplied code is for driving the KS8842 through the Timberdale FPGA on the Russellville board, a development board for Intel Atom CPU in the automotive area. Signed-off-by: Richard Röjfors Signed-off-by: David S. Miller commit 5ff8dda3035d95df5bf6979136eb82b0e301726b Author: Herbert Xu Date: Thu Jun 4 01:22:01 2009 +0000 net: Ensure partial checksum offset is inside the skb head On Thu, Jun 04, 2009 at 09:06:00PM +1000, Herbert Xu wrote: > > tun: Optimise handling of bogus gso->hdr_len > > As all current versions of virtio_net generate a value for the > header length that's too small, we should optimise this so that > we don't copy it twice. This can be done by ensuring that it is > at least as large as the place where we'll write the checksum. > > Signed-off-by: Herbert Xu With this applied we can strengthen the partial checksum check: In skb_partial_csum_set we check to see if the checksum offset is within the packet. However, we really should check that it is within the skb head as that's the only bit we can modify without copying. Signed-off-by: Herbert Xu Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 4909122fb8350e70c347f1201256908a92058044 Author: Herbert Xu Date: Mon Jun 8 00:20:01 2009 -0700 tun: Optimise handling of bogus gso->hdr_len As all current versions of virtio_net generate a value for the header length that's too small, we should optimise this so that we don't copy it twice. This can be done by ensuring that it is at least as large as the place where we'll write the checksum. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b82f08ea162edeee6c2c70c6c4321bea4763fa35 Author: Herbert Xu Date: Thu Jun 4 00:59:18 2009 +0000 virtio_net: Set correct gso->hdr_len Through a bug in the tun driver, I noticed that virtio_net is producing bogus hdr_len values. In particular, it only includes the IP header in the linear area, and excludes the entire TCP header. This causes the TCP header to be copied twice for each packet. (The bug omitted the second copy :) This patch corrects this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1feede014bf3c58f60b35f91dcd8a2f89b3908ad Author: Riccardo Ghetta Date: Thu Jun 4 09:05:20 2009 +0000 sis190: fix gigabit negotiation Fixes an initialization error; the chip negotiates gigabit, but the driver mistakenly handled it as 100Mb. Changes based on both SiS own GPL driver and forcedeth. Hopefully should fix http://bugzilla.kernel.org/show_bug.cgi?id=9735 http://bugzilla.kernel.org/show_bug.cgi?id=11149 Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 856f8f41d44c9a310665213745bba655e52641fd Author: Riccardo Ghetta Date: Thu Jun 4 09:05:07 2009 +0000 sis190: add new phy found on asus F5Sr laptop Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit c3223d2446a7ce7438be49d68c4e65267fc6e0b2 Author: Riccardo Ghetta Date: Thu Jun 4 09:04:55 2009 +0000 sis190: better message on unknown PHY Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 744c6b2976778ac6944e580fc413842df85be84e Author: Riccardo Ghetta Date: Sun Jun 7 19:47:58 2009 +0000 sis190: fix for x86_64 (bug 11509) Corrected dma sync handling on small packets. Should fix http://bugzilla.kernel.org/show_bug.cgi?id=11509 Note: While this bug was reported only on x86_64, it could have affected any architecture. Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 365da8722d9df54efb8212bf82a87d816c522845 Author: Ron Mercer Date: Sun Jun 7 13:58:29 2009 +0000 qlge: Fix timeout on firmware mailbox commands. Some firmware mailbox commands require the firmware to communicate with the FCoE driver running on another PCI function. This can potentially take several seconds. This wait is done in process context only. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d2ba498668cb9f18677dd150b23f754953dc1fda Author: Ron Mercer Date: Sun Jun 7 13:58:28 2009 +0000 qlge: Fix timeout on indexed register wait. There are 8 banks of 'sub-registers' each of which are accessed through address/data register pair. An example would be reading flash or the xgmac. Accessing these require the driver to wait for a ready bit before writing the address and then accessing the data. This patch increases the timeout to 100us to prevent timeouts that have been seen on some platforms. These register are accessed in process context only. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c8269b21ddfd0181881aca959cff64ff15a0b7d3 Author: Ron Mercer Date: Sun Jun 7 13:58:27 2009 +0000 qlge: Fix bug in MTU setting process. Since an FCoE function shares a port with this NIC function, the jumbo settings must always be in place. This patch causes the hardware to be set up for jumbo if it is not already done. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 709ac4f43d76135daa9c2e33ab90eadd16bfce15 Author: Ron Mercer Date: Sun Jun 7 13:58:26 2009 +0000 qlge: Fix bug in firmware event handler. Each firmware mailbox command can have a different number of valid data elements. When waiting for a mailbox command to complete it the process passes it's element count and waits for the completion. It is possible that while waiting an unrelated firmware async event (AE) can arrive. When this happens, the handler will over write the element count with the value for the newly arrived AE. This can cause the mailbox command to not get all of it's data. This patch restores original mailbox count at the end of the handler. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d6f58c2e63b4197cba99edd3a4c5c7f4935708fb Author: Ron Mercer Date: Sun Jun 7 13:58:25 2009 +0000 qlge: Fix firmware event handler loop. Check status on every iteration of event handler loop and exit if an error occurred. If an error occurred then recover process will be queued so this loop should no continue. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit df911e2dc4c59e259b65c502fe0679ade309b575 Author: Mike Frysinger Date: Fri Jun 5 14:37:20 2009 +0000 netdev: smsc911x: add missing __devexit_p() usage The smsc911x_drv_remove() function is declared with __devexit, so the assignment to the driver structure needs __devexit_p() wrappings to prevent build failure when hotplug is disabled. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 1993f46739a9600ecdbbaa1ce56d25f6fdc44472 Author: Mike Frysinger Date: Fri Jun 5 14:37:19 2009 +0000 netdev: smsc911x: allow building on Blackfin systems The smsc911x driver works fine on Blackfin systems, so add it to the arch list in the Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit e779898aa74cd2e97216368b3f3689ceffe8aeed Author: Ingo Molnar Date: Sun Jun 7 18:14:46 2009 +0200 perf stat: Print out instructins/cycle metric Before: 7549326754 cycles # 3201.811 M/sec 10007594937 instructions # 4244.408 M/sec After: 7542051194 cycles # 3201.996 M/sec 10007743852 instructions # 4248.811 M/sec # 1.327 per cycle Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a14832ff977e78d1982cdf78cdabb1f2320d9ac8 Author: Ingo Molnar Date: Sun Jun 7 17:58:23 2009 +0200 perf report: Print more expressive message in case of file open error Before: $ perf report failed to open file: No such file or directory After: $ perf report failed to open file: perf.data (try 'perf record' first) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 30c806a094493beb7691bc7957dfa02dee96230a Author: Ingo Molnar Date: Sun Jun 7 17:46:24 2009 +0200 perf_counter tools: Handle kernels with !CONFIG_PERF_COUNTER If perf is run on a !CONFIG_PERF_COUNTER kernel right now it bails out with no messages or with confusing messages. Standardize this case some more and explain the situation. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3da297a60f7e8840f79f7d0b343af078890939ea Author: Ingo Molnar Date: Sun Jun 7 17:39:02 2009 +0200 perf record: Fall back to cpu-clock-ticks if no PMU On architectures/CPUs without PMU support but with perfcounters enabled 'perf record' currently fails because it cannot create a cycle based hw-perfcounter. Fall back to the cpu-clock-tick sw-perfcounter in this case, which is hrtimer based and will always work (as long as perfcounters are enabled). Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 716c69fecacd42f2a304a97158e04af2786a3f65 Author: Ingo Molnar Date: Sun Jun 7 17:31:52 2009 +0200 perf top: Fall back to cpu-clock-tick hrtimer sampling if no cycle counter available On architectures/CPUs without PMU support but with perfcounters enabled 'perf top' currently fails because it cannot create a cycle based hw-perfcounter. Fall back to the cpu-clock-tick sw-perfcounter in this case, which is hrtimer based and will always work (as long as perfcounters is enabled). Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 743ee1f80434138495bbb95ffb897acf46b51d54 Author: Ingo Molnar Date: Sun Jun 7 17:06:46 2009 +0200 perf stat: Continue even on counter creation error Before: $ perf stat ~/hackbench 5 error: syscall returned with -1 (No such device) After: $ perf stat ~/hackbench 5 Time: 1.640 Performance counter stats for '/home/mingo/hackbench 5': 6524.570382 task-clock-ticks # 3.838 CPU utilization factor 35704 context-switches # 0.005 M/sec 191 CPU-migrations # 0.000 M/sec 8958 page-faults # 0.001 M/sec cycles instructions cache-references cache-misses Wall-clock time elapsed: 1699.999995 msecs Also add -v (--verbose) option to allow the printing of failed counter opens. Plus dont print 'inf' if wall-time is zero (due to jiffies granularity), instead skip the printing of the CPU utilization factor. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit aeef50bc0483fa70ce0bddb686ec84a274b7f3d4 Author: Figo.zhang Date: Sun Jun 7 22:30:36 2009 +0800 x86, microcode: Simplify vfree() use vfree() does its own 'NULL' check, so no need for check before calling it. In v2, remove the stray newline. [ Impact: cleanup ] Signed-off-by: Figo.zhang Cc: Dmitry Adamushko LKML-Reference: <1244385036.3402.11.camel@myhost> Signed-off-by: Ingo Molnar commit 3aa6b186f86c5d06d6d92d14311ffed51f091f40 Author: Lubomir Rintel Date: Sun Jun 7 16:23:48 2009 +0200 x86: Fix non-lazy GS handling in sys_vm86() This fixes a stack corruption panic or null dereference oops due to a bad GS in resume_userspace() when returning from sys_vm86() and calling lockdep_sys_exit(). Only a problem when CONFIG_LOCKDEP and CONFIG_CC_STACKPROTECTOR enabled. Signed-off-by: Lubomir Rintel Cc: H. Peter Anvin LKML-Reference: <1244384628.2323.4.camel@bimbo> Signed-off-by: Ingo Molnar commit a4046f8d299e00e9855ae292527c2d66a42670eb Author: Cyrill Gorcunov Date: Sun Jun 7 12:19:37 2009 +0400 x86, nmi: Use predefined numbers instead of hardcoded one [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090607081937.GC4547@lenovo> Signed-off-by: Ingo Molnar commit 103428e57be323c3c5545db8ad12667099bc6005 Author: Cyrill Gorcunov Date: Sun Jun 7 16:48:40 2009 +0400 x86, apic: Fix dummy apic read operation together with broken MP handling Ingo Molnar reported that read_apic is buggy novadays: [ 0.000000] Using APIC driver default [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic" [ 0.000000] APIC: disable apic facility [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/x86/kernel/apic/apic.c:254 native_apic_read_dummy+0x2d/0x3b() [ 0.000000] Hardware name: HP OmniBook PC Indeed we still rely on apic->read operation for SMP compiled kernel. And instead of disfigure the SMP code with #ifdef we allow to call apic->read. To capture any unexpected results we check for apic->read being called for sane reason via WARN_ON_ONCE but(!) instead of OR we should use AND logical operation (thanks Yinghai for spotting the root of the problem). Along with that we could be have bad MP table and we are to fix it that way no SMP started and no complains about BIOS bug if apic was just disabled via command line. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090607124840.GD4547@lenovo> Signed-off-by: Ingo Molnar commit 4a4aca641bc4598e77b866804f47c651ec4a764d Author: Jean Delvare Date: Fri Jun 5 12:02:38 2009 +0200 x86: Add quirk for reboot stalls on a Dell Optiplex 360 The Dell Optiplex 360 hangs on reboot, just like the Optiplex 330, so the same quirk is needed. Signed-off-by: Jean Delvare Cc: Steve Conklin Cc: Leann Ogasawara Cc: LKML-Reference: <200906051202.38311.jdelvare@suse.de> Signed-off-by: Ingo Molnar commit 734affdcae20af4fec95e46a64fb29f063a15c19 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:10 2009 +0200 ide: add IDE_DFLAG_NIEN_QUIRK device flag Add IDE_DFLAG_NIEN_QUIRK device flag and use it instead of drive->quirk_list. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8bc1e5aa06a2a9a425c4a6795fc564cba1521487 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:09 2009 +0200 ide: respect quirk_drives[] list on all controllers * Add ide_check_nien_quirk_list() helper to the core code and then use it in ide_port_tune_devices(). * Remove no longer needed ->quirkproc methods from hpt366.c and pdc202xx_{new,old}.c. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0fcef027f60318cfa64ae4cdf5aa33905607d650 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:08 2009 +0200 hpt366: enable all quirks for devices on quirk_drives[] list Enable also quirks in do_reset1() and ide_config_drive_speed() for devices on quirk_drives[] list. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d328e7657de1fde30141365466589ab259cf4f64 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:07 2009 +0200 hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d6dcdea726855d78048e4bfb950342afc0e83e47 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:07 2009 +0200 ide: remove superfluous SELECT_MASK() call from do_rw_taskfile() With ->write_devctl method call (which unmasks drive IRQ) preceding SELECT_MASK() call there is really no need for the latter. Moreover with the combination of HPT36x controller and the drive on the quirk_drives[] list this can result in superfluous enable_irq() call which in turn will trigger WARN() in __enable_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9952beeaa851f7f79a4dd895bfed3f3ff6deebc Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:06 2009 +0200 ide: remove superfluous SELECT_MASK() call from ide_driveid_update() We always call SELECT_MASK(drive, 0) after ide_dev_read_id() call so there is no need to do it again in the error path. Moreover with the combination of HPT36x controller and the drive on the quirk_drives[] list this can result in superfluous enable_irq() call which in turn will trigger WARN() in __enable_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dff8817b78e6e6a4913f2caf7637d62dcc49a03c Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:06 2009 +0200 icside: remove superfluous ->maskproc method [inspired by pata_icside] Enabling/disabling of card IRQs is handled fine by IRQ and IDE subsystems so there is no need for custom ->maskproc method. Moreover icside_maskproc() would enable IRQ only if it was already enabled [because of 'if (state->enabled && !mask)' check]. Signed-off-by: Bartlomiej Zolnierkiewicz commit 49d8078ad1c3dca5b11ce18391bf6bd9af9acdf5 Author: Borislav Petkov Date: Sun Jun 7 15:37:06 2009 +0200 ide-tape: fix IDE_AFLAG_* atomic accesses These flags used to be bit numbers and now are single bits in the ->atapi_flags vector. Use them properly. Spotted-by: Jiri Slaby Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 626542ca2277961aaa64855206574f8ca4f360e3 Author: Borislav Petkov Date: Sun Jun 7 15:37:05 2009 +0200 ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically There are two sites where the flag is being changed: ide_retry_pc and idetape_do_request. Both codepaths are protected by hwif->busy (ide_lock_port) and therefore we shouldn't need the atomic accesses. Spotted-by: Jiri Slaby Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ffddf1717b0d388879c646eaf6261a2b393c06ad Author: Sergei Shtylyov Date: Sun Jun 7 15:37:05 2009 +0200 pdc202xx_old: kill resetproc() method The driver's resetproc() method resets both channels at once -- most probably by driving RESET- on them. Not only such reset can severely disturb concurrent operations on another channel, it also ensues 2-second delay, while there's no apparent reason why SRST reset being performed prior to resetproc() call needs to be followed up by another reset. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1221e241e3a6f1ff5b0de03d58d871f7c995781b Author: Sergei Shtylyov Date: Sun Jun 7 15:37:04 2009 +0200 pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout The driver's dma_lost_irq() and dma_clear() methods call pdc202xx_reset() which resets both channels at once -- most probably by driving RESET- on them. Not only such reset can severely disturb concurrent operations on another channel, it is also a clear overkill (especially in the first case) and is completely unexpected and thus not properly handled by the IDE core in this context (in the second case the usual SRST reset would most probably ensue anyway though); it also causes quite arbitrary 2-second delay. Hence, use the standard ide_dma_lost_irq() method and don't install the optional dma_clear() method at all -- the driver should do well without this age-old cruft... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 72b9304f04d0724a25251e9e9041aa95f89c15dd Author: Sergei Shtylyov Date: Sun Jun 7 15:37:03 2009 +0200 pdc202xx_old: use ide_dma_test_irq() The driver's dma_test_irq() method, although tests some chip specific interrupt bits, finally always relies on the SFF-8038i standard interrupt bit. I see no point in testing the bits that are not trusted anyway -- the driver should be fully able to use the standard method implemetation, ide_dma_test_irq(). With this change 'pdc202xx_dma_ops' finally becomes identical to 'sff_dma_ops', and we can get rid of it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6250d3af2a1036fb356264442211a4246c7d64c7 Merge: 4c9773e 075affc Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 14:27:11 2009 +0200 Merge branch 'for-linus' into for-next commit a1c1db392090bd280d1c3e2ed52ef682746ee332 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:02:44 2009 +0000 ixgbe: Increase the driver version number With all the last patchsets going in for 82599 feature enablement, the driver version needs to be increased for better identification. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 794caeb259bc5d341bcc80dd37820073147a231c Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:02:24 2009 +0000 ixgbe: Add FW detection and warning for 82599 SFP+ adapters 82599 has a FW running that helps manage the internal SFI PHY. There are also a number of pre-production samples of these SFI-based devices in the field. This patch adds a check to look for the firmware running on all SFP+ based adapters, and displays a warning to the system log if a pre-production adapter is identified. The driver will continue loading though, with no functional degradation. Also remove an old function prototype from ixgbe_82599.c that isn't being used. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ae540af18597a441bf17a26389179465ea4b9c36 Author: Jesse Brandeburg Date: Thu Jun 4 16:02:04 2009 +0000 ixgbe: Re-adjust ring layouts to have better cacheline efficiency This patch rearranges the ixgbe_ring struct to make better use of cacheline efficiency. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c4cf55e5d2e9353c6054eb0e22fc1d0a9a48f045 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:43 2009 +0000 ixgbe: Enable Flow Director hashing in 82599 This patch enables Flow Director's ATR functionality to the main base driver for 82599. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ffff47720318860933b2af84d1912af8b2e621f2 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:25 2009 +0000 ixgbe: Add Flow Director init and modify functions for 82599 This patch adds the functions for ixgbe to initialize Flow Director. It also has the function APIs to add Flow Director filters from the base driver. This also includes ATR, Application Targeted Routing, which is a feature set of Flow Director. This is the hash-based mechanism to automatically identify flows and add filters based on the hash, and direct the Rx of that flow back to that same CPU. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bfde493ee279b345d31e3178832971606b5b854f Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:06 2009 +0000 ixgbe: Add hardware defines for Flow Director for 82599 Flow Director is a Rx filter mechanism designed to match Rx flows back to the same CPU that the flow's Tx occurred from. This patch adds the first piece, the defines for the hardware registers, to enable this feature in 82599 hardware. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit df647b5ca3c3a84e5e5f8e7da36b5ffc17276ec7 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:00:47 2009 +0000 ixgbe: Add a second feature flags variable, move HW RSC capability there This adds a second feature flag variable to use for future feature expansion. Add HW RSC to this new feature flags variable. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 91281fd36c7670904e0b315e273e896d907adc36 Author: Alexander Duyck Date: Thu Jun 4 16:00:27 2009 +0000 ixgbe: move tx processing into NAPI context This patch moves the tx cleanup processing out of the MSI-X interrupt processing and gives it it's own napi routine. This allows the driver to process TX cleanup in a polling context instead of in an interrupt context which prevents TX from starving RX. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fe49f04aa8c0f74c363cbb1e9852a0d7769b5a99 Author: Alexander Duyck Date: Thu Jun 4 16:00:09 2009 +0000 ixgbe: move v_idx into q_vector and use as index only The v_idx value was being used as both a bitmask and an index. This change makes it so that the q_vector contains the index and allows for much of the code to be simplified since disabling a q_vector involves only clearing one bit in the interrupt bitmask. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 21fa4e66bd0bedfa4ed6aa6f7008b2aff6d45c8d Author: Alexander Duyck Date: Thu Jun 4 15:59:49 2009 +0000 ixgbe: use rx_buffer_info->dma instead of nr_frags to determine skb unmap This patch changes the driver so that it uses rx_buffer_info->dma to determine if it needs to unmap the page instead of sh_info->nr_frags. This helps to prevent a cache line miss when receiving small packets as the rx_buffer_info data should already be in the cache. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 74766013a131f1e1c2fe8fd138e12841eb708060 Author: Mallikarjuna R Chilakala Date: Thu Jun 4 11:11:34 2009 +0000 ixgbe: ethtool support to change advertised link modes of 82599 adapters Add ethtool support to change advertised link modes/autoneg settings of 82599 multispeed fiber adapters. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 620fa036b2459ca9acf7484c8074147f0dda68da Author: Mallikarjuna R Chilakala Date: Thu Jun 4 11:11:13 2009 +0000 ixgbe: Fix 82599 adapter link flickering issues Fix autoneg restart issues in flow control path which might create endless link flickering due to known timing issues with 82599 adapters. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 50ac58ba1d707df33f0c398ae700214e49bf918f Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:53 2009 +0000 ixgbe: Harden the 82599 multispeed fiber autotry mechanism 82599 supports multispeed fiber optical modules (10Gbps/1Gbps). Some scenarios can cause the autotry mechanism to not negotiate link properly. What needs to happen is the driver must flap the Tx laser to induce an Rx Loss of Signal on the link partner. This will restart the autotry mechanism to get link into a known state. The software definable pin (SDP) 3 on the 0x10fb NIC is wired to cause a Tx LOS event, which triggers the Rx LOS we require. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit da4dd0f7ca3fa667b7bba5fd34adceaf3fb84a9b Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:35 2009 +0000 ixgbe: Add ethtool offline test support This patch adds support for the ethtool internal test engine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1479ad4fbfbc801898dce1ac2d4d44f0c774ecc5 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:17 2009 +0000 ixgbe: Change the 82599 PHY DSP restart logic When reprogramming the 82599 analog PHY to either SFI optical or Direct Attach Twinax, we need to restart the DSP in the PHY. The current method can cause contention with our FW which is managing PHY state, and will cause unexpected link flaps. This patch fixes the DSP restart by issuing an AN_RESTART in the MAC, which will properly propagate the DSP restart to the PHY. This ensures we don't collide with the FW. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bdf0a550c81c293f22bc511e3cd2d0bf1d847d47 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:09:58 2009 +0000 ixgbe: Enable ACPI WoL capabilities for 82599 The 82599 KX4 device defaults to legacy power management, or APME. This puts the device into ACPI mode, which allows more robust WoL setups to work properly. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d217d7ffc3433d8b157e1fb6c68a07197a182d5 Author: Alexander Beregalov Date: Sun Jun 7 05:01:00 2009 -0700 cfg80211: errno.h: define ERFKILL Commit 1f87f7d3 (cfg80211: add rfkill support) added ERFKILL to asm-generic/errno.h, but alpha, mips, parisc and sparc use their own numbering scheme and do not include asm-generic/errno.h. We need to add definition of ERFKILL for them. Signed-off-by: Alexander Beregalov Acked-by: Ralf Baechle Acked-by: Kyle McMartin Signed-off-by: David S. Miller commit 075affcbe01d4d7cefcd0e30a98df1253bcf8d92 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 ide: preserve Host Protected Area by default (v2) From the perspective of most users of recent systems, disabling Host Protected Area (HPA) can break vendor RAID formats, GPT partitions and risks corrupting firmware or overwriting vendor system recovery tools. Unfortunately the original (kernels < 2.6.30) behavior (unconditionally disabling HPA and using full disk capacity) was introduced at the time when the main use of HPA was to make the drive look small enough for the BIOS to allow the system to boot with large capacity drives. Thus to allow the maximum compatibility with the existing setups (using HPA and partitioned with HPA disabled) we automically disable HPA if any partitions overlapping HPA are detected. Additionally HPA can also be disabled using the "nohpa" module parameter (i.e. "ide_core.nohpa=0.0" to disable HPA on /dev/hda). v2: Fix ->resume HPA support. While at it: - remove stale "idebus=" entry from Documentation/kernel-parameters.txt Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Acked-by: Sergei Shtylyov [patch description was based on input from Alan Cox and Frans Pop] Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit e957b60d1583022a0f7c03267d37fcae2ddb78b1 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 ide-gd: implement block device ->set_capacity method (v2) * Use ->probed_capacity to store native device capacity for ATA disks. * Add ->set_capacity method to struct ide_disk_ops. * Implement disk device ->set_capacity method for ATA disks. * Implement block device ->set_capacity method. v2: * Check if LBA and HPA are supported in ide_disk_set_capacity(). * According to the spec the SET MAX ADDRESS command shall be immediately preceded by a READ NATIVE MAX ADDRESS command. * Add ide_disk_hpa_{get_native,set}_capacity() helpers. Together with the previous patch adding ->set_capacity block device method this allows automatic disabling of Host Protected Area (HPA) if any partitions overlapping HPA are detected. Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit db429e9ec0f9dee2d8e50c154f04f29f880fc9d6 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 partitions: add ->set_capacity block device method * Add ->set_capacity block device method and use it in rescan_partitions() to attempt enabling native capacity of the device upon detecting the partition which exceeds device capacity. * Add GENHD_FL_NATIVE_CAPACITY flag to try limit attempts of enabling native capacity during partition scan. Together with the consecutive patch implementing ->set_capacity method in ide-gd device driver this allows automatic disabling of Host Protected Area (HPA) if any partitions overlapping HPA are detected. Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Acked-by: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 02c33b123e59cab5771e52a012aeb810500260a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:51 2009 +0200 partitions: warn about the partition exceeding device capacity The current warning message says only about the kernel's action taken without mentioning the underlying reason behind it. Noticed-by: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit b1bc81a0ef86b86fa410dd303d84c8c7bd09a64d Merge: a93958a 0c0c9e7 Author: David S. Miller Date: Sun Jun 7 04:24:21 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a93958ac980f0ce594ad90657ecbc595ff157a40 Author: Ayaz Abdulla Date: Sun Jun 7 03:54:37 2009 -0700 removal of forcedeth device ids This patch removes the forcedeth device ids from pci_ids.h The forcedeth driver uses the device id constants directly in its source file. [ Need to keep PCI_DEVICE_ID_NVIDIA_NVENET_15 in order to keep drivers/pci/quirks.c building -DaveM ] Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 3df81c4e950a7e38a8ef98f818abc3eed76b3fb2 Author: Ayaz Abdulla Date: Wed Jun 3 15:05:35 2009 +0000 forcedeth: addition of new mcp89 device id This patch adds a new device id for mcp89 chipset. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 3c2e1c11d9126d765ab40207150cb6f9869637f1 Author: Ayaz Abdulla Date: Wed Jun 3 15:05:17 2009 +0000 forcedeth: remove device id macros This patch removes the device id macros and instead uses the constants directly. The areas in which logic expressions where using the macros now instead use feature/workaround flags. No new functionality has been introduced in this patch, only clean up of flags and macros. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 5095f59bda6793a7b8f0856096d6893fe98e0e51 Author: Jaswinder Singh Rajput Date: Fri Jun 5 23:27:17 2009 +0530 x86: cpu_debug: Remove model information to reduce encoding-decoding Remove model information, encoding/decoding and reduce bookkeeping. This, besides removing a lot of code and cleaning up the code, also enables these features on many more CPUs that were enumerated before. Reported-by: Ingo Molnar Signed-off-by: Jaswinder Singh Rajput Cc: Alan Cox LKML-Reference: <1244224637.8212.6.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 5f4457a4f62cc9d78e04c0eb12ff0540899aad89 Merge: 9b94b3a b87297f Author: Ingo Molnar Date: Sun Jun 7 12:22:15 2009 +0200 Merge branch 'linus' into x86/cpu commit ab1863fc9bc18c806338564124b1e5e7e3ef53d1 Author: Takashi Iwai Date: Sun Jun 7 12:09:17 2009 +0200 ALSA: pcm - Fix update of runtime->hw_ptr_interrupt The commit 13f040f9e55d41e92e485389123654971e03b819 made another regression, the missing update of runtime->hw_ptr_interrupt. Since this field is only checked in snd_pcmupdate__hw_ptr_interrupt(), not in snd_pcm_update_hw_ptr(), it must be updated before the hw_ptr change check. Signed-off-by: Takashi Iwai commit 62a6f465f6572e1f28765c583c12753bb3e23715 Merge: 56fdd18 bdc2911 Author: Ingo Molnar Date: Sun Jun 7 11:36:02 2009 +0200 Merge branch 'dma-debug/2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 56fdd18c7b89a2fac1dfe5d54750c9143867fdc4 Merge: 7caf6a4 b87297f Author: Ingo Molnar Date: Sun Jun 7 11:34:59 2009 +0200 Merge branch 'linus' into core/iommu Merge reason: This branch was on an -rc5 base so pull almost-2.6.30 to resync with the latest upstream fixes and make sure the combination works fine. Signed-off-by: Ingo Molnar commit 7caf6a49bb17d0377210693af5737563b31aa5ee Author: Joerg Roedel Date: Fri Jun 5 12:01:35 2009 +0200 dma-debug: change hash_bucket_find from first-fit to best-fit Some device drivers map the same physical address multiple times to a dma address. Without an IOMMU this results in the same dma address being put into the dma-debug hash multiple times. With a first-fit match in hash_bucket_find() this function may return the wrong dma_debug_entry. This can result in false positive warnings. This patch fixes it by changing the first-fit behavior of hash_bucket_find() into a best-fit algorithm. Reported-by: Torsten Kaiser Reported-by: FUJITA Tomonori Signed-off-by: Joerg Roedel Cc: lethal@linux-sh.org Cc: just.for.lkml@googlemail.com Cc: hancockrwd@gmail.com Cc: jens.axboe@oracle.com Cc: bharrosh@panasas.com Cc: FUJITA Tomonori Cc: Linus Torvalds Cc: LKML-Reference: <20090605104132.GE24836@amd.com> Signed-off-by: Ingo Molnar commit 2f01190aa62fe9dd0a98205927b9f09fd191c017 Author: Frederic Weisbecker Date: Sat Jun 6 23:10:43 2009 +0200 perf top: Wait for a minimal set of events before reading first snapshot The first snapshot reading often occur before any events have been read in the mapped perfcounter files. Just wait until we have at least one event before starting the snapshot, or the delay before the first set of entries to be displayed may be long in case of low refresh rate. Note: we could also use a semaphore to wait before "print_entries" number of eveents is reached, but again this value is tunable and we can't ensure we will even reach it. Also we could base on a default mimimum set of entries for the first refresh, say 15, but again, the minimal sample is tunable, and we could end up displaying nothing until we have a minimal default set of events, which can take some time in case of high samples filters. Hence this simple solution which partially covers the default case. [ Impact: fix display artifacts in perf top ] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244322643-6447-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ad0b0822f98ef547e2461ce463e4233bad7848a8 Author: Figo.zhang Date: Sun Jun 7 13:37:27 2009 +0800 ALSA: sgio2audio.c: clean up checking vfree() does it's own 'NULL' check,so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Takashi Iwai commit f0472d0ec89bef2ea4432828c3daa1b26ef569aa Author: Steve French Date: Sat Jun 6 21:09:39 2009 +0000 [CIFS] Add mention of new mount parm (forceuid) to cifs readme Also update fs/cifs/CHANGES Signed-off-by: Steve French commit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 Author: Jeff Layton Date: Sun May 24 18:45:15 2009 -0400 cifs: make overriding of ownership conditional on new mount options We have a bit of a problem with the uid= option. The basic issue is that it means too many things and has too many side-effects. It's possible to allow an unprivileged user to mount a filesystem if the user owns the mountpoint, /bin/mount is setuid root, and the mount is set up in /etc/fstab with the "user" option. When doing this though, /bin/mount automatically adds the "uid=" and "gid=" options to the share. This is fortunate since the correct uid= option is needed in order to tell the upcall what user's credcache to use when generating the SPNEGO blob. On a mount without unix extensions this is fine -- you generally will want the files to be owned by the "owner" of the mount. The problem comes in on a mount with unix extensions. With those enabled, the uid/gid options cause the ownership of files to be overriden even though the server is sending along the ownership info. This means that it's not possible to have a mount by an unprivileged user that shows the server's file ownership info. The result is also inode permissions that have no reflection at all on the server. You simply cannot separate ownership from the mode in this fashion. This behavior also makes MultiuserMount option less usable. Once you pass in the uid= option for a mount, then you can't use unix ownership info and allow someone to share the mount. While I'm not thrilled with it, the only solution I can see is to stop making uid=/gid= force the overriding of ownership on mounts, and to add new mount options that turn this behavior on. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 099d54143e49d49c33cd25779ca725191df59b73 Author: Stefan Richter Date: Sat Jun 6 18:37:25 2009 +0200 firewire: core: prepare for non-core children of card devices The IP-over-1394 driver will add child devices beneath card devices which are not of type fw_device. Hence firewire-core's callbacks in device_for_each_child() and device_find_child() need to check for the device type now. Initial version written by Jay Fenlason. Signed-off-by: Stefan Richter commit e034d242593f12533c11742ce38c245a33e57dc7 Author: Stefan Richter Date: Sat Jun 6 18:36:24 2009 +0200 firewire: core: include linux/uaccess.h instead of asm/uaccess.h Signed-off-by: Stefan Richter commit e5110d011e03030926872457f05e49e3d5031737 Author: Stefan Richter Date: Sat Jun 6 18:35:27 2009 +0200 firewire: add parent-of-unit accessor Retrieval of an fw_unit's parent is a common pattern in high-level code. Wrap it up as device = fw_parent_device(unit). Signed-off-by: Stefan Richter commit 23b87116c7c4f73597965218b66041acbdb4e79f Author: Ingo Molnar Date: Sat Jun 6 21:25:29 2009 +0200 perf annotate: Fix command line help text Arjan noticed this bug in the perf annotate help output: -s, --symbol symbol to annotate that should be instead. Reported-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit e9fbc9dc9214d6a9de7d62627be5414804fd7b9f Author: Arjan van de Ven Date: Sat Jun 6 21:22:33 2009 +0200 perf_counter tools: Initialize a stack variable before use the "perf report" utility crashed in some circumstances because the "sym" stack variable was not initialized before used (as also proven by valgrind). With this fix both the crash goes away and valgrind no longer complains. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 39273ee9756917129de3190d469b0b120f87e763 Author: Ingo Molnar Date: Sat Jun 6 21:17:03 2009 +0200 perf annotate: Automatically pick up vmlinux in the local directory Right now kernel debug info does not get resolved by default, because we dont know where to look for the vmlinux. The -k option can be used for that - but if no option is given, pick up vmlinux files in the current directory - in case a kernel hacker runs profiling from the source directory that the kernel was built in. The real solution would be to embedd the location (and perhaps the date/timestamp) of the vmlinux file in /proc/kallsyms, so that tools can pick it up automatically. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8953645fec933f992223286ad407dc371ac2caa5 Author: Ingo Molnar Date: Sat Jun 6 21:04:17 2009 +0200 perf_counter tools: Fix error condition in parse_aliases() gcc warned about this bug: util/parse-events.c: In function ‘parse_generic_hw_symbols’: util/parse-events.c:175: warning: comparison is always false due to limited range of data type util/parse-events.c:182: warning: comparison is always false due to limited range of data type util/parse-events.c:190: warning: comparison is always false due to limited range of data type Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 7d37a0cbd68c875fa984fa97bcf5c7f4b7950b6d Author: Arjan van de Ven Date: Sat Jun 6 20:36:38 2009 +0200 perf_counter tools: Warning fixes on 32-bit Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 864709302a80f26fa9da3be5b47304f0b8bae192 Author: Ingo Molnar Date: Sat Jun 6 20:33:43 2009 +0200 perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ Several people have suggested that 'perf' has become a full-fledged tool that should be moved out of Documentation/. Move it to the (new) tools/ directory. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 75b5032212641f6d38ac041416945e70da833b68 Merge: 0b73da3 b87297f Author: Ingo Molnar Date: Sat Jun 6 20:21:25 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: Pick up the latest fixes before the -v8 perfcounters release. Signed-off-by: Ingo Molnar commit 0b73da3f40128eab6ca2a07508f424029a1edaeb Author: Ingo Molnar Date: Sat Jun 6 15:48:52 2009 +0200 perf_counter tools: Add 'perf annotate' feature Add new perf sub-command to display annotated source code: $ perf annotate decode_tree_entry ------------------------------------------------ Percent | Source code & Disassembly of /home/mingo/git/git ------------------------------------------------ : : /home/mingo/git/git: file format elf64-x86-64 : : : Disassembly of section .text: : : 00000000004a0da0 : : *modep = mode; : return str; : } : : static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned long size) : { 3.82 : 4a0da0: 41 54 push %r12 : const char *path; : unsigned int mode, len; : : if (size < 24 || buf[size - 21]) 0.17 : 4a0da2: 48 83 fa 17 cmp $0x17,%rdx : *modep = mode; : return str; : } : : static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned long size) : { 0.00 : 4a0da6: 49 89 fc mov %rdi,%r12 0.00 : 4a0da9: 55 push %rbp 3.37 : 4a0daa: 53 push %rbx : const char *path; : unsigned int mode, len; : : if (size < 24 || buf[size - 21]) 0.08 : 4a0dab: 76 73 jbe 4a0e20 0.00 : 4a0dad: 80 7c 16 eb 00 cmpb $0x0,-0x15(%rsi,%rdx,1) 3.48 : 4a0db2: 75 6c jne 4a0e20 : static const char *get_mode(const char *str, unsigned int *modep) : { : unsigned char c; : unsigned int mode = 0; : : if (*str == ' ') 1.94 : 4a0db4: 0f b6 06 movzbl (%rsi),%eax 0.39 : 4a0db7: 3c 20 cmp $0x20,%al 0.00 : 4a0db9: 74 65 je 4a0e20 : return NULL; : : while ((c = *str++) != ' ') { 0.06 : 4a0dbb: 89 c2 mov %eax,%edx : if (c < '0' || c > '7') 1.99 : 4a0dbd: 31 ed xor %ebp,%ebp : unsigned int mode = 0; : : if (*str == ' ') : return NULL; : : while ((c = *str++) != ' ') { 1.74 : 4a0dbf: 48 8d 5e 01 lea 0x1(%rsi),%rbx : if (c < '0' || c > '7') 0.00 : 4a0dc3: 8d 42 d0 lea -0x30(%rdx),%eax 0.17 : 4a0dc6: 3c 07 cmp $0x7,%al 0.00 : 4a0dc8: 76 0d jbe 4a0dd7 0.00 : 4a0dca: eb 54 jmp 4a0e20 0.00 : 4a0dcc: 0f 1f 40 00 nopl 0x0(%rax) 16.57 : 4a0dd0: 8d 42 d0 lea -0x30(%rdx),%eax 0.14 : 4a0dd3: 3c 07 cmp $0x7,%al 0.00 : 4a0dd5: 77 49 ja 4a0e20 : return NULL; : mode = (mode << 3) + (c - '0'); 3.12 : 4a0dd7: 0f b6 c2 movzbl %dl,%eax : unsigned int mode = 0; : : if (*str == ' ') : return NULL; : : while ((c = *str++) != ' ') { 0.00 : 4a0dda: 0f b6 13 movzbl (%rbx),%edx 16.74 : 4a0ddd: 48 83 c3 01 add $0x1,%rbx : if (c < '0' || c > '7') : return NULL; : mode = (mode << 3) + (c - '0'); The first column is the percentage of samples that arrived on that particular line - relative to the total cost of the function. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8035e4288078cb806e7dd6bafe4d3e54d44cab3f Author: Ingo Molnar Date: Sat Jun 6 15:19:13 2009 +0200 perf_counter tools: Prepare for 'perf annotate' Prepare for the 'perf annotate' implementation by splitting off builtin-annotate.c from builtin-report.c. ( We keep this commit separate to ease the later librarization of the facilities that perf-report and perf-annotate shares. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit dac4ccfb64bcdd5b4c248ccc22903d67486573cd Author: John Linn Date: Sat Jun 6 10:43:16 2009 -0600 fbdev: Add PLB support and cleanup DCR in xilinxfb driver. Added support for the new xps tft controller. The new core has PLB interface support in addition to existing DCR interface. Removed platform device support as both MicroBlaze and PowerPC use device tree. Previously, the dcr interface was assumed to be used in mmio mode, and the register space of the dcr interface was precomputed and stuffed into the device tree. This driver now makes use of the new dcr infrastructure to represent the dcr interface. This enables the dcr interface to be connected directly to a native dcr interface in a clean way. Added compatibility for ml507 dvi core. Signed-off-by: Suneel Signed-off-by: Stephen Neuendorffer Signed-off-by: John Linn Signed-off-by: Grant Likely Acked-by: Krzysztof Helt commit d86bf92313bfd47885a92c7de63bde392d585f95 Author: Jaroslav Kysela Date: Sat Jun 6 18:32:06 2009 +0200 ALSA: pcm - Fix a typo in hw_ptr update check Fix a typo in the commit 13f040f9e55d41e92e485389123654971e03b819 ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed which causes obvious problems with PA. Signed-off-by: Takashi Iwai commit f89d7eaf6c34828070f407d0e04b73127f176ec5 Author: Jonathan Corbet Date: Thu Jun 4 16:35:25 2009 -0600 Document the debugfs API This is an updated document covering the internal API for the debugfs filesystem. Thanks to Shen Feng for suggesting that I put this text here and noting that the old LWN version was rather out of date. Acked-by: Greg Kroah-Hartman Reported-by: Shen Feng Signed-off-by: Jonathan Corbet commit b907abc9f2bad3111269c53d0f951ee76e376b44 Author: Roderick Colenbrander Date: Sat Jun 6 10:16:00 2009 -0600 powerpc/virtex: Add ml510 reference design device tree As subject says, add dts files for Xilinx ML510 reference design with the PCI host bridge device. Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit e52ba9c54176c9757ab6b18bea7b7ed51e2faf16 Author: Roderick Colenbrander Date: Sat Jun 6 10:15:24 2009 -0600 powerpc/virtex: Add Xilinx ML510 reference design support Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit 1745fbc744a934b235c2e5ecb5380079fa54be38 Author: Grant Likely Date: Sat Jun 6 10:15:03 2009 -0600 powerpc/virtex: refactor intc driver and add support for i8259 cascading This patch refactors some of the xilinx_intc interrupt controller driver and adds support for cascading an i8259 off one of the irq lines. This patch was based on the ML510 support work done by Roderick Colenbrander. Signed-off-by: Grant Likely commit 64f16502475ddf663169369fffff6da9b10ea9fb Author: Roderick Colenbrander Date: Sat Jun 6 10:14:22 2009 -0600 powerpc/virtex: Add support for Xilinx PCI host bridge This patch adds support for the Xilinx plbv46-pci-1.03.a PCI host bridge IPcore. Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit 6e6b754ffdb6415723686c733f13275397e44422 Author: Ingo Molnar Date: Tue Apr 15 22:39:31 2008 +0200 perf_counter tools: Tidy up manpage details Also fix a misalignment in usage string printing. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 502fc5c72a886ff9d4d7a596e65ecc4dd5e4d458 Author: Ingo Molnar Date: Fri Mar 13 03:20:49 2009 +0100 perf_counter tools: Uniform help printouts Also add perf list to command-list.txt. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 386b05e3a2f3c5b0a9c5575060421cca0911648a Author: Thomas Gleixner Date: Sat Jun 6 14:56:33 2009 +0200 perf_counter tools: Add help for perf list Also update other areas of the help texts. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8faf3b547593bf6ea10df631e73204975273c4e0 Author: Ingo Molnar Date: Sat Jun 6 13:58:12 2009 +0200 perf_counter tools: Fix cache-event printout Also standardize the cache printout (so that it can be pasted back into the command) and sort out the aliases. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 86847b62f0781ccc97a79936c9ed9dc818cff67b Author: Thomas Gleixner Date: Sat Jun 6 12:24:17 2009 +0200 perf_counter tools: Add 'perf list' to list available events perf list: List all the available event types which can be used in -e (--event) options. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8326f44da090d6d304d29b9fdc7fb3e20889e329 Author: Ingo Molnar Date: Fri Jun 5 20:22:46 2009 +0200 perf_counter: Implement generalized cache event types Extend generic event enumeration with the PERF_TYPE_HW_CACHE method. This is a 3-dimensional space: { L1-D, L1-I, L2, ITLB, DTLB, BPU } x { load, store, prefetch } x { accesses, misses } User-space passes in the 3 coordinates and the kernel provides a counter. (if the hardware supports that type and if the combination makes sense.) Combinations that make no sense produce a -EINVAL. Combinations that are not supported by the hardware produce -ENOTSUP. Extend the tools to deal with this, and rewrite the event symbol parsing code with various popular aliases for the units and access methods above. So 'l1-cache-miss' and 'l1d-read-ops' are both valid aliases. ( x86 is supported for now, with the Nehalem event table filled in, and with Core2 and Atom having placeholder tables. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 74b8f955a73d20b1e22403fd1ef85834fbf38d98 Author: Mark Brown Date: Sat Jun 6 11:26:15 2009 +0100 ASoC: Apostrophe patrol Signed-off-by: Mark Brown commit a21ca2cac582886a3e95c8bb84ff7c52d4d15e54 Author: Ingo Molnar Date: Sat Jun 6 09:58:57 2009 +0200 perf_counter: Separate out attr->type from attr->config Counter type is a frequently used value and we do a lot of bit juggling by encoding and decoding it from attr->config. Clean this up by creating a separate attr->type field. Also clean up the various similarly complex user-space bits all around counter attribute management. The net improvement is significant, and it will be easier to add a new major type (which is what triggered this cleanup). (This changes the ABI, all tools are adapted.) (PowerPC build-tested.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ccff4b15e0847223de0a481f5b7fa5ef902cf3bd Author: Troy Kisky Date: Fri Jun 5 19:15:58 2009 -0700 ASoC: codec tlv320aic23 fix bogus divide by 0 message Some code analyzer software mistakenly gives divide by 0 error messages for these lines. This patch will end its confusion. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit fe2245c905631a3a353504fc04388ce3dfaf9d9e Author: Mark Langsdorf Date: Sun Jul 5 15:50:52 2009 -0500 x86: enable GART-IOMMU only after setting up protection methods The current code to set up the GART as an IOMMU enables GART translations before it removes the aperture from the kernel memory map, sets the GART PTEs to UC, sets up the guard and scratch pages, or does a wbinvd(). This leaves the possibility of cache aliasing open and can cause system crashes. Re-order the code so as to enable the GART translations only after all safeguards are in place and the tlb has been flushed. AMD has tested this patch on both Istanbul systems and 1st generation Opteron systems with APG enabled and seen no adverse effects. Istanbul systems with HT Assist enabled sometimes see MCE errors due to cache artifacts with the unmodified code. Signed-off-by: Mark Langsdorf Cc: Cc: Joerg Roedel Cc: akpm@linux-foundation.org Cc: jbarnes@virtuousgeek.org Signed-off-by: Ingo Molnar commit 2f335a02b3c816e77e7df1d15b12e3bbb8f4c8f0 Author: Frederic Weisbecker Date: Fri Jun 5 19:31:01 2009 +0200 perf top: Fix zero or negative refresh delay If perf top is executed with a zero value for the refresh rate, we get a division by zero exception while computing samples_per_sec. Also a zero refresh rate is not possible, neither do we want to accept negative values. [ Impact: fix division by zero in perf top ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244223061-5399-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2ac6bf4ddc87c3b6b609f8fa82f6ebbffeac12f4 Author: Jack Morgenstein Date: Fri Jun 5 10:36:24 2009 -0700 IB/mlx4: Add strong ordering to local inval and fast reg work requests The ConnectX Programmer's Reference Manual states that the "SO" bit must be set when posting Fast Register and Local Invalidate send work requests. When this bit is set, the work request will be executed only after all previous work requests on the send queue have been executed. (If the bit is not set, Fast Register and Local Invalidate WQEs may begin execution too early, which violates the defined semantics for these operations) This fixes the issue with NFS/RDMA reported in Signed-off-by: Jack Morgenstein Cc: Signed-off-by: Roland Dreier commit 1dba15e74aba5a90c1f2557f37e5d09f8a2df643 Author: Ingo Molnar Date: Fri Jun 5 18:37:22 2009 +0200 perf record: Set frequency correctly Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit b2fef0762fdb65cf8702eea93f4e58abeb0ecefc Author: Ingo Molnar Date: Fri Jun 5 18:07:51 2009 +0200 perf_counter tools: Sample and display frequency adjustment changes To allow the debugging of frequency-adjusting counters, sample those adjustments and display them in perf report -D. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 6a24ed6c6082ec65d19331a4bfa30c0512a1a822 Author: Peter Zijlstra Date: Fri Jun 5 18:01:29 2009 +0200 perf_counter: Fix frequency adjustment for < HZ Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 689802b2d0536e72281dc959ab9cb34fb3c304cf Author: Peter Zijlstra Date: Fri Jun 5 15:05:43 2009 +0200 perf_counter: Add PERF_SAMPLE_PERIOD In order to allow easy tracking of the period, also provide means of adding it to the sample data. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ac4bcf889469ffbca88f234d3184452886a47905 Author: Peter Zijlstra Date: Fri Jun 5 14:44:52 2009 +0200 perf_counter: Change PERF_SAMPLE_CONFIG into PERF_SAMPLE_ID The purpose of PERF_SAMPLE_CONFIG was to identify the counters, since then we've added counter ids, use those instead. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 28cd4aa43de2b6d3b1e3385d450bfb31cbe8d72a Author: Takashi Iwai Date: Fri Jun 5 17:58:00 2009 +0200 ALSA: ctxfi - Add missing inclusion of linux/math64.h Signed-off-by: Takashi Iwai commit 136107a76fe5f62906162f730834477b71cf131e Author: Ingo Molnar Date: Fri Jun 5 17:56:21 2009 +0200 perf_counter tools: Remove -march=native Turns out that neither PowerPC nor older x86 compilers know this switch ... and since it does not make a measurable difference, just omit it. Reported-by: Paul Mackerras Reported-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3f7440a6b771169e1f11fa582e53a4259b682809 Author: Takashi Iwai Date: Fri Jun 5 17:40:04 2009 +0200 ALSA: Clean up 64bit division functions Replace the house-made div64_32() with the standard div_u64*() functions. Signed-off-by: Takashi Iwai commit 918143e8b7d6153d7a83a3f854323407939f4a7e Merge: 64edbc5 563af16 Author: Ingo Molnar Date: Fri Jun 5 16:50:29 2009 +0200 Merge branch 'tip/tracing/ftrace-4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 032abb519c23000f8a0fae78bb460047f9129270 Author: Takashi Iwai Date: Fri Jun 5 16:37:19 2009 +0200 ALSA: ctxfi - Set device 0 for mixer control elements Mixer control elements are usually assigned to device 0. Signed-off-by: Takashi Iwai commit 2a36f67f8c81f0babda0e811c760b7bfa971010b Author: Takashi Iwai Date: Fri Jun 5 16:34:10 2009 +0200 ALSA: ctxfi - Clean up / optimize - Use static tables instead of assigining each funciton pointer - Add __devinit* to appropriate places; pcm, mixer and timer cannot be marked because they are kept in the function table that lives long - Move create_alsa_devs function out of struct ct_atc to mark it __devinit Signed-off-by: Takashi Iwai commit 775ffa1d3e5a550dd2c9d947d773021c61531b36 Author: Takashi Iwai Date: Fri Jun 5 16:12:16 2009 +0200 ALSA: ctxfi - Set periods_min to 2 Set 2 to minimal periods of playback pcm setups, too. Signed-off-by: Takashi Iwai commit b7bbf876087e0e2c0ba723a8398083c9a9ac1dfd Author: Takashi Iwai Date: Fri Jun 5 16:11:07 2009 +0200 ALSA: ctxfi - Use native timer interrupt on emu20k1 emu20k1 has a native timer interrupt based on the audio clock, which is more accurate than the system timer (from the synchronization POV). This patch adds the code to handle this with multiple streams. The system timer is still used on emu20k2, and can be used also for emu20k1 easily by changing USE_SYSTEM_TIMER to 1 in cttimer.c. Signed-off-by: Takashi Iwai commit 1b8e69662e1a086878bf930a6042daf7f8a076cc Author: Bjorn Helgaas Date: Fri Jun 5 14:37:23 2009 +0000 pnp: add PNP resource range checking function Add a PNP resource range check function, indicating whether a resource has been assigned to any device. Signed-off-by: Bjorn Helgaas [apw@canonical.com: fixed up exports et al] Signed-off-by: Andy Whitcroft Signed-off-by: Eric Anholt commit e71d31da062095d8b0b02a26fb5e8879e8d3d0de Author: Stefan Richter Date: Fri Jun 5 16:26:18 2009 +0200 firewire: rename source files The source files of firewire-core, firewire-ohci, firewire-sbp2, i.e. "drivers/firewire/fw-*.c" are renamed to "drivers/firewire/core-*.c", "drivers/firewire/ohci.c", "drivers/firewire/sbp2.c". The old fw- prefix was redundant to the directory name. The new core- prefix distinguishes the files according to which driver they belong to. This change comes a little late, but still before further firewire drivers are added as anticipated RSN. Signed-off-by: Stefan Richter commit 77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c Author: Stefan Richter Date: Fri Jun 5 16:26:18 2009 +0200 firewire: reorganize header files The three header files of firewire-core, i.e. "drivers/firewire/fw-device.h", "drivers/firewire/fw-topology.h", "drivers/firewire/fw-transaction.h", are replaced by "drivers/firewire/core.h", "include/linux/firewire.h". The latter includes everything which a firewire high-level driver (like firewire-sbp2) needs besides linux/firewire-constants.h, while core.h contains the rest which is needed by firewire-core itself and by low- level drivers (card drivers) like firewire-ohci. High-level drivers can now also reside outside of drivers/firewire without having to add drivers/firewire to the header file search path in makefiles. At least the firedtv driver will be such a driver. I also considered to spread the contents of core.h over several files, one for each .c file where the respective implementation resides. But it turned out that most core .c files will end up including most of the core .h files. Also, the combined core.h isn't unreasonably big, and it will lose more of its contents to linux/firewire.h anyway soon when more firewire drivers are added. (IP-over-1394, firedtv, and there are plans for one or two more.) Furthermore, fw-ohci.h is renamed to ohci.h. The name of core.h and ohci.h is chosen with regard to name changes of the .c files in a follow-up change. Signed-off-by: Stefan Richter commit e8ca97021c8eb127bb04aec4e2420e1d66be371d Author: Stefan Richter Date: Thu Jun 4 21:09:38 2009 +0200 firewire: clean up includes Include required headers which were only indirectly included. Remove unused includes and an unused constant. Signed-off-by: Stefan Richter commit 3dcdc50079bc2c9dbc6524518976353f743f7ec8 Author: Stefan Richter Date: Thu Jun 4 21:08:43 2009 +0200 firewire: ohci: access bus_seconds atomically In the unlikely event that card->driver->get_bus_time() is called during a cycle64Seconds interrupt, we could read garbage unless atomic accesses are used. The switch to atomic ops requires to change the 64 seconds counter from unsigned to signed, but this shouldn't matter to the end result. Signed-off-by: Stefan Richter commit e41f8d709c31b42129a34305a99d29c38aff75c4 Author: Stefan Richter Date: Mon Feb 16 00:22:05 2009 +0100 firewire: also use vendor ID in root directory for driver matches Due to AV/C protocol extensions, FireDTV devices need a vendor-specific driver. But their configuration ROM features a vendor ID only in the root directory, not in the unit directory. Signed-off-by: Stefan Richter commit b3b2988841ac6215e137e34e38b71acc915d1f00 Author: Stefan Richter Date: Sun Feb 15 23:12:34 2009 +0100 firewire: share device ID table type with ieee1394 That way, the new firedtv driver will be able to use a single ID table in builds against ieee1394 core and/or against firewire core. Signed-off-by: Stefan Richter commit b66d18ddb16603d1e1ec39cb2ff3abf3fd212180 Author: Jesse Barnes Date: Fri May 15 14:11:48 2009 -0700 drm/i915: avoid non-atomic sysrq execution The sysrq functions are executed in hardirq context, so we shouldn't be calling sleeping functions from them, like mutex_locks or memory allocations. Fix up the i915 sysrq handler to avoid this. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 42c2798b35b95c471877133e19ccc3cab00e9b65 Author: Jesse Barnes Date: Tue May 5 13:13:16 2009 -0700 drm/i915: apply G45 vblank count code to all G4x chips and fix max_frame_count All G4x and newer chips use the new style frame count register, with a full 32 bit frame count. Update the code to reflect this. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 70aa96ca2d8d938fc036ef8fd189b0151f4fc3ba Author: Jarod Wilson Date: Wed May 27 17:20:39 2009 -0400 drm/i915: add ignore lvds quirk info for AOpen Mini PC Fix a FIXME in the intel LVDS bring-up code, adding the appropriate blacklist entry for the AOpen Mini PC, courtesy of a dmidecode dump from Florian Demmer. Signed-off-by: Jarod Wilson CC: Florian Demmer Signed-off-by: Eric Anholt commit 714605e4a05787c51a5ac36c926d2169cfdfbfba Author: yakui_zhao Date: Sun May 31 17:18:07 2009 +0800 drm/i915: Initialize the SDVO device based on the sdvo info parsed from VBT http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui [anholt: Massive cleanup of the slave addr function] Signed-off-by: Eric Anholt commit 9b9d172d06b0f2d51cc9431e2c6c3055f0cf10ef Author: yakui_zhao Date: Sun May 31 17:17:17 2009 +0800 drm/i915: parse VBT general definition block to get the SDVO device info The general definition block contains the child device tables, which include the SDVO device info. For example: device slave address, device dvo port, device type. We will get the info of SDVO device by parsing the general definition blocks. Only when a valid slave address is found, it is regarded as the SDVO device. And the info of DVO port and slave address is recorded. http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 59a036cfbd29aadf40d2b754cfebee2a96268752 Author: yakui_zhao Date: Sun May 31 17:16:22 2009 +0800 drm/i915: Add the structure of child_device_config in video BIOS tables. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 040d87f15a0129242463d3ed7c48381505f596e2 Author: Keith Packard Date: Sat May 30 20:42:33 2009 -0700 drm/i915: Add Display Port register defines This adds the register definitions for the display port enable register along with those for the GMCH and Link M/N ratios required to drive display port outputs. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 2245fda810f870dce9b030e6aa604320abba53a5 Author: Keith Packard Date: Sat May 30 20:42:29 2009 -0700 drm/i915: Don't trim cursor addresses to 11 bits We can safely assume that cursor addresses will not extend beyond the addressable screen dimensions; setting the additional bits is harmless in any case. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit cb66c692d1ae257f32dc7f6085cf9cb9f2f6bab8 Author: Ma Ling Date: Sun May 31 16:58:32 2009 +0800 drm/i915: Set correct TV detection voltage level override values We detect TV connect status by setting DAC voltage level override values as 0.7 voltage for DAC_A/B/C. The corresponding 2-bits shold be 0x2, In order correctly to set last bit as 0, at first we must clean it. It fixed freedesktop.org bug #21204 Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 2debbc836696f2a815d02630230584a1754a5022 Author: Ingo Molnar Date: Fri Jun 5 14:29:10 2009 +0200 perf_counter tools: Clarify events/samples naming A number of places said 'events' while they should say 'samples'. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8edd4286f99f78fe07fe9196e69d5643da86cada Author: Ingo Molnar Date: Fri Jun 5 14:13:18 2009 +0200 perf report: Display user/kernel differentiator Before: 25.96% copy_user_generic_string 15.23% two_op 15.19% one_op 6.92% enough_duration 1.23% alloc_pages_current 1.14% acpi_os_read_port 1.08% _spin_lock After: 25.96% [k] copy_user_generic_string 15.23% [.] two_op 15.19% [.] one_op 6.92% [.] enough_duration 1.23% [k] alloc_pages_current 1.14% [k] acpi_os_read_port 1.08% [k] _spin_lock The '[k]' differentiator is a quick clue that it's a kernel symbol, without having to bring in the full dso column. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit fc54db5105d01ad691a7d747064c7890e17f936c Author: Peter Zijlstra Date: Fri Jun 5 14:04:59 2009 +0200 perf report: Deal with maps In order to deal with [vdso] maps generalize the ip->symbol path a bit and allow to override some bits with custom functions. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 089dd79db9264dc0da602bad45d42f1b3e7d1e07 Author: Peter Zijlstra Date: Fri Jun 5 14:04:55 2009 +0200 perf_counter: Generate mmap events for install_special_mapping() In order to track the vdso also generate mmap events for install_special_mapping(). Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f7b6eb3fa07269da20dbbde8ba37a0273fdbd9c9 Author: Peter Zijlstra Date: Fri Jun 5 14:04:51 2009 +0200 x86: Set context.vdso before installing the mapping In order to make arch_vma_name() work from inside install_special_mapping() we need to set the context.vdso before calling it. ( This is needed for performance counters to be able to track this special executable area. ) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit cf1f45744c6fa3501e0a6f0ddc418f0ef27e725b Author: Ingo Molnar Date: Fri Jun 5 13:27:02 2009 +0200 perf record, top: Implement --freq Support frequency-based profiling and make it the default. (Also add a Hz printout in perf top.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 541998a18b72d2cac48b3369fa4540116ff3f0a8 Author: Zhenyu Wang Date: Fri Jun 5 15:38:44 2009 +0800 drm/i915: Add LVDS support for IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 30ad48b7334a2eb2edf22f6c91f7b3f22a22a837 Author: Zhenyu Wang Date: Fri Jun 5 15:38:43 2009 +0800 drm/i915: Add HDMI support on IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2c07245fb8f7f0a282282e5a9747e46defdb2cc7 Author: Zhenyu Wang Date: Fri Jun 5 15:38:42 2009 +0800 drm/i915: enable kernel modesetting on IGDNG This adds kernel mode setting on IGDNG with VGA output support. Note that suspend/resume doesn't work yet. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2cce0d8740f0d1454d012401257d96c513ce358f Author: Zhenyu Wang Date: Fri Jun 5 15:38:41 2009 +0800 drm/i915: Disable tiling on IGDNG for now Swizzle bit detection not working right on it. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit e170b030dcd6aed11dde2d124c09991ec771f529 Author: Zhenyu Wang Date: Fri Jun 5 15:38:40 2009 +0800 drm/i915: Disable opregion on IGDNG for now Disable OpRegion support for now until verified on new chipsets. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit b9055052d3e0388b4a5e8c3e0bbab665c5996f50 Author: Zhenyu Wang Date: Fri Jun 5 15:38:38 2009 +0800 drm/i915: Add new chipset register definitions Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 280da227c870a50f669de0c8d46bfb2c62da9995 Author: Zhenyu Wang Date: Fri Jun 5 15:38:37 2009 +0800 drm/i915: Add chipset/feature defines for for new chipsets Signed-off-by: Zhenyu Wang [anholt: dropped drm_pciids.h hunk to avoid loading an incomplete driver] Signed-off-by: Eric Anholt commit f250c030a87273f8838a2302bee7c2b4d03e9151 Author: Ingo Molnar Date: Fri Jun 5 13:18:41 2009 +0200 perf record: Split out counter creation into a helper function Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 17f2f52be0edb6d1ff5a3675f2bc545aea2dbf76 Author: Florian Westphal Date: Fri Jun 5 13:26:21 2009 +0200 netfilter: ipt_MASQUERADE: remove redundant rwlock The lock "protects" an assignment and a comparision of an integer. When the caller of device_cmp() evaluates the result, nat->masq_index may already have been changed (regardless if the lock is there or not). So, the lock either has to be held during nf_ct_iterate_cleanup(), or can be removed. This does the latter. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 10662aa3083f869c645cc2abf5d66849001e2f5d Author: Florian Westphal Date: Fri Jun 5 13:24:24 2009 +0200 netfilter: xt_NFQUEUE: queue balancing support Adds support for specifying a range of queues instead of a single queue id. Flows will be distributed across the given range. This is useful for multicore systems: Instead of having a single application read packets from a queue, start multiple instances on queues x, x+1, .. x+n. Each instance can process flows independently. Packets for the same connection are put into the same queue. Signed-off-by: Holger Eitzenberger Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 32cb055b57eab803ea82b76dc913b0378e5af145 Author: Zhenyu Wang Date: Fri Jun 5 15:38:36 2009 +0800 agp/intel: Add support for new chipsets Both desktop and mobile versions are added. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 61f5abcab152cbee3a041f8b9bcfe7afc83409ca Author: Florian Westphal Date: Fri Jun 5 13:18:07 2009 +0200 netfilter: xt_NFQUEUE: use NFPROTO_UNSPEC We can use wildcard matching here, just like ab4f21e6fb1c09b13c4c3cb8357babe8223471bd ("xtables: use NFPROTO_UNSPEC in more extensions"). Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 6bc5874a1ddf98ac0fe6c4eab7d286c11cb1c748 Author: Takashi Iwai Date: Fri Jun 5 12:15:51 2009 +0200 ALSA: ctxfi - Fix previous fix for 64bit DMA Remove unneeded substitution to 32bit int to make it really working. Signed-off-by: Takashi Iwai commit 3e1647c5b54a91a7182e121cfe569e6f0bf167ec Author: Guido Günther Date: Fri Jun 5 00:47:26 2009 +0200 ALSA: support Sony Vaio TT with BIOS probing only we offer a non functional headphone swith and volume slider. Signed-off-by: Guido Günther Signed-off-by: Takashi Iwai commit 361778d6e7cb315b50f3f2469d782e90df7ac2cb Author: Eric Miao Date: Fri Jun 5 16:42:29 2009 +0800 [ARM] pxa/littleton: add support for the Micro-SD slot (MMC1) Signed-off-by: Eric Miao commit add85a418f8e224d2b09d4a8d14c6c060ba3a79c Author: Simon POLETTE Date: Thu Jun 4 12:09:01 2009 +0200 PATCH] mx27pdk: rename mxc_map_io to mx27_map_io Hi, Fixed issue in the mxc-master head : Signed-off-by: Simon POLETTE Signed-off-by: Sascha Hauer commit f6d03139d745198b434f65a28aabed524f415a4c Author: Steven Whitehouse Date: Fri Jun 5 07:18:57 2009 +0100 GFS2: Fix locking issue mounting gfs2meta fs This patch uses sget() to get a reference to the existing gfs2 sb when mouting the gfs2meta filesystem (in fact thats just another mount of the gfs2 filesystem with a different root and this interface is for backward compatibility). Signed-off-by: Steven Whitehouse Reported-by: Benjamin Marzinski Tested-by: Benjamin Marzinski Cc: Christoph Hellwig commit 42a0b31827e4c555efebda7d347cf4ea6b82913a Author: Takashi Iwai Date: Fri Jun 5 09:29:22 2009 +0200 ALSA: ctxfi - Fix endian-dependent codes The UAA-mode check in hwct20k1.c is implemented with the endian-dependent codes. Fix to be more portable (and readable). Signed-off-by: Takashi Iwai commit 6d74b86d3c0f9cfa949566a862aaad840e393249 Author: Takashi Iwai Date: Fri Jun 5 09:26:41 2009 +0200 ALSA: ctxfi - Allow 64bit DMA emu20kx chips support 64bit address PTE. Allow the DMA bit mask to accept 64bit address, too. Signed-off-by: Takashi Iwai commit ee7b31fe5c5da8a038b96e54ae9fbd5dcab3b1da Author: Yong Wang Date: Fri Jun 5 11:37:35 2009 +0800 perf_counter tools: Fix incorrect printf formats Otherwise the code does not compile on 32-bit boxes. builtin-report.c: In function 'map__fprintf': builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 3 has type 'uint64_t' builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 4 has type 'uint64_t' builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 5 has type 'uint64_t' Signed-off-by: Yong Wang Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090605033735.GA20451@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 6dc5f2a41759987e35e757ef00192e7b424563bb Author: Paul Mackerras Date: Fri Jun 5 12:36:28 2009 +1000 perf_counter: Fix lockup with interrupting counters Commit 8e3747c1 ("perf_counter: Change data head from u32 to u64") changed the type of 'head' in struct perf_mmap_data from atomic_t to atomic_long_t, but missed converting one use of atomic_read on it to atomic_long_read. The effect of using atomic_read rather than atomic_long_read on powerpc (and other big-endian architectures) is that we get the high half of the 64-bit quantity, resulting in the cmpxchg retry loop in perf_output_begin spinning forever as soon as data->head becomes non-zero. On little-endian architectures such as x86 we would get the low half, resulting in a lockup once data->head becomes greater than 4G. This fixes it by using atomic_long_read rather than atomic_read. [ Impact: fix perfcounter lockup on PowerPC / big-endian systems ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18984.33964.21541.743096@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f8514083cd61daef12fba5ef883ad9352c450428 Author: Aneesh Kumar K.V Date: Fri Jun 5 00:56:49 2009 -0400 ext4: truncate the file properly if we fail to copy data from userspace In generic_perform_write if we fail to copy the user data we don't update the inode->i_size. We should truncate the file in the above case so that we don't have blocks allocated outside inode->i_size. Add the inode to orphan list in the same transaction as block allocation This ensures that if we crash in between the recovery would do the truncate. Signed-off-by: Aneesh Kumar K.V CC: Jan Kara Signed-off-by: "Theodore Ts'o" commit 1938a150c25bf7c2c47182e753a1038945b70b0e Author: Aneesh Kumar K.V Date: Fri Jun 5 01:00:26 2009 -0400 ext4: Avoid leaking blocks after a block allocation failure We should add inode to the orphan list in the same transaction as block allocation. This ensures that if we crash after a failed block allocation and before we do a vmtruncate we don't leak block (ie block marked as used in bitmap but not claimed by the inode). Signed-off-by: Aneesh Kumar K.V CC: Jan Kara Signed-off-by: "Theodore Ts'o" commit f6394e268fc541c274be8fa30ccb04b3e2f0450f Author: Mike Rapoport Date: Thu Jun 4 10:44:55 2009 +0300 [ARM] pxa/cm-x300: update defconfig Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b5a5c474b037ab61930c16b7a8e42874b54e5cb8 Author: Mike Rapoport Date: Thu Jun 4 10:44:54 2009 +0300 [ARM] pxa/cm-x300: add .fixup method to enable second DRAM bank Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 321d9eb32a903edc30a499262ad5b42cda98656c Author: Mike Rapoport Date: Thu Jun 4 10:44:53 2009 +0300 [ARM] pxa/cm-x300: use STUART for uncompressor Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 1858ced3f990777defda93ad10ffa81c28ddc2e2 Author: Mike Rapoport Date: Thu Jun 4 10:44:52 2009 +0300 [ARM] pxa/cm-x300: add rtc-v3020 device registration Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b3992b665379c8de6f47cd0b0e5b3004d26b05be Author: Mike Rapoport Date: Thu Jun 4 10:44:51 2009 +0300 [ARM] pxa/cm-x300: use OBM configuration for NAND flash CM-X300 can be assembled with different NAND flashes from different manufacturers. Adding their configuration to the kernel is impractical, therefore we will use the default NAND controller settings set up by the bootloader. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 9599d1dbc2264355ecad0bae76bf6c1236c84c73 Author: Mike Rapoport Date: Tue May 26 09:41:46 2009 +0300 [ARM] pxa/em-x270, cm-x270: use DEEPSLEEP for PM_SUSPEND_MEM Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 128d88b82e47d070170c256b2b19f57c352af310 Author: Mike Rapoport Date: Tue May 12 16:31:16 2009 +0300 [ARM] pxa/em-x270: add support for on-board USB Hub Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3690a0f4266127557524501c680760b1e6cb55d0 Author: Mike Rapoport Date: Tue May 12 16:31:15 2009 +0300 [ARM] pxa/em-x270: change power supply name to "battery" Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 2f15cb594e0c17177bd79ead9234cc6806954e6f Author: Mike Rapoport Date: Tue May 12 16:31:14 2009 +0300 [ARM] pxa/em-x270: update libertas device setup Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 76e3fc36eb3d78997e7f4dcdc01cc38dc3178201 Author: Mike Rapoport Date: Tue May 12 16:31:13 2009 +0300 [ARM] pxa/em-x270: add exeda GPIO extender and update GPIO mappings Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 1ce2c51e6d594d19126f51bba88aa9f57eb7cea6 Author: Antonio Ospite Date: Mon Jun 1 12:26:58 2009 +0200 [ARM] pxa/ezx: setup gpio-keys for EzX phones Setup gpio-keys for EzX phones Signed-off-by: Antonio Ospite Acked-by: Daniel Ribeiro Signed-off-by: Eric Miao commit f0ba401769a5ca0b69e60914ef03e4fc373c3a02 Author: Dmitry Eremin-Solenikov Date: Sun May 17 17:05:23 2009 +0400 [ARM] pxa/spitz: drop unused header files from spitz.c Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 0a0ca89d59b203b772a08d04d4e2052ffaeac221 Author: Jonathan Cameron Date: Mon May 25 16:50:14 2009 +0000 [ARM] pxa/imote2: add i2c board info for the wm8940 audio codec Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit a2520846589ee9821f9f50744cece84f2853518a Author: Jonathan Cameron Date: Mon May 25 16:50:12 2009 +0000 [ARM] pxa/imote2: add board config for SHT15 humidity sensor Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 5aeb1a5e9f2eced482805eeb154baf77ea53c8ce Author: Jonathan Cameron Date: Tue May 12 19:37:21 2009 +0000 [ARM] pxa/stargate2: add support for Compact Flash/PCMCIA Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 80153d1bcc6a20361d5974f37d3729583ba99154 Author: Jonathan Cameron Date: Tue May 12 19:37:20 2009 +0000 [ARM] pxa/stargate2: Add board specific elements to the smc91x driver Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 4036e1dea565207010408f5c6137a9d8d3c0ff5c Author: Jonathan Cameron Date: Sat May 16 18:20:39 2009 +0000 [ARM] pxa: Stargate 2 board support Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit fc9c1b6fc874d786f32163291b059ec574698aa2 Author: Marek Vasut Date: Thu May 14 11:27:00 2009 +0200 [ARM] pxa/palm: Palm TX, T5, LD suspend-to-mem rework Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 37330efd4abb474b3fdfacea68beb37cf67564ed Author: Marek Vasut Date: Thu Apr 23 11:27:11 2009 +0200 [ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE2 Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 8768dc9b75efa43e612f6f520cf76a89bbab69d3 Author: Marek Vasut Date: Thu Apr 23 11:12:37 2009 +0200 [ARM] pxa/palm: Switch PalmT5, TX, TE2 to GPIO VBUS Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 96a9fcaf5d9a04f3ca8855d7b8d034089ccc8533 Author: Dmitry Eremin-Solenikov Date: Wed Apr 22 00:43:22 2009 +0400 [ARM] pxa/csb726: register ac97 controller Add a call to pxa_set_ac97_info() to enable the audio support. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit b86017150087ac62c834ac64b87b9565850eb320 Author: Dmitry Eremin-Solenikov Date: Wed Apr 22 00:43:21 2009 +0400 [ARM] pxa/csb726: switch to use smsc911x driver csb726 used obsolete and not working out-of-tree driver smc911x. Switch it to use new smsc911x driver. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit ef47d5f02402b4b1183d64edde5e89178794bb9d Author: Philipp Zabel Date: Thu May 28 07:07:47 2009 +0200 MAINTAINERS: add a maintainer for iPAQ hx4700 Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit dd045445f82a9ff38120a5cd7f6117f065285859 Author: Philipp Zabel Date: Tue May 26 22:04:38 2009 +0200 [ARM] pxa: magician_defconfig enable hx4700, asic3 and w100fb I'm not going to maintain separate defconfigs for magician and hx4700. This should probably be renamed to htcpxa_defconfig. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit d3ca1952e63ffbebab6f2f1c9551df7b3cb731f5 Author: Philipp Zabel Date: Thu May 28 07:05:18 2009 +0200 [ARM] pxa: add basic support for HP iPAQ hx4700 PDAs This includes - IrDA (pxafixp_ir), - Buttons (gpio-keys), - ASIC3 IRQ/GPIOs (asic3), - EGPIOs (htc-egpio), - ATI Imageon w3220 framebuffer (w100fb), - Backlight (pwm-backlight), - StrataFlash (physmap), - Battery monitor (ds1wm,w1_ds2760,ds2760_battery) - USB gadget support (pxa27x_udc,gpio_vbus). - bq24022 battery charger (pda_power,bq24022) - TSC2046 touchscreen (ads7846) Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 2f1a5bf707a39153d93d04858f69f2d43563d08c Author: Philipp Zabel Date: Tue Apr 28 13:31:08 2009 +0200 [ARM] pxa/magician: use ARRAY_AND_SIZE for platform_add_devices Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit f8f9d5ecfff9b2d04db4decd7d2c86aba86e49e5 Author: Philipp Zabel Date: Fri Apr 17 11:38:23 2009 +0200 [ARM] pxa/magician: use I2C fast mode Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 3dbeef231e2247f91784f33555ed6f7da7a6f726 Author: Robert Jarzmik Date: Sun May 17 23:03:55 2009 +0200 [ARM] pxa: add vcc_core regulation for cpufreq on pxa2xx Add voltage regulation capability to pxa2xx cpufreq driver. The cpufreq will ask for a "vcc_core" regulator to the regulator framework. If a regulator is found at probe time, it will be used with values specified in PXA270 Electrical, Mechanical, and Thermal Specifications. If not, it will be assumed for now that frequency change will work without voltage control. This assumes that the IPL/SPL installs sane values to an existing voltage regulator (ie. voltage high enough to support the full range). Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit dd5b94aba709aae68d1ba11b5f963df54efa58bb Author: Jürgen Schindele Date: Thu Jun 4 11:43:22 2009 +0800 [ARM] pxa: add additional mfp definitions for pxa320 Signed-off-by: Jürgen Schindele Signed-off-by: Eric Miao commit d082d36ea82aff6f25e8380770713e6fd0c7290a Author: Mike Rapoport Date: Tue May 26 09:10:18 2009 +0300 [ARM] pxa: add ability to set suspend mode PXA processors have several low-power modes. Currently kernel supports only one of these modes for PM_SUSPEND_MEM. This patch adds ability to set desired suspend mode for PXA27x based machines. Signed-off-by: Mike Rapoport Reviewed-by: Russell King Signed-off-by: Eric Miao commit 94c35a6b5129bc370893d74085c13607f260ef39 Author: Robert Jarzmik Date: Tue Apr 21 19:19:36 2009 +0200 [ARM] pxa: add udc support for pxa3xx As reported by Aric Blumer, the pxa27x_udc driver does work with pxa3xx devices. Add support into device files. Reported-by: Aric Blumer Signed-off-by: Robert Jarzmik Signed-off-by: Matt Reimer Signed-off-by: Eric Miao commit a01bd58449088b63da45ab5f2c7921893eb7d143 Author: Philipp Zabel Date: Fri Apr 17 11:47:57 2009 +0200 [ARM] pxa: allow IRQ_BOARD_END to be customized and make zylonite to use it The default value is 16 IRQs. Zylonite needs 32, ASIC3 based boards need 70. My problem is still that due to the way IRQ_GPIO is hardcoded, ASIC3 based boards need 70 IRQs starting at IRQ_BOARD_START. If I define ASIC3 IRQs similar to LoCoMo or SA1111, things break as soon as something selects PXA_HAVE_BOARD_IRQS. Increasing the default number of board IRQs to 70 instead doesn't seem very nice. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 46580c03062da8c047238a6b3d2b2b13af1700b5 Author: Mike Rapoport Date: Tue Apr 14 08:33:49 2009 +0300 [ARM] pxa: update pxa2xx_spi_chip initialization to use .gpio_cs field Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit a27ba768a11ac7a1d56688d4224cef3a802d1f89 Author: Eric Miao Date: Mon Apr 13 18:29:52 2009 +0800 [ARM] pxa: add PWM devices support for pxa168/910 Signed-off-by: Mingwei Wang Signed-off-by: Eric Miao commit 2a55b910e0d240984860fa0264866c122751bd09 Author: Eric Miao Date: Mon Apr 13 18:02:13 2009 +0800 [ARM] pxa: add missing IRQ_PXA910_NONE to irqs.h Signed-off-by: Eric Miao commit 3852ac7113f313d96af80257a070fd8ab2eea5c6 Author: Eric Miao Date: Mon Apr 13 16:28:02 2009 +0800 [ARM] pxa: move pwm.c to common plat-pxa directory Signed-off-by: Eric Miao commit a71ef16327a534a88fb1277d28dcd362dbb1992f Author: Eric Miao Date: Mon Apr 13 16:09:21 2009 +0800 [ARM] pxa: build pwm.c according to HAVE_PWM instead of PXA_PWM The PXA_PWM config option is really redundant since the introduction of HAVE_PWM, replace that with HAVE_PWM to avoid confusion. Signed-off-by: Eric Miao commit a757ad8b391adb2129f8357545aaa678099df473 Author: Eric Miao Date: Mon Apr 13 18:51:31 2009 +0800 [ARM] pxa: allow PWM ID base number to be specified in pwm_id_table PWMs on PXA168/910 start at number 1 instead of 0, (i.e. PWM1/2/3/4 instead of PWM0/1/2/3 on PXA25x/PXA27x/PXA3xx). Allow this number to be specified in pwm_id_table. Signed-off-by: Eric Miao commit 3d2a98cd5e17052f461390c72efe1076c18fd62d Author: Eric Miao Date: Mon Apr 13 15:59:03 2009 +0800 [ARM] pxa: simplify secondary PWM handling and use platform_device_id table Signed-off-by: Eric Miao commit 1a77920e4cbe508c8dc40fef1d0beb21aac8cc17 Author: Eric Miao Date: Mon Apr 13 15:34:54 2009 +0800 [ARM] pxa: add I2C (TWSI) devices to pxa168/pxa910 Signed-off-by: Paul Shen Signed-off-by: Eric Miao commit f0a83701399123b0e95cc4d949fcccf9941fd190 Author: Eric Miao Date: Mon Apr 13 15:03:11 2009 +0800 [ARM] pxa: move mach/i2c.h to plat/i2c.h Signed-off-by: Paul Shen Signed-off-by: Eric Miao commit f23d4911319fdebffd0529b31bb66d324ef287e6 Author: Eric Miao Date: Mon Apr 13 14:43:25 2009 +0800 [ARM] pxa: add platform device ID table to pxa i2c driver Signed-off-by: Eric Miao commit 04288f42033607099cebf5ca15ce8dcec3a9688b Author: Mimi Zohar Date: Thu Jun 4 13:53:10 2009 -0400 integrity: ima audit dentry_open failure Until we start appraising measurements, the ima_path_check() return code should always be 0. - Update the ima_path_check() return code comment - Instead of the pr_info, audit the dentry_open failure Signed-off-by: Mimi Zohar Acked-by: Eric Paris Signed-off-by: James Morris commit b31e15527a9bb71b6a11a425d17ce139a62f5af5 Author: Eric Sandeen Date: Thu Jun 4 17:36:36 2009 -0400 ext4: Change all super.c messages to print the device This patch changes ext4 super.c to include the device name with all warning/error messages, by using a new utility function ext4_msg. It's a rather large patch, but very mechanic. I left debug printks alone. This is a straightforward port of a patch which Andi Kleen did for ext3. Cc: Andi Kleen Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 03f5d8bcf094a5e3b501bd2ae1553656efa8d1be Author: Jan Kara Date: Tue Jun 9 00:17:05 2009 -0400 ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle() Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle(). This seems to be a relict from some old days and setting disksize in this function does not make much sense. Currently it was set only by ext4_getblk(). Since the parameter has some effect only if create == 1, it is easy to check by grepping through the sources that the three callers which end up calling ext4_getblk() with create == 1 (ext4_append, ext4_quota_write, ext4_mkdir) do the right thing and set disksize themselves. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 76a0f40fd6eff1bce3b91925cea7587b3399fe80 Author: Frederic Weisbecker Date: Thu Jun 4 22:15:58 2009 +0200 perf_counter tools: Fix warn_unused_result warnings Fix warnings for return values that we don't care about: util/quote.c:222: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result util/quote.c:235: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result util/quote.c: In function ‘write_name_quotedpfx’: util/quote.c:290: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244146558-8635-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 172124e220f1854acc99ee394671781b8b5e2120 Author: Jens Axboe Date: Thu Jun 4 22:34:44 2009 +0200 Revert "block: implement blkdev_readpages" This reverts commit db2dbb12dc47a50c7a4c5678f526014063e486f6. It apparently causes problems with partition table read-ahead on archs with large page sizes. Until that problem is diagnosed further, just drop the readpages support on block devices. Signed-off-by: Jens Axboe commit 9ac995457b2a148ed9bb8860e8b7cb869327b102 Author: Arnaldo Carvalho de Melo Date: Thu Jun 4 13:54:00 2009 -0300 perf report: Add -vvv to print the list of threads and its mmaps Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 0f5486b5c71a831a713ce356d8d06822e3c7c379 Author: Frederic Weisbecker Date: Thu Jun 4 20:48:04 2009 +0200 perf_counter: Sleep before refresh using poll in perf top perf top is refreshed every delay_secs the thread runs in such loop: while (sleep(delay_secs)) { print_sym_table(); } At the end of print_sym_table(), poll is used without sleep delay to check if we have something from stdin. It means that this check is done only every delay_secs, which can be higher that 2 secs if the user defined a custom refresh rate. We can drop sleep() here and directly use poll to wait between refresh periods, so that the reaction after the user stops perf top after typing "Enter" is immediate and doesn't suffer from the delay_secs latency. Nb: poll doesn't add any overhead that can parasite perf top measures since it sleeps the entire timeout here. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244141284-7507-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7666c17e2b0986a079da46122d8658544416c2cf Author: Linus Walleij Date: Mon Jun 1 14:27:26 2009 +0100 [ARM] 5535/1: U300 Makefile.boot The Makefile.boot file for the U300 port. This will compile the kernel for different ZRELADDR depending on the location of physical RAM in the chosen configuration. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c0683039207226afcffbe0fbf6a1caaee77a37b0 Author: Tony Lindgren Date: Wed Jun 3 17:43:14 2009 +0100 [ARM] 5536/1: Move clk_add_alias() to arch/arm/common/clkdev.c This can be used for other arm platforms too as discussed on the linux-arm-kernel list. Also check the return value with IS_ERR and return PTR_ERR as suggested by Russell King. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 5926a295bb78272b3f648f62febecd19a1b6a6ca Author: Alessandro Rubini Date: Thu Jun 4 17:43:04 2009 +0100 [ARM] 5541/1: serial/amba-pl011.c: add support for the modified port found in Nomadik The Nomadik 8815 SoC has a slightly modified version of the PL011 block. The patch uses the different ID value as a key to select a vendor structure that is used to keep track of the differences, as suggested by Russell King. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Linus Walleij Signed-off-by: Russell King commit 2ae19acaa50a09c1099956efb895c0aca74ab050 Author: Theodore Ts'o Date: Thu Apr 16 07:44:45 2009 -0400 Documentation: Add "how to write a good patch summary" to SubmittingPatches Unfortunately many patch submissions are arriving with painfully poor patch descriptions. As a result of the discussion on LKML: http://lkml.org/lkml/2009/4/15/296 explain how to submit a better patch description, in the (perhaps vain) hope that maintainers won't end up having to rewrite the git commit logs as often as they do today. Signed-off-by: "Theodore Ts'o" Cc: Ingo Molnar Signed-off-by: Jonathan Corbet commit 5801da1b2f1207da21271ffd6768cd40a6c7f1c4 Author: Pavel Machek Date: Thu Jun 4 16:26:50 2009 +0200 SubmittingPatches: fix typo Fix typo. Signed-off-by: Pavel Machek Signed-off-by: Jonathan Corbet commit 5d98932ab0acb699dc56d9e252f056b9b2cdab25 Author: Jonathan Corbet Date: Tue Apr 21 13:33:06 2009 -0600 docs: Encourage better changelogs in the development process document Add a couple of paragraphs to the "patch formatting" section on how patches should be described. This text is shamelessly cribbed from suggestions posted by Rusty Russell. Signed-off-by: Jonathan Corbet commit bbb0a4247aaf1eabbd6d87750eafe99c577920f7 Author: Jonathan Corbet Date: Fri Jan 16 09:49:50 2009 -0700 Document Reported-by in SubmittingPatches Randy pointed out that the Reported-By tag should be documented with the others in SubmittingPatches. Reported-by: Randy Dunlap Signed-off-by: Jonathan Corbet commit 62fc44536c14b5787531bac7417580fca54c88b4 Author: Peter Zijlstra Date: Thu Jun 4 16:53:49 2009 +0200 perf_counter tools: Use fork and remove munmap events Use fork events to clone comm and map data and remove everything munmap related Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d99e9446200c1ffab28cb0e39b76c34a2bfafd06 Author: Peter Zijlstra Date: Thu Jun 4 17:08:58 2009 +0200 perf_counter: Remove munmap stuff In name of keeping it simple, only track mmap events. Userspace will have to remove old overlapping maps when it encounters them. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60313ebed739b331e8e61079da27a11ee3b73a30 Author: Peter Zijlstra Date: Thu Jun 4 16:53:44 2009 +0200 perf_counter: Add fork event Create a fork event so that we can easily clone the comm and dso maps without having to generate all those events. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 0c0c9e7076b69f93678e4ec711e2bf237398e623 Author: Johannes Berg Date: Thu Jun 4 08:22:25 2009 +0200 wimax: depend on rfkill properly My mistake, I should have added that when cleaning up rfkill and changing wimax. Reported-by: Randy Dunlap Signed-off-by: Johannes Berg Acked-by: Inaky Perez-Gonzalez Signed-off-by: John W. Linville commit 2489e4ea6cfd1c0f3fe839f90363abccbbdb7745 Author: Christian Lamparter Date: Wed Jun 3 22:24:48 2009 +0200 ar9170: remove deprecated code This patch removes code (deprecated by "cfg80211: add rfkill support" ) main.c: In function 'ar9170_op_config': main.c:1306: warning: '__IEEE80211_CONF_CHANGE_RADIO_ENABLED' is deprecated (declared at include/net/mac80211.h:551) and a useless device state. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c18bd87b65fa5f39abb0ab1b82bca416c23cb6dd Author: Reinette Chatre Date: Wed Jun 3 11:44:12 2009 -0700 iwlwifi: fix comment describing disable_11n Fixing a comment in the code describing this module parameter. The description printed when user runs "modinfo" is correct. Reported-by: Jiajia Zheng Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 13c33a09b3703c2956345482017600434c853889 Author: Wey-Yi Guy Date: Wed Jun 3 11:44:11 2009 -0700 iwlwifi: add value and range define for link quality command Instead of hardcoding the link quality parameters inside the functions, adding #define in iwl-commands.h to shared by different functions. Also include the valid range for number of link quality parameters. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 258c44a0c02a7ffbb9555747008d6bf9a3ea58a0 Author: Mohamed Abbas Date: Wed Jun 3 11:44:10 2009 -0700 iwlagn: delay ict interrupt. Wait until ucode is loaded and driver receive ALIVE_REPLY then switch to ICT interrupt. This ensures we receive all interrupts indicating successful ucode load. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ee5006a19c9e040d715efb75a6f4fa78764869ce Author: Abhijeet Kolekar Date: Wed Jun 3 11:44:09 2009 -0700 iwl3945/iwlwifi: fix led bug when SW rfkill Patch fixes the bug at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1903 when SW rfkill is invoked by 'iwconfig txpower off', the existing connection disassociates and led off command is sent to the device which returns error as rfkill is 'true'. Patch fixes this by just avoiding sending the led off/on command when disassociated. The main purpose of the led_disassociate callback is to start or stop the blinking. There are three states in led 1) Always on when radio is on 2) Always off when radio is off 3) blink when associated and if there is some traffic. In this callback 'allow_blinking' needs to be set false when associated, as LED will be always on. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d14d44407b9f06e3cf967fcef28ccb780caf0583 Author: Abhijeet Kolekar Date: Wed Jun 3 11:44:08 2009 -0700 iwl3945: port allow skb allocation in tasklet patch Port "iwlcore: Allow skb allocation from tasklet." to 3945 If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c587de0b8d6e194f7a1719fc6af8a81b4e8916d2 Author: Tomas Winkler Date: Wed Jun 3 11:44:07 2009 -0700 iwlwifi: unify station management This patch unifies 3945 and AGN station management It also removes useless struct iwl_station_mgmt ops and cleanups a bit the interface Signed-off-by: Tomas Winkler Tested-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a5e78820966e17c2316866e00047e4e7e5480f04 Author: Evgeniy Polyakov Date: Thu Jun 4 16:54:42 2009 +0200 netfilter: x_tables: added hook number into match extension parameter structure. Signed-off-by: Evgeniy Polyakov Signed-off-by: Patrick McHardy commit 20c84e959ec11b1803d2b2832eef703d5fbe7f7b Author: Ingo Molnar Date: Thu Jun 4 16:33:00 2009 +0200 perf stat: Update help text Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit edc52deac624e4641211a325c23da2a73b01a85d Author: Ingo Molnar Date: Thu Jun 4 16:24:37 2009 +0200 perf report: Bail out if there are unrecognized options/arguments Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 70fa9f2eadea7ca35bdcd89b20d555934593b40c Author: Jiri Kosina Date: Thu Jun 4 15:48:38 2009 +0200 HID: no more reinitializtion is needed in post_reset No more reinitialization is needed in the post reset hook, remove the FIXME comment. While at it, clean up whitespaces in the immediate surrounding. Signed-off-by: Jiri Kosina commit bbe281fad65f2eda1792d70763663a1b729fc03c Author: Jiri Kosina Date: Thu Jun 4 15:44:25 2009 +0200 HID: hidraw -- fix comment about accepted devices hidraw accepts any devices, no matter if the device has already been claimed by other HID driver (hid-input, hidraw), and this is intended to stay. Fix up the comment to reflect reality. Signed-off-by: Jiri Kosina commit 13d0ab5ec29852a6925f612830fa9e822669ece6 Author: Ingo Molnar Date: Thu Jun 4 15:40:25 2009 +0200 perf_counter tools: Dont output in color on !tty Dont emit ASCII color characters if the terminal is not a tty, such as when perf report gets redirected into a file. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8fc0321f1ad0ffef969056dda91b453bbd7a494d Author: Ingo Molnar Date: Thu Jun 4 15:19:47 2009 +0200 perf_counter tools: Add color terminal output support Add Git's color printing library to util/color.[ch]. Add it to perf report, with a trivial example to print high-overhead entries in red, low-overhead entries in green. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit c11c22177ae2929598051a39e4655be4a42cb805 Author: dmitry pervushin Date: Thu Jun 4 13:51:05 2009 +0100 [ARM] 5539/1: Freescale STMP: onboard devices declaration Define onboard devices for Freescale STMP3xxx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit a50808b6c4e0e25a72314391d70479447e3ce092 Author: dmitry pervushin Date: Thu Jun 4 13:49:37 2009 +0100 [ARM] 5538/1: Freescale STMP: 378n registers definition Add register definitions for Freescale STMP 378n boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit fc3fdfd632925990f14cffe314f5d90a2b0ae8f6 Author: dmitry pervushin Date: Thu Jun 4 13:48:51 2009 +0100 [ARM] 5537/1: Freescale STMP: 37nn registers definition Add register definitions for Freescale STMP 37nn boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 71dd8945d8d827ab101cd287f9480ef22fc7c1b6 Author: Peter Zijlstra Date: Thu Jun 4 15:16:56 2009 +0200 perf report: Add consistent spacing rules Make the sort header and the print function have the same column width. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 336ff735425d2709c4bb3f2a55f7565e8170ce7a Author: Josh Boyer Date: Wed Jun 3 05:28:03 2009 +0000 powerpc/40x: Convert AMCC Kilauea/Halekala boards to ppc40x_simple This cleans up the kilauea/halekala board ports to use the ppc40x_simple platform support. Tested-by: Stefan Roese Signed-off-by: Josh Boyer commit 194ff1c3871307038f832b72a57e9ad13ff393ee Author: Josh Boyer Date: Wed Jun 3 05:24:12 2009 +0000 powerpc/40x: Convert AMCC Makalu board to ppc40x_simple This cleans up the makalu board port to use the ppc40x_simple platform support. Tested-by: Stefan Roese Signed-off-by: Josh Boyer commit 7b8d639cfc7967388d1cfe2a81e7e3c872a81a0d Author: Stefan Roese Date: Tue Apr 7 05:31:05 2009 +0000 powerpc/4xx: Sequoia: Enable NAND support Now that the 4xx NAND driver is available again in arch/powerpc, let's enable it on Sequoia. This patch also disables the early debug messages (CONFIG_PPC_EARLY_DEBUG) in the Sequoia defconfig. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 9d2c0f67c8cf8d2f34aa126da7b98d265d54017f Author: Sean MacLennan Date: Mon Feb 2 07:01:59 2009 +0000 i2c: Fix confusing i2c-ibm_iic message The i2c-ibm_iic driver printed messages in an odd order that seemed to list devices before the driver was probed. Here is an example: at24 0-0052: 512 byte 24c04 EEPROM (writable) ibm-iic ef600700.i2c: using standard (100 kHz) mode ad7414 0-004a: chip found This changes the order to print the i2c driver message before scanning for devices so that the logs show the driver, then the devices. Signed-off-by: Sean MacLennan Acked-by: Jean Delvare Signed-off-by: Josh Boyer commit e3509ff0fb9df53e45cd68488e3b463a80455db7 Author: Daniel Mack Date: Wed Jun 3 17:44:49 2009 +0200 ASoC: fix NULL pointer dereference in soc_suspend() In case the initalization of an soc_device failed, there is no codec associated with it. soc_suspend() will still dereference the pointer and cause an Ooops when entering the sleep mode. This happens on our board with a multi-target kernel image when booted on a machine without audio circuits. This patch makes the code bail out very early in this special case. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 05ca061eb9704ad9b0739f88046276792b75f2c1 Author: Ingo Molnar Date: Thu Jun 4 14:21:16 2009 +0200 perf report: Print out the total number of events So that the statistical quality of the profile can be estimated at a glance. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 65f759831179bb8922f2a91a989487161d476a94 Author: Alexander Beregalov Date: Thu Jun 4 13:46:16 2009 +0400 ALSA: hda_intel: fix build error when !PM Fix this build error when CONFIG_PM is not set: ound/pci/hda/hda_intel.c: In function 'azx_bus_reset': sound/pci/hda/hda_intel.c:1270: error: implicit declaration of function 'snd_pcm_suspend_all' sound/pci/hda/hda_intel.c:1271: error: implicit declaration of function 'snd_hda_suspend' sound/pci/hda/hda_intel.c:1272: error: implicit declaration of function 'snd_hda_resume' Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai commit bd74137ec9aaca3df3ff22b92455fddf7afaced1 Author: Ingo Molnar Date: Thu Jun 4 14:13:04 2009 +0200 perf_counter tools: Print out symbol parsing errors only if --verbose Also, add a suggestion to 'perf report', if the default sort order is used. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 95ed6fd06e52bf850cd17524f0b36ed14300c10d Author: Peter Zijlstra Date: Thu Jun 4 15:00:45 2009 +0200 perf report: Simplify symbol output The DSO can be printed already - no need to repeat it in the symbol field. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit af794b94ae8a16fb4a9da6ce640c122efb44e2a0 Author: Ingo Molnar Date: Thu Jun 4 13:58:13 2009 +0200 perf_counter tools: Build with native optimization Build the tools with -march=native by default. No measurable difference in speed though, compared to the default, on a Nehalem testbox. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 64edbc562034f2ec3fce382cb208fab40586d005 Merge: 43bd123 0f6ce3d Author: Ingo Molnar Date: Thu Jun 4 13:59:26 2009 +0200 Merge branch 'tracing/ftrace' into tracing/core Merge reason: this mini-topic had outstanding problems that delayed its merge, so it does not fast-forward. Signed-off-by: Ingo Molnar commit b962442e46a9340bdbc6711982c59ff0cc2b5afb Author: Eric Anholt Date: Wed Jun 3 07:27:35 2009 +0000 drm/i915: Change GEM throttling to be 20ms like the comment says. keithp didn't like the original 20ms plan because a cooperative client could be starved by an uncooperative client. There may even have been problems with cooperative clients versus cooperative clients. So keithp changed throttle to just wait for the second to last seqno emitted by that client. It worked well, until we started getting more round-trips to the server due to DRI2 -- the server throttles in BlockHandler, and so if you did more than one round trip after finishing your frame, you'd end up unintentionally syncing to the swap. Fix this by keeping track of the client's requests, so the client can wait when it has an outstanding request over 20ms old. This should have non-starving behavior, good behavior in the presence of restarts, and less waiting. Improves high-settings openarena performance on my GM45 by 50%. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 1fd1c624362819ecc36db2458c6a972c48ae92d6 Author: Eric Anholt Date: Wed Jun 3 07:26:58 2009 +0000 drm/i915: Save/restore cursor state on suspend/resume. This may fix cursor corruption in X on resume, which would persist until the cursor was hidden and then shown again. V2: Also include the cursor control regs. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit df97992c6e25ffc66c549c8bc59262dc627c6d17 Author: Ingo Molnar Date: Thu Jun 4 13:41:22 2009 +0200 perf record/report: Fix PID/COMM handling Fix two bugs causing lost comm mappings: - initial PID is not 0 but getpid() - when we are unable to handle an mmap event, dont assume the event itself is broken - try to parse the stream. This way we wont lose comm events. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 48c72fccbfb1db01b5d0b98baff4442fea50d7a4 Author: Magnus Damm Date: Thu Jun 4 20:20:24 2009 +0900 sh: 16-bit get_unaligned() sh4a fix This patch fixes the 16-bit case of the sh4a specific unaligned access implementation. Without this patch the 16-bit version of sh4a get_unaligned() results in a 32-bit read which may read more data than intended and/or cross page boundaries. Unbreaks mtd NOR write handling on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3aff27ca84fa94311ae99189e54fed8d83b69fc1 Author: Yong Wang Date: Wed Jun 3 16:42:25 2009 +0800 perf_counter: Documentation update The 'nmi' bit is no longer there. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Arjan van de Ven LKML-Reference: <20090603084225.GA6553@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 1b58c2515be48d5df79d20210ac5a86e30094de2 Author: Paul Mackerras Date: Thu Jun 4 09:49:59 2009 +1000 perf_counter: powerpc: Use new identifier names in powerpc-specific code Commit b23f3325 ("perf_counter: Rename various fields") fixed up most of the uses of the renamed fields, but missed one instance of "record_type" in powerpc-specific code which needs to be changed to "sample_type", and a "PERF_RECORD_ADDR" in the same statement that needs to be changed to "PERF_SAMPLE_ADDR", causing compilation errors on powerpc. This fixes it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18983.3111.770392.800486@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 82ced6fd28653ab456c3e5b25e9ef3c1c96cd6e9 Author: Jean Delvare Date: Thu Jun 4 10:46:43 2009 +0200 ALSA: Add missing __devexit_p() markers 3 ISA sound drivers lack their __devexit_p() markers, which would cause build failures when the kernel is built without hotplug support. Signed-off-by: Jean Delvare Cc: Kyle McMartin Signed-off-by: Takashi Iwai commit d08664fdb50795b29cf70b0269ea02f7248e76c3 Author: Takashi Iwai Date: Thu Jun 4 09:58:18 2009 +0200 ASoC: Fix build error in twl4030.c Fix the (likely cut-n-paste) error by commit 16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9, which causes the error below: sound/soc/codecs/twl4030.c: In function 'twl4030_read_reg_cache': sound/soc/codecs/twl4030.c:152: error: 'cache' undeclared (first use in this function) Signed-off-by: Takashi Iwai commit bcb86975dbcc24f820f1a37918d53914af29ace7 Author: Tetsuo Handa Date: Thu Jun 4 15:14:34 2009 +0900 TOMOYO: Remove unused parameter. TOMOYO 2.2.0 does not check argv[] and envp[] upon execve(). We don't need to pass "struct tomoyo_page_buffer". Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8c032ec337bdf6ca9b083345b265130a55100b69 Author: Daniel Schaeffer Date: Wed Jun 3 17:23:54 2009 -0400 mxc: Add i.MX27LITE board support Sascha Hauer wrote: > On Tue, Jun 02, 2009 at 04:18:42PM -0400, Daniel Schaeffer wrote: >> Add basic support for the Logic i.MX27LITE board. >> >> Signed-off-by: Daniel Schaeffer > > Besides the comment made by Fabio this looks ok to me. > > Sascha > > Fixed issues pointed out by Fabio and Magnus, and rebased to mxc-master head. Signed-off-by: Daniel Schaeffer Signed-off-by: Sascha Hauer commit 6e53cdf11dfc8d302ebb67e7112d1baf8d7c66d4 Author: Ingo Molnar Date: Thu Jun 4 08:53:05 2009 +0200 perf top: Reduce default filter threshold On idle systems 'perf top' comes up empty by default, because the event count filter is set to 100. Reduce it to 5 instead. Also add an option to limit the number of functions displayed. Reported-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit a4c43beaff0fe6c83aa2505dce8ffe65db8e0a33 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 23:02:33 2009 -0300 perf report: Fix rbtree bug Ingo Molnar reported: > FYI, i just got this crash (segfault) in perf report after > collecting a long profile from Xorg: > > Starting program: /home/mingo/tip/Documentation/perf_counter/perf report > [Thread debugging using libthread_db enabled] > Detaching after fork from child process 20008. > [New Thread 0x7f92fd62a6f0 (LWP 20005)] > > Program received signal SIGSEGV, Segmentation fault. > 0x000000000041031a in __rb_erase_color (node=0x142c090, parent=0x0, > root=0x881918) > at util/rbtree.c:143 > 143 if (parent->rb_left == node) It was a problem introduced in this cset: perf report: Fix comm sorting - 8229289b607682f90b946ad2c319526303c17700 This patch should fix it. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 5c726166692449dfd570bf4497d427f1ea200ad3 Author: Chaithrika U S Date: Wed Jun 3 21:54:29 2009 -0700 TI DaVinci EMAC: Remove print_mac, DECLARE_MAC_BUF Use printk format specifier for MAC address. Remove DECALRE_MAC_BUF and print_mac() usage in the driver. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit c722c625dbe2758d53365c0ed7d401b0e286f2cf Author: Herbert Xu Date: Wed Jun 3 21:45:55 2009 -0700 tun: Only wake up writers When I added socket accounting to tun I inadvertently introduced spurious wake-up events that kills qemu performance. The problem occurs when qemu polls on the tun fd for read, and then transmits packets. For each packet transmitted, we will wake up qemu even if it only cares about read events. Now this affects all sockets, but it is only a new problem for tun. So this patch tries to fix it for tun first and we can then look at the problem in general. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a8c617eae4dc2ea9f3d64472233f2d3dc3c9993c Merge: 2307f86 c6ba68a Author: David S. Miller Date: Wed Jun 3 21:43:52 2009 -0700 Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev commit 2307f866f542f3397d24f78d0efd74f4ab214a96 Author: Rami Rosen Date: Wed Jun 3 21:43:26 2009 -0700 ipv4: remove ip_mc_drop_socket() declaration from af_inet.c. ip_mc_drop_socket() method is declared in linux/igmp.h, which is included anyhow in af_inet.c. So there is no need for this declaration. This patch removes it from af_inet.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 278b2513f76161a9cf1ebddd620dc9d1714fe573 Author: Herbert Xu Date: Wed Jun 3 21:20:51 2009 -0700 gso: Stop fraglists from escaping As it stands skb fraglists can get past the check in dev_queue_xmit if the skb is marked as GSO. In particular, if the packet doesn't have the proper checksums for GSO, but can otherwise be handled by the underlying device, we will not perform the fraglist check on it at all. If the underlying device cannot handle fraglists, then this will break. The fix is as simple as moving the fraglist check from the device check into skb_gso_ok. This has caused crashes with Xen when used together with GRO which can generate GSO packets with fraglists. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 56c8f140719e6f62836fb645d3fd96c6289907fb Author: Divy Le Ray Date: Wed Jun 3 06:19:15 2009 +0000 cxgb3: minor aq100x phy fixes Use generic MDIO generic values. Based on Ben Hutchings'review comments. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 6ba5f9c74365263db161941b1e7467cdba06a5fe Author: Divy Le Ray Date: Wed Jun 3 13:38:59 2009 +0000 cxgb3: Update FW to 7.4.0 Update FW to 7.4. Bump up driver revision. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 06c59bb896ce23c56829f6acf667faebd51dd3b8 Author: Tao Ma Date: Tue May 19 06:47:20 2009 +0800 ocfs2: Remove redundant gotos in ocfs2_mount_volume() Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 73be192b17e43b6dc4f492dab41d70ab5b9d2908 Author: Joel Becker Date: Tue Jan 6 14:57:08 2009 -0800 ocfs2: Add statistics for the checksum and ecc operations. It would be nice to know how often we get checksum failures. Even better, how many of them we can fix with the single bit ecc. So, we add a statistics structure. The structure can be installed into debugfs wherever the user wants. For ocfs2, we'll put it in the superblock-specific debugfs directory and pass it down from our higher-level functions. The stats are only registered with debugfs when the filesystem supports metadata ecc. Signed-off-by: Joel Becker commit 15633a220ffe74fc61bc8117e6a89a494011ea3d Author: Srinivas Eeda Date: Wed Jun 3 17:02:56 2009 -0700 ocfs2 patch to track delayed orphan scan timer statistics Patch to track delayed orphan scan timer statistics. Modifies ocfs2_osb_dump to print the following: Orphan Scan=> Local: 10 Global: 21 Last Scan: 67 seconds ago Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit 83273932fbefb6ceef9c0b82ac4d23900728f4d9 Author: Srinivas Eeda Date: Wed Jun 3 17:02:55 2009 -0700 ocfs2: timer to queue scan of all orphan slots When a dentry is unlinked, the unlinking node takes an EX on the dentry lock before moving the dentry to the orphan directory. Other nodes that have this dentry in cache have a PR on the same dentry lock. When the EX is requested, the other nodes flag the corresponding inode as MAYBE_ORPHANED during downconvert. The inode is finally deleted when the last node to iput the inode sees that i_nlink==0 and the MAYBE_ORPHANED flag is set. A problem arises if a node is forced to free dentry locks because of memory pressure. If this happens, the node will no longer get downconvert notifications for the dentries that have been unlinked on another node. If it also happens that node is actively using the corresponding inode and happens to be the one performing the last iput on that inode, it will fail to delete the inode as it will not have the MAYBE_ORPHANED flag set. This patch fixes this shortcoming by introducing a periodic scan of the orphan directories to delete such inodes. Care has been taken to distribute the workload across the cluster so that no one node has to perform the task all the time. Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit edd45c08499a3e9d4c25431cd2b6a9ce5f692c92 Author: Jan Kara Date: Tue Jun 2 14:24:03 2009 +0200 ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories We use ordering ip_alloc_sem -> local alloc locks in ocfs2_write_begin(). So change lock ordering in ocfs2_extend_dir() and ocfs2_expand_inline_dir() to also use this lock ordering. Signed-off-by: Jan Kara Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 80d73f15d12f087f3fe074f8a4d6e5c5624f2b47 Author: Jan Kara Date: Tue Jun 2 14:24:02 2009 +0200 ocfs2: Fix possible deadlock in quota recovery In ocfs2_finish_quota_recovery() we acquired global quota file lock and started recovering local quota file. During this process we need to get quota structures, which calls ocfs2_dquot_acquire() which gets global quota file lock again. This second lock can block in case some other node has requested the quota file lock in the mean time. Fix the problem by moving quota file locking down into the function where it is really needed. Then dqget() or dqput() won't be called with the lock held. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 65bac575e35915801ea518b9d8d8824367d125c8 Author: Jan Kara Date: Tue Jun 2 14:24:01 2009 +0200 ocfs2: Fix possible deadlock with quotas in ocfs2_setattr() We called vfs_dq_transfer() with global quota file lock held. This can lead to deadlocks as if vfs_dq_transfer() has to allocate new quota structure, it calls ocfs2_dquot_acquire() which tries to get quota file lock again and this can block if another node requested the lock in the mean time. Since we have to call vfs_dq_transfer() with transaction already started and quota file lock ranks above the transaction start, we cannot just rely on ocfs2_dquot_acquire() or ocfs2_dquot_release() on getting the lock if they need it. We fix the problem by acquiring pointers to all quota structures needed by vfs_dq_transfer() already before calling the function. By this we are sure that all quota structures are properly allocated and they can be freed only after we drop references to them. Thus we don't need quota file lock anywhere inside vfs_dq_transfer(). Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit b4c30de39a2596503e888a7b47d19792f25913d6 Author: Jan Kara Date: Tue Jun 2 14:24:00 2009 +0200 ocfs2: Fix lock inversion in ocfs2_local_read_info() This function is called with dqio_mutex held but it has to acquire lock from global quota file which ranks above this lock. This is not deadlockable lock inversion since this code path is take only during mount when noone else can race with us but let's clean this up to silence lockdep. We just drop the dqio_mutex in the beginning of the function and reacquire it in the end since we don't need it - noone can race with us at this moment. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 4e8a301929bfa017e6ffe11e3cf78ccaf8492801 Author: Jan Kara Date: Tue Jun 2 14:23:59 2009 +0200 ocfs2: Fix possible deadlock in ocfs2_global_read_dquot() It is not possible to get a read lock and then try to get the same write lock in one thread as that can block on downconvert being requested by other node leading to deadlock. So first drop the quota lock for reading and only after that get it for writing. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit e0a94c2a63f2644826069044649669b5e7ca75d3 Author: Christoph Lameter Date: Wed Jun 3 16:04:31 2009 -0400 security: use mmap_min_addr indepedently of security models This patch removes the dependency of mmap_min_addr on CONFIG_SECURITY. It also sets a default mmap_min_addr of 4096. mmapping of addresses below 4096 will only be possible for processes with CAP_SYS_RAWIO. Signed-off-by: Christoph Lameter Acked-by: Eric Paris Looks-ok-by: Linus Torvalds Signed-off-by: James Morris commit 5fdc18d938c99399b73fe894bc24cb9400a1a2ee Author: Jaroslav Kysela Date: Thu Jun 4 00:12:18 2009 +0200 ALSA: Core - clean up snd_card_set_id* calls and remove possible id collision Move locking outside snd_card_set_id_internal() function and rename it to snd_card_set_id_no_lock() for better function description. User defined id is just copied to card structure at allocation time. The real unique id procedure is called in snd_card_register() to ensure real atomicity. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 018df41861475595a51d327b83fb5830462f7a53 Author: Hector Martin Date: Thu Jun 4 00:13:40 2009 +0200 ALSA: hda - More Aspire 8930G fixes Enable all three capture channels, including the missing nid 7 which is the only one capable of capturing DMIC input Enable Headphone amp for the HP jack. This causes a volume boost for headphones, but does not cause any noticeable effect for light loads like other amps, so there is no need to make it configurable. Add Input Mix capture mux setting to capture the output of the playback input mux (that is, what goes out the speakers except for PCM) Hack another coef register because the stereo DMIC for some reason produces a nonstandard sum/difference signal. I found a bit to make it just use the sum signal for both channels, which makes it behave like a standard mono microphone. The stereo is useless anyway (they're 1cm apart). Tested working: Three capture channels, mic in, line in, DMIC. Tested not working: CD. Not sure why, might be unconnected in the actual hardware or a CD drive issue. Also looked at SPDIF. It appears to work (emitter lights up inside the HP out jack) but I lack a proper miniTOSLINK cable to test it. Signed-off-by: Hector Martin Signed-off-by: Takashi Iwai commit 13be1bf1467e3186a4a9d1b1276cc4bd31e472ea Author: Roel Kluin Date: Thu Jun 4 01:53:21 2009 +0200 ALSA: burgundy: timeout message is off by one. Timeout message is off by one. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 0b8e58a140cae2ba1c4a21ccae7c6c3c939c51f9 Author: Andreas Dilger Date: Wed Jun 3 17:59:28 2009 -0400 ext4: super.c whitespace cleanup Cleanup of whitespace and formatting. Initially driven by confusing indents for the ext4_{block,inode}_bitmap() et. al. helper routines, but figured I'd cleanup some other 80-column wrapping and other indenting problems at the same time. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" commit bfcd3555af478dbf04c87adc9bb1a739d0a6ccff Author: Alberto Bertogli Date: Tue Jun 9 00:06:20 2009 -0400 jbd2: Fix minor typos in comments in fs/jbd2/journal.c Signed-off-by: Alberto Bertogli Signed-off-by: Theodore Ts'o commit 8051dbd2dfd1427cc102888d7d96bf39de0be150 Author: Hidetoshi Seto Date: Tue Jun 2 16:53:23 2009 +0900 x86, mce: fix for mce counters Make the MCE counters work on 32bit and add poll count in arch_irq_stat_cpu. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9b1beaf2b551a8a1604f104025b24e9c535c8963 Author: Andi Kleen Date: Wed May 27 21:56:59 2009 +0200 x86, mce: support action-optional machine checks Newer Intel CPUs support a new class of machine checks called recoverable action optional. Action Optional means that the CPU detected some form of corruption in the background and tells the OS about using a machine check exception. The OS can then take appropiate action, like killing the process with the corrupted data or logging the event properly to disk. This is done by the new generic high level memory failure handler added in a earlier patch. The high level handler takes the address with the failed memory and does the appropiate action, like killing the process. In this version of the patch the high level handler is stubbed out with a weak function to not create a direct dependency on the hwpoison branch. The high level handler cannot be directly called from the machine check exception though, because it has to run in a defined process context to be able to sleep when taking VM locks (it is not expected to sleep for a long time, just do so in some exceptional cases like lock contention) Thus the MCE handler has to queue a work item for process context, trigger process context and then call the high level handler from there. This patch adds two path to process context: through a per thread kernel exit notify_user() callback or through a high priority work item. The first runs when the process exits back to user space, the other when it goes to sleep and there is no higher priority process. The machine check handler will schedule both, and whoever runs first will grab the event. This is done because quick reaction to this event is critical to avoid a potential more fatal machine check when the corruption is consumed. There is a simple lock less ring buffer to queue the corrupted addresses between the exception handler and the process context handler. Then in process context it just calls the high level VM code with the corrupted PFNs. The code adds the required code to extract the failed address from the CPU's machine check registers. It doesn't try to handle all possible cases -- the specification has 6 different ways to specify memory address -- but only the linear address. Most of the required checking has been already done earlier in the mce_severity rule checking engine. Following the Intel recommendations Action Optional errors are only enabled for known situations (encoded in MCACODs). The errors are ignored otherwise, because they are action optional. v2: Improve comment, disable preemption while processing ring buffer (reported by Ying Huang) Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8fa8dd9e3aafb7b440b7d54219891615abc6390e Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: define MCE_VECTOR Add MCE_VECTOR for the #MC exception. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9ff36ee9668ff41ec3274597c730524645929b0f Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: rename mce_notify_user to mce_notify_irq Rename the mce_notify_user function to mce_notify_irq. The next patch will split the wakeup handling of interrupt context and of process context and it's better to give it a clearer name for this. Contains a fix from Ying Huang [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Cc: Huang Ying Signed-off-by: H. Peter Anvin commit 4ef702c10b5df18ab04921fc252c26421d4d6c75 Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86: fix panic with interrupts off (needed for MCE) For some time each panic() called with interrupts disabled triggered the !irqs_disabled() WARN_ON in smp_call_function(), producing ugly backtraces and confusing users. This is a common situation with machine checks for example which tend to call panic with interrupts disabled, but will also hit in other situations e.g. panic during early boot. In fact it means that panic cannot be called in many circumstances, which would be bad. This all started with the new fancy queued smp_call_function, which is then used by the shutdown path to shut down the other CPUs. On closer examination it turned out that the fancy RCU smp_call_function() does lots of things not suitable in a panic situation anyways, like allocating memory and relying on complex system state. I originally tried to patch this over by checking for panic there, but it was quite complicated and the original patch was also not very popular. This also didn't fix some of the underlying complexity problems. The new code in post 2.6.29 tries to patch around this by checking for oops_in_progress, but that is not enough to make this fully safe and I don't think that's a real solution because panic has to be reliable. So instead use an own vector to reboot. This makes the reboot code extremly straight forward, which is definitely a big plus in a panic situation where it is important to avoid relying on too much kernel state. The new simple code is also safe to be called from interupts off region because it is very very simple. There can be situations where it is important that panic is reliable. For example on a fatal machine check the panic is needed to get the system up again and running as quickly as possible. So it's important that panic is reliable and all function it calls simple. This is why I came up with this simple vector scheme. It's very hard to beat in simplicity. Vectors are not particularly precious anymore since all big systems are using per CPU vectors. Another possibility would have been to use an NMI similar to kdump, but there is still the problem that NMIs don't work reliably on some systems due to BIOS issues. NMIs would have been able to stop CPUs running with interrupts off too. In the sake of universal reliability I opted for using a non NMI vector for now. I put the reboot vector into the highest priority bucket of the APIC vectors and moved the 64bit UV_BAU message down instead into the next lower priority. [ Impact: bug fix, fixes an old regression ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4611a6fa4b37cf6b8b6066ed0d605c994c62a1a0 Author: Huang Ying Date: Wed May 27 21:56:57 2009 +0200 x86, mce: export MCE severities coverage via debugfs The MCE severity judgement code is data-driven, so code coverage tools such as gcov can not be used for measuring coverage. Instead a dedicated coverage mechanism is implemented. The kernel keeps track of rules executed and reports them in debugfs. This is useful for increasing coverage of the mce-test testsuite. Right now it's unconditionally enabled because it's very little code. Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ed7290d0ee8f81aa78bfe816f01b012f208cafc5 Author: Andi Kleen Date: Wed May 27 21:56:57 2009 +0200 x86, mce: implement new status bits The x86 architecture recently added some new machine check status bits: S(ignalled) and AR (Action-Required). Signalled allows to check if a specific event caused an exception or was just logged through CMCI. AR allows the kernel to decide if an event needs immediate action or can be delayed or ignored. Implement support for these new status bits. mce_severity() uses the new bits to grade the machine check correctly and decide what to do. The exception handler uses AR to decide to kill or not. The S bit is used to separate events between the poll/CMCI handler and the exception handler. Classical UC always leads to panic. That was true before anyways because the existing CPUs always passed a PCC with it. Also corrects the rules whether to kill in user or kernel context and how to handle missing RIPV. The machine check handler largely uses the mce-severity grading engine now instead of making its own decisions. This means the logic is centralized in one place. This is useful because it has to be evaluated multiple times. v2: Some rule fixes; Add AO events Fix RIPV, RIPV|EIPV order (Ying Huang) Fix UCNA with AR=1 message (Ying Huang) Add comment about panicing in m_c_p. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 86503560e48153aba539ff117450d31ab2ef76d7 Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: print header/footer only once for multiple MCEs When multiple MCEs are printed print the "HARDWARE ERROR" header and "This is not a software error" footer only once. This makes the output much more compact with many CPUs. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 29b0f591d678838435fbb3e15ef20266f1a9e01d Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: default to panic timeout for machine checks Fatal machine checks can be logged to disk after boot, but only if the system did a warm reboot. That's unfortunately difficult with the default panic behaviour, which waits forever and the admin has to press the power button because modern systems usually miss a reset button. This clears the machine checks in the registers and make it impossible to log them. This patch changes the default for machine check panic to always reboot after 30s. Then the mce can be successfully logged after reboot. I believe this will improve machine check experience for any system running the X server. This is dependent on successfull boot logging of MCEs. This currently only works on Intel systems, on AMD there are quite a lot of systems around which leave junk in the machine check registers after boot, so it's disabled here. These systems will continue to default to endless waiting panic. v2: Only force panic timeout when it's shorter (H.Seto) v3: Only force timeout when there is no timeout (based on comment H.Seto) [ Fix changelog - HS ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1b2797dcc9f0ad89bc382ace26c6baafbc7e33c2 Author: Huang Ying Date: Wed May 27 21:56:51 2009 +0200 x86, mce: improve mce_get_rip Assume IP on the stack is valid when either EIPV or RIPV are set. This influences whether the machine check exception handler decides to return or panic. This fixes a test case in the mce-test suite and is more compliant to the specification. This currently only makes a difference in a artificial testing scenario with the mce-test test suite. Also in addition do not force the EIPV to be valid with the exact register MSRs, and keep in trust the CS value on stack even if MSR is available. [AK: combination of patches from Huang Ying and Hidetoshi Seto, with new description by me] [add some description, no code changed - HS] Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ac9603754dc7e286e62ae4f1067958d5b0075f99 Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: make non Monarch panic message "Fatal machine check" too ... instead of "Machine check". This is for consistency with the Monarch panic message. Based on a report from Ying Huang. v2: But add a descriptive postfix so that the test suite can distingush. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3c0797925f4ef9d55a32059d2af61a9c262e639d Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: switch x86 machine check handler to Monarch election. On Intel platforms machine check exceptions are always broadcast to all CPUs. This patch makes the machine check handler synchronize all these machine checks, elect a Monarch to handle the event and collect the worst event from all CPUs and then process it first. This has some advantages: - When there is a truly data corrupting error the system panics as quickly as possible. This improves containment of corrupted data and makes sure the corrupted data never hits stable storage. - The panics are synchronized and do not reenter the panic code on multiple CPUs (which currently does not handle this well). - All the errors are reported. Currently it often happens that another CPU happens to do the panic first, but reports useless information (empty machine check) because the real error happened on another CPU which came in later. This is a big advantage on Nehalem where the 8 threads per CPU lead to often the wrong CPU winning the race and dumping useless information on a machine check. The problem also occurs in a less severe form on older CPUs. - The system can detect when no CPUs detected a machine check and shut down the system. This can happen when one CPU is so badly hung that that it cannot process a machine check anymore or when some external agent wants to stop the system by asserting the machine check pin. This follows Intel hardware recommendations. - This matches the recommended error model by the CPU designers. - The events can be output in true severity order - When a panic happens on another CPU it makes sure to be actually be able to process the stop IPI by enabling interrupts. The code is extremly careful to handle timeouts while waiting for other CPUs. It can't rely on the normal timing mechanisms (jiffies, ktime_get) because of its asynchronous/lockless nature, so it uses own timeouts using ndelay() and a "SPINUNIT" The timeout is configurable. By default it waits for upto one second for the other CPUs. This can be also disabled. From some informal testing AMD systems do not see to broadcast machine checks, so right now it's always disabled by default on non Intel CPUs or also on very old Intel systems. Includes fixes from Ying Huang Fixed a "ecception" in a comment (H.Seto) Moved global_nwo reset later based on suggestion from H.Seto v2: Avoid duplicate messages [ Impact: feature, fixes long standing problems. ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit f94b61c2c9fdcc90773c49df9ccf9ede3ad0d7db Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: implement panic synchronization In some circumstances multiple CPUs can enter mce_panic() in parallel. This gives quite confused output because they will all dump the same machine check buffer. The other problem is that they would all panic in parallel, but not process each other's shutdown IPIs because interrupts are disabled. Detect this situation early on in mce_panic(). On the first CPU entering will do the panic, the others will just wait to be killed. For paranoia reasons in case the other CPU dies during the MCE I added a 5 seconds timeout. If it expires each CPU will panic on its own again. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ccc3c3192ae78dd56dcdf5353fd1a9ef5f9a3e2b Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: implement bootstrapping for machine check wakeups Machine checks support waking up the mcelog daemon quickly. The original wake up code for this was pretty ugly, relying on a idle notifier and a special process flag. The reason it did it this way is that the machine check handler is not subject to normal interrupt locking rules so it's not safe to call wake_up(). Instead it set a process flag and then either did the wakeup in the syscall return or in the idle notifier. This patch adds a new "bootstraping" method as replacement. The idea is that the handler checks if it's in a state where it is unsafe to call wake_up(). If it's safe it calls it directly. When it's not safe -- that is it interrupted in a critical section with interrupts disables -- it uses a new "self IPI" to trigger an IPI to its own CPU. This can be done safely because IPI triggers are atomic with some care. The IPI is raised once the interrupts are reenabled and can then safely call wake_up(). When APICs are disabled the event is just queued and will be picked up eventually by the next polling timer. I think that's a reasonable compromise, since it should only happen quite rarely. Contains fixes from Ying Huang. [ solve conflict on irqinit, make it work on 32bit (entry_arch.h) - HS ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit bd19a5e6b73df276e1ccedf9059e9ee70c372d7d Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: check early in exception handler if panic is needed The exception handler should behave differently if the exception is fatal versus one that can be returned from. In the first case it should never clear any registers because these need to be preserved for logging after the next boot. Otherwise it should clear them on each CPU step by step so that other CPUs sharing the same bank don't see duplicate events. Otherwise we risk reporting events multiple times on any CPUs which have shared machine check banks, which is a common problem on Intel Nehalem which has both SMT (two CPU threads sharing banks) and shared machine check banks in the uncore. Determine early in a special pass if any event requires a panic. This uses the mce_severity() function added earlier. This is needed for the next patch. Also fixes a problem together with an earlier patch that corrected events weren't logged on a fatal MCE. [ Impact: Feature ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 817f32d02a52dd7f5941534e0699883691e918df Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: add table driven machine check grading The machine check grading (as in deciding what should be done for a given register value) has to be done multiple times soon and it's also getting more complicated. So it makes sense to consolidate it into a single function. To get smaller and more straight forward and possibly more extensible code I opted towards a new table driven method. The various rules are put into a table when is then executed by a very simple interpreter. The grading engine is in a new file mce-severity.c. I also added a private include file mce-internal.h, because mce.h is already a bit too cluttered. This is dead code right now, but will be used in followon patches. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a0189c70e5f17f4253dd7bc575c97469900e23d6 Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: remove TSC print heuristic Previously mce_panic used a simple heuristic to avoid printing old so far unreported machine check events on a mce panic. This worked by comparing the TSC value at the start of the machine check handler with the event time stamp and only printing newer ones. This has a couple of issues, in particular on systems where the TSC is not fully synchronized between CPUs it could lose events or print old ones. It is also problematic with full system synchronization as it is added by the next patch. Remove the TSC heuristic and instead replace it with a simple heuristic to print corrected errors first and after that uncorrected errors and finally the worst machine check as determined by the machine check handler. This simplifies the code because there is no need to pass the original TSC value around. Contains fixes from Ying Huang [ Impact: bug fix, cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Cc: Ying Huang Signed-off-by: H. Peter Anvin commit de8a84d85ad8bb46d01d72ebc57030b95075603c Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: log corrected errors when panicing Normally the machine check handler ignores corrected errors and leaves them to machine_check_poll(). But when panicing mcp won't run, so log all errors. Note: this can still miss some cases until the "early no way out" patch later is applied too. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8ee08347c1e8b5680b3b3ce081e42e97bcaa1abe Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: extend struct mce user interface with more information. Experience has shown that struct mce which is used to pass an machine check to the user space daemon currently a few limitations. Also some data which is useful to print at panic level is also missing. This patch addresses most of them. The same information is also printed out together with mce panic. struct mce can be painlessly extended in a compatible way, the mcelog user space code just ignores additional fields with a warning. - It doesn't provide a wall time timestamp. There have been a few complaints about that. Fix that by adding a 64bit time_t - It doesn't provide the exact CPU identification. This makes it awkward for mcelog to decode the event correctly, especially when there are variations in the supported MCE codes on different CPU models or when mcelog is running on a different host after a panic. Previously the administrator had to specify the correct CPU when mcelog ran on a different host, but with the more variation in machine checks now it's better to auto detect that. It's also useful for more detailed analysis of CPU events. Pass CPUID 1.EAX and the cpu vendor (as encoded in processor.h) instead. - Socket ID and initial APIC ID are useful to report because they allow to identify the failing CPU in some (not all) cases. This is also especially useful for the panic situation. This addresses one of the complaints from Thomas Gleixner earlier. - The MCG capabilities MSR needs to be reported for some advanced error processing in mcelog Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d620c67fb92aa11736112f9a03e31d8e3079c57a Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: support more than 256 CPUs in struct mce The old struct mce had a limitation to 256 CPUs. But x86 Linux supports more than that now with x2apic. Add a new field extcpu to report the extended number. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit f6fb0ac0869500323c78fa21992fe1933af61e91 Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: store record length into memory struct mce anchor This makes it easier for tools who want to extract the mcelog out of crash images or memory dumps to adapt to changing struct mce size. The length field replaces padding, so it's fully compatible. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ca84f69697da0f004135e45b63ca560b6bd3554e Author: Andi Kleen Date: Wed May 27 21:56:57 2009 +0200 x86, mce: add MCE poll count to /proc/interrupts Keep a count of the machine check polls (or CMCI events) in /proc/interrupts. Andi needs this for debugging, but it's also useful in general to see what's going in by the kernel. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 01ca79f1411eae2a45352709c838b946b1af9fbd Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86, mce: add machine check exception count in /proc/interrupts Useful for debugging, but it's also good general policy to have a counter for all special interrupts there. This makes it easier to diagnose where a CPU is spending its time. [ Impact: feature, debugging tool ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 872c78202c58d26596e25743791ee81a7d24abad Author: Mark Brown Date: Wed Jun 3 20:43:29 2009 +0100 ALSA: Fix double locking of card list in snd_card_register() The introduction of snd_card_set_id() added a lock on the card list to the old choose_default_id() function when using it to implement the new API call. This lock is needed to allow us to walk the list and check to see if our new name is a duplicate. Unfortunately this causes a lockup when called from snd_card_register() (in cases where no ID is supplied for the card) since the card list is already locked there. Fix this fairly hideously by factoring out the implementation and using a flag to indicate if the lock should be held. A better fix would probably be to refactor snd_card_register() to move the _set_id() outside the locking region but I can't immediately see anything I can convince myself is safe. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d11444dfa78cdd887d8dfd2fab3883132aff2c2d Author: Ingo Molnar Date: Wed Jun 3 23:29:14 2009 +0200 perf report: Handle all known event types We have munmap, throttle/unthrottle and period events as well, process them - otherwise they are considered broke events and we mis-parse the next few events. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 75051724f78677532618dd164a515baf106990e5 Author: Ingo Molnar Date: Wed Jun 3 23:14:49 2009 +0200 perf report: Split out event processing helpers - Introduce per event helper functions Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit d80d338d2fb611b65830db7ea56680624776030f Author: Ingo Molnar Date: Wed Jun 3 23:14:49 2009 +0200 perf report: Clean up event processing - Split out event processig into process_events() helper. - Untangle the cwd parameters - it's constant so can be a static. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 128f048f0f0d2a477ad2555e7acd2ad15a1b6061 Author: Ingo Molnar Date: Wed Jun 3 22:19:36 2009 +0200 perf_counter: Fix throttling lock-up Throttling logic is broken and we can lock up with too small hw sampling intervals. Make the throttling code more robust: disable counters even if we already disabled them. ( Also clean up whitespace damage i noticed while reading various pieces of code related to throttling. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 25a52393270ca48c7d0848672ad4423313033c3d Author: Joachim Fenkes Date: Wed Jun 3 13:25:42 2009 -0700 IB/ehca: Remove superfluous bitmasks from QP control block All the fields in the control block are nicely right-aligned, so no masking is necessary. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 27db1fea1868ee346fe5a2fba00eb8fc69283f2c Author: Josh Boyer Date: Tue Mar 31 08:57:53 2009 -0400 powerpc/4xx: Disable PCI_LEGACY The single board defconfig files were missed during the cleanup of CONFIG_PCI_LEGACY in the multi-board config files. This disables the option for the single board configs, as it isn't used by anything for these boards. Reported-by: Cheng Renquan Signed-off-by: Josh Boyer commit 233f0b95ca3a0d1dcbd70bc7e519069a8e10d23e Author: Ingo Molnar Date: Wed Jun 3 21:48:40 2009 +0200 perf_counter tools: Work around warnings in older GCCs GCC 4.1.2 produces: util/parse-options.c: In function ‘get_value’: util/parse-options.c:36: warning: ‘arg’ may be used uninitialized in this function builtin-top.c: In function ‘display_thread’: builtin-top.c:178: warning: ‘printed’ may be used uninitialized in this function Annotate them away by initializing these variables to 0. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 18374ab76e3ec1cf1b0ca5a8d08e35cfc5d01669 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 14:49:21 2009 -0300 perf_counter tools: Fix off-by-one bug in symbol__new The end is really (start + len - 1). Noticed when synthesizing the PLT symbols, that are small (16 bytes), and hot on the start RIP. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: <20090603174921.GG7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a914d4309c4cf6e7c4d0dbce4822dcad38a7cf27 Author: Alexander Clouter Date: Sun May 3 12:57:48 2009 -0700 [ARM] orion: add hwrng timeriomem hook to TS-78xx Add hook so that the HW RNG source on the TS-78xx is available. Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 095b3a6a030f7d4f24825ae93fc384b3d4b4fafa Author: Ingo Molnar Date: Wed Jun 3 20:13:51 2009 +0200 perf_counter tools: Optimize harder Use -O6 to build the tools. Before: 12387507370 instructions # 3121.653 M/sec After: 6244894971 instructions # 3458.437 M/sec Almost twice as fast! Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 051cdc3c2d0e24443ac03aff03ee89807ec8c589 Author: Ingo Molnar Date: Wed Jun 3 20:09:11 2009 +0200 perf help: Fix bug when there's no perf-* command around main_cmds can be empty - fix util/help.c to handle this case without segfaulting. Reported-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 0aa8204b46e0fb155a98074d53f8b31ca04269b2 Author: Johannes Berg Date: Wed Jun 3 18:30:31 2009 +0200 cfg80211: fix Kconfig for users of cfg80211 * iwm doesn't depend on cfg80211 or wireless extensions * rndis wlan selects cfg80211 - needs to depend * mac80211 selects cfg80211 - needs to depend Signed-off-by: Johannes Berg Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit f71fea23a27ba8ec53375832aab6a80fc14622e0 Author: Johannes Berg Date: Wed Jun 3 10:17:59 2009 +0200 rfkill: document /dev/rfkill Add some blurb about /dev/rfkill to the documentation and fix the "transmiter" spelling error. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ec2c68c11af95075f29e370970eb97c89234e2e Author: Johannes Berg Date: Wed Jun 3 09:55:29 2009 +0200 rfkill: always init poll delayed work The rfkill core didn't initialise the poll delayed work because it assumed that polling was always done by specifying the poll function. cfg80211, however, would like to start polling only later, which is a valid use case and easy to support, so change rfkill to always initialise the poll delayed work and thus allow starting polling by calling the rfkill_resume_polling() function after registration. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72828b1b3cabecfce4321877aa526a2bd21acf0c Author: Bob Copeland Date: Tue Jun 2 23:03:06 2009 -0400 ath5k: disable beacon interrupt when interface is down When we remove the active interface, there's no need to continue sending beacons; doing so would cause a null pointer deref in ieee80211_beacon_get(). Disable the interrupt in remove_interface and add a WARN_ON(!vif) in case there are other instances lurking. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 894df1cbc376310163d41c50c891db41296056bf Author: Luis R. Rodriguez Date: Tue Jun 2 15:43:25 2009 -0700 mac80211: removed unused variable in ieee80211_tx() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7e189a12c246f55fe087efe345fe5f4cbe0be545 Author: Luis R. Rodriguez Date: Tue Jun 2 18:38:14 2009 -0400 mac80211: extend sta kdoc - explain when they are added Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 60fd2b67014440091770ac5738301c7fa4c4159c Author: Luis R. Rodriguez Date: Tue Jun 2 16:31:10 2009 -0400 cfg80211: make ieee80211_get_mesh_hdrlen() static Fixes spares warning: net/wireless/util.c:261:5: warning: symbol 'ieee80211_get_mesh_hdrlen' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e03e5ffd8d3327d23d76be5d63cfbbb537b1af59 Author: Luis R. Rodriguez Date: Tue Jun 2 16:30:56 2009 -0400 ath: make regulatory parsing more verbose on debug This should help when reviewing issues regarding regulatory domain on ath5k/ath9k/ar9170. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 581f725ccd7e697074aa057fa86bf99b54052c95 Author: Vasanthakumar Thiagarajan Date: Tue Jun 2 19:28:55 2009 +0530 ath9k: Fix write callback of 'debug' which configures debug mask Handle error condition on copy_from_user() properly and make sure a NUL terminated char[] is sent to strict_strtoul() for proper conversion. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 76963bb602ba91927130a0140d5757a5969e08ac Author: Johannes Berg Date: Tue Jun 2 13:01:42 2009 +0200 iwm: port to new cfg80211 rfkill Which means removing all rfkill code since it only does soft-kill which cfg80211 will now handle in exactly the same way the driver did. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3 Author: Johannes Berg Date: Tue Jun 2 13:01:41 2009 +0200 cfg80211: add rfkill support To be easier on drivers and users, have cfg80211 register an rfkill structure that drivers can access. When soft-killed, simply take down all interfaces; when hard-killed the driver needs to notify us and we will take down the interfaces after the fact. While rfkilled, interfaces cannot be set UP. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6081162e2ed78dfcf149b076b047078ab1445cc2 Author: Johannes Berg Date: Tue Jun 2 13:01:40 2009 +0200 rfkill: add function to query state Sometimes it is necessary to know how the state is, and it is easier to query rfkill than keep track of it somewhere else, so add a function for that. This could later be expanded to return hard/soft block, but so far that isn't necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7643a2c3fcc13cd6fbd731f214463547383418ae Author: Johannes Berg Date: Tue Jun 2 13:01:39 2009 +0200 cfg80211: move txpower wext from mac80211 This patch introduces new cfg80211 API to set the TX power via cfg80211, puts the wext code into cfg80211 and updates mac80211 to use all that. The -ENETDOWN bits are a hack but will go away soon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c64fb01627e24725d1f9d535e4426475a4415753 Author: Johannes Berg Date: Tue Jun 2 13:01:38 2009 +0200 rfkill: create useful userspace interface The new code added by this patch will make rfkill create a misc character device /dev/rfkill that userspace can use to control rfkill soft blocks and get status of devices as well as events when the status changes. Using it is very simple -- when you open it you can read a number of times to get the initial state, and every further read blocks (you can poll) on getting the next event from the kernel. The same structure you read is also used when writing to it to change the soft block of a given device, all devices of a given type, or all devices. This also makes CONFIG_RFKILL_INPUT selectable again in order to be able to test without it present since its functionality can now be replaced by userspace entirely and distros and users may not want the input part of rfkill interfering with their userspace code. We will also write a userspace daemon to handle all that and consequently add the input code to the feature removal schedule. In order to have rfkilld support both kernels with and without CONFIG_RFKILL_INPUT (or new kernels after its eventual removal) we also add an ioctl (that only exists if rfkill-input is present) to disable rfkill-input. It is not very efficient, but at least gives the correct behaviour in all cases. Signed-off-by: Johannes Berg Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 19d337dff95cbf76edd3ad95c0cee2732c3e1ec5 Author: Johannes Berg Date: Tue Jun 2 13:01:37 2009 +0200 rfkill: rewrite This patch completely rewrites the rfkill core to address the following deficiencies: * all rfkill drivers need to implement polling where necessary rather than having one central implementation * updating the rfkill state cannot be done from arbitrary contexts, forcing drivers to use schedule_work and requiring lots of code * rfkill drivers need to keep track of soft/hard blocked internally -- the core should do this * the rfkill API has many unexpected quirks, for example being asymmetric wrt. alloc/free and register/unregister * rfkill can call back into a driver from within a function the driver called -- this is prone to deadlocks and generally should be avoided * rfkill-input pointlessly is a separate module * drivers need to #ifdef rfkill functions (unless they want to depend on or select RFKILL) -- rfkill should provide inlines that do nothing if it isn't compiled in * the rfkill structure is not opaque -- drivers need to initialise it correctly (lots of sanity checking code required) -- instead force drivers to pass the right variables to rfkill_alloc() * the documentation is hard to read because it always assumes the reader is completely clueless and contains way TOO MANY CAPS * the rfkill code needlessly uses a lot of locks and atomic operations in locked sections * fix LED trigger to actually change the LED when the radio state changes -- this wasn't done before Tested-by: Alan Jenkins Signed-off-by: Henrique de Moraes Holschuh [thinkpad] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0f6399c4c525b518644a9b09f8d6fb125a418c4d Author: Bob Copeland Date: Tue Jun 2 00:05:04 2009 -0400 nl80211: use GFP_ATOMIC for michael mic failure message nl80211_michael_mic_failure can be called in atomic context but does a GFP_KERNEL allocation. Fixes the error below: [ 126.793225] BUG: sleeping function called from invalid context at mm/slab.c:3055 [ 126.793234] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper [ 126.793241] 2 locks held by swapper/0: [ 126.793246] #0: (&sc->rxbuflock){+.-.+.}, at: [] ath5k_tasklet_rx+0x34/0x55e [ath5k] [ 126.793294] #1: (rcu_read_lock){.+.+.+}, at: [] __ieee80211_rx+0x7e/0x563 [mac80211] [ 126.793342] Pid: 0, comm: swapper Not tainted 2.6.30-rc7-wl #124 [ 126.793347] Call Trace: [ 126.793361] [] ? __debug_show_held_locks+0x1e/0x20 [ 126.793380] [] __might_sleep+0x100/0x107 [ 126.793386] [] kmem_cache_alloc+0x35/0x170 [ 126.793393] [] ? __alloc_skb+0x2e/0x117 [ 126.793397] [] ? mark_held_locks+0x43/0x5b [ 126.793402] [] __alloc_skb+0x2e/0x117 [ 126.793419] [] nl80211_michael_mic_failure+0x2a/0x1fa [cfg80211] [ 126.793425] [] ? trace_hardirqs_on_caller+0xf6/0x130 [ 126.793430] [] ? trace_hardirqs_on+0xb/0xd [ 126.793444] [] cfg80211_michael_mic_failure+0x30/0x38 [cfg80211] [ 126.793463] [] mac80211_ev_michael_mic_failure+0xfd/0x108 [mac80211] [ 126.793480] [] ieee80211_rx_h_michael_mic_verify+0xd4/0x117 [mac80211] [ 126.793499] [] ieee80211_invoke_rx_handlers+0xdde/0x1963 [mac80211] [ 126.793505] [] ? sched_clock+0x3f/0x64 [ 126.793511] [] ? sched_clock+0x3f/0x64 [ 126.793516] [] ? trace_hardirqs_off+0xb/0xd [ 126.793521] [] ? sched_clock+0x3f/0x64 [ 126.793526] [] ? __lock_acquire+0x62c/0x1271 [ 126.793545] [] __ieee80211_rx_handle_packet+0x543/0x564 [mac80211] [ 126.793564] [] __ieee80211_rx+0x4e2/0x563 [mac80211] [ 126.793577] [] ath5k_tasklet_rx+0x4e4/0x55e [ath5k] [ 126.793583] [] ? restore_nocheck_notrace+0x0/0xe [ 126.793589] [] tasklet_action+0x92/0xe5 [ 126.793594] [] __do_softirq+0xb1/0x182 [ 126.793599] [] do_softirq+0x30/0x48 [ 126.793603] [] irq_exit+0x3d/0x74 [ 126.793609] [] do_IRQ+0x76/0x8c [ 126.793613] [] common_interrupt+0x2e/0x34 [ 126.793618] [] ? timer_list_show+0x277/0x939 [ 126.793630] [] ? acpi_idle_enter_bm+0x266/0x291 [processor] [ 126.793636] [] cpuidle_idle_call+0x6a/0x9c [ 126.793640] [] cpu_idle+0x53/0x87 [ 126.793645] [] rest_init+0x6c/0x6e [ 126.793651] [] start_kernel+0x286/0x28b [ 126.793656] [] __init_begin+0x37/0x3c Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6bc61f4d8e2fa3d54017c29b58603e8771158a25 Author: Bing Zhao Date: Mon Jun 1 18:04:36 2009 -0700 libertas: improve function init/shutdown handling for SD8688 This patch is to incorporate Dan Williams' comments for commit: "libertas: implement function init/shutdown commands for SD8688" 1. remove fn_init_required and fn_shutdown_required variables from lbs_private structure. If required, __lbs_cmd() will be called directly to send function init/shutdown command for SD8688 in if_sdio_probe() or if_sdio_remove() callback. 2. add global variable "user_rmmod" to distinguish between the module removal case and the card removal case. This flag will be checked in if_sdio_remove() against SD8688 card to determine whether or not the function shutdown command needs to be sent. 3. remove "card" from if_sdio_model structure as it cannot store card pointers for multiple cards. Besides, it's no longer needed to store the "card" pointer with changes #1 & #2 above. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 328d84fb3614d006254c990a6224ce437147a5ac Author: Samuel Ortiz Date: Wed May 27 10:12:51 2009 +0200 wireless/p54: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch gets rid of the statically allocated p54usb firmware string, and replaces them with const char pointers. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 939cab83ea592fcf4d854563d6c71d813a691872 Author: Samuel Ortiz Date: Tue Jun 2 15:52:20 2009 +0800 iwmc3200wifi: shrink calibration lmac name iwmc3200wifi: trim down calibration firmware name The patch trims down iwmc3200wifi calibration firmware name from iwmc3200wifi-lmac-calib-sdio.bin to iwmc3200wifi-calib-sdio.bin. We can shorten the firmware name because all calibration is done by LMAC. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6d7db193f2097d2f12fdc6b2300439a91a3196be Author: Christian Lamparter Date: Mon Jun 1 22:49:25 2009 +0200 ar9170: cancel led worker properly on exit "[PATCH 3/4 v2] ar9170: fix LED power state handling" revealed a bug which can cause a ugly crash. The delayed worker is canceled before the LED class functions are unregistered... So, if something manages to update the LEDs while unregister routine is running the timer could fire _after_ the module has been unloaded. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 66d008139c61d610f3ade9b46ad610e2cd277fb9 Author: Christian Lamparter Date: Thu May 28 17:04:27 2009 +0200 ar9170usb: more minor fixes This patch contains a few more mostly random fixes for the USB front-end. 1. handle irq command response, instead of printing it to the console. 2. remove fixed FIXME. (real fix: "ar9170usb: reset device on resume". ) 3. some more one-liner. - get rid of a useless "return;" - add a few branch prediction hints in hot-paths etc. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b55d6bcf9b7082ae613e5d532608abcd409164ca Author: Christian Lamparter Date: Sat May 23 20:31:21 2009 +0200 ar9170: fix lockdep warning on hibernate This patch takes care of Johannes' deadlock report by moving the mutex_lock right after cancel_work_sync in ar9170_op_stop. Besides, the janitor does not need to hold the mutex anymore, so this extra lines can be removed as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2431fe9a4b43ccf03589fa661662da6bfbd97282 Author: Christian Lamparter Date: Mon May 25 21:51:19 2009 +0200 ar9170: fix LED power state handling This patch fixes a minor visual bug in the led code, which left the LED in the wrong power state when it was toggled in a _unexpected_ way (e.g: enabling the LED twice). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 95cf8769bba6ea595994f786ea63f7e2948133de Author: Christian Lamparter Date: Sat May 23 20:28:38 2009 +0200 ar9170: kill duplicated HT feature flag This patch removes a redundant flag. .cap = IEEE80211_HT_CAP_MAX_AMSDU | \ > IEEE80211_HT_CAP_SM_PS | \ < [...] \ > IEEE80211_HT_CAP_SM_PS, \ < .ampdu_factor = 3, \ Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 864cc02e7c0ed9a83be0c35c05df1941abcc792d Author: Christian Lamparter Date: Sat May 23 20:28:21 2009 +0200 ar9170: use bitop macros for tx filter flags This patch fixes a bug in configure_filter's (sub-)routines. We never really cleared the flags once we updated the hardware state, so we wasted our resources by applying already active settings. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 29ceff5d58afbb2c98bb748057788f02b8db20e5 Author: Christian Lamparter Date: Mon Jun 1 21:42:01 2009 +0200 ar9170: introduce functions for MAC programming This patch introduces 3 new function which are used to update the MAC state, whenever needed... e.g: after a band switch. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d7433390e49152101c1b31c08e38caf2a05a1169 Author: Christian Lamparter Date: Mon Jun 1 21:41:50 2009 +0200 ar9170: 40mhz fixes This patch replace a few constant magics which may affected the device when operating in a 40MHz channel. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b9ad462e34b6eb8380c8534684326bb395b29c9f Author: Christian Lamparter Date: Mon Jun 1 21:41:36 2009 +0200 ar9170: update hardware definitions This patch only contains a few uncritical updates for the hardware definition header. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f46f0dc3f1e7bda2621617d5a379f8983ad1d5f8 Author: Christian Lamparter Date: Mon Jun 1 21:41:31 2009 +0200 ar9170: fix beacon plcp settings This patch fixes a simple copy & paste error that affected beacon transmission in 802.11a mode. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4c4c671aea16d2795f29c7a369518c3c36e15d2a Author: Johannes Berg Date: Mon Jun 1 14:29:52 2009 +0200 mac80211_hwsim: remove deprecated radio_enabled This removes the use of the deprecated radio_enabled setting and code associated with that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 729e9c7663190d71fe5e29831634df80f38199c1 Author: Luis R. Rodriguez Date: Sun May 31 18:24:34 2009 -0400 cfg80211: fix for duplicate userspace replies This fixes an incorrect assumption (BUG_ON) made in cfg80211 when handling country IE regulatory requests. The assumption was that we won't try to call_crda() twice for the same event and therefore we will not recieve two replies through nl80211 for the regulatory request. As it turns out it is true we don't call_crda() twice for the same event, however, kobject_uevent_env() *might* send the udev event twice and/or userspace can simply process the udev event twice. We remove the BUG_ON() and simply ignore the duplicate request. For details refer to this thread: http://marc.info/?l=linux-wireless&m=124149987921337&w=2 Cc: stable@kernel.org Reported-by: Maxim Levitsky Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3b8bcfd5d31ea0fec58681d035544ace707d2536 Author: Johannes Berg Date: Sat May 30 01:39:53 2009 +0200 net: introduce pre-up netdev notifier NETDEV_UP is called after the device is set UP, but sometimes it is useful to be able to veto the device UP. Introduce a new NETDEV_PRE_UP notifier that can be used for exactly this. The first use case will be cfg80211 denying interfaces to be set UP if the device is known to be rfkill'ed. Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit bdf6d32f933bf28dfdca325281ee5266c753dc67 Author: Luis R. Rodriguez Date: Thu May 28 17:36:05 2009 -0400 ar9170: add AVM FRITZ devices This adds: USB 0x057C:0x8401 AVM FRITZ!WLAN USB Stick N USB 0x057C:0x8402 AVM FRITZ!WLAN USB Stick N 2.4 These devices require the 1-stage firmware, if not present we don't continue. Cc: Peter Grabienski Cc: Stephen Chen Cc: Michael Fortin Cc: Johnny Cheng Cc: Yuan-Gu Wei Cc: Joerg Albert Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c768b58d62d3106f0f670d35d1e7820c14ba769a Author: Luis R. Rodriguez Date: Thu May 28 17:36:04 2009 -0400 ar9170: add support for 1-stage firmware You can get the stage 1 firmware from here: http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/ar9170.fw md5sum: 34feec4ec0eae3bb92c7c1ea2dfb4530 sha1sum: 6e5250498b815c2940d97242de31e054ae44e079 Its license: http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/LICENSE This is a new firmware, tested with WNDA3100. Cc: Peter Grabienski Cc: Stephen Chen Cc: Michael Fortin Cc: Johnny Cheng Cc: Yuan-Gu Wei Cc: Joerg Albert Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 546256fbd06d70a87381020ea8553fb78c9abf43 Author: Jouni Malinen Date: Thu May 28 19:25:28 2009 +0300 ath9k: Add sanity check for beacon_int in adhoc/mesh case It looks like mac80211 can request the driver to start beaconing with a beacon interval of zero in some cases (at least for mesh point). This does not sound correct and something may need to be fixed in mac80211. However, taken into account the unpleasantness of getting stuck in an infinite busy loop with rtnl_lock held, let's add a quick workaround in the driver to avoid the worst symptom while someone more familiar with the mesh implementation can figure out what should be done with mac80211 as far as beacon interval configuration is concerned. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 73ca5203366235f8a43e490767284ba8cfd8c479 Author: Bob Copeland Date: Thu May 28 10:27:37 2009 -0400 ath5k: remove conf->beacon_int usage ieee80211_conf->beacon_int was deprecated and removed in a cleanup patch, however it was accidentally added back to ath5k in the change "ath5k: Allow user/driver to set txpower." Remove it once more, fixing the following warning: [13091.968902] WARNING: at drivers/net/wireless/ath/ath5k/base.c:2167 warn_slowpath_null+0x15/0x1a() [13091.968906] Hardware name: MacBook1,1 [13091.968909] Modules linked in: usb_storage fuse i915 drm af_packet acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_seq_dummy hid_apple arc4 ecb snd_seq_oss snd_seq_midi_event usbhid snd_seq ath5k mac80211 appletouch snd_seq_device snd_pcm_oss snd_mixer_oss sky2 snd_pcm ath processor cfg80211 snd_timer sg ohci1394 snd uhci_hcd bitrev ieee1394 joydev ehci_hcd crc32 snd_page_alloc button ac thermal battery sr_mod applesmc cdrom evdev input_polldev unix [last unloaded: microcode] [13091.968985] Pid: 2132, comm: phy0 Tainted: G W 2.6.30-rc5-wl #118 [13091.968988] Call Trace: [13091.968994] [] warn_slowpath_fmt+0x77/0xa6 [13091.969003] [] ? _spin_unlock+0x2c/0x41 [13091.969008] [] ? _spin_lock_irqsave+0x15/0x69 [13091.969012] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969019] [] ? trace_hardirqs_off+0xb/0xd [13091.969024] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969029] [] ? trace_hardirqs_off+0xb/0xd [13091.969034] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969039] [] warn_slowpath_null+0x15/0x1a [13091.969054] [] ath5k_beacon_update_timers+0x44/0x27f [ath5k] [13091.969059] [] ? vprintk+0x2dd/0x312 [13091.969063] [] ? release_console_sem+0x1a6/0x1d3 [13091.969076] [] ath5k_reset_tsf+0x1d/0x2c [ath5k] [13091.969095] [] __ieee80211_sta_join_ibss+0x35/0x3aa [mac80211] [13091.969102] [] ? extract_entropy+0x47/0x8a [13091.969121] [] ieee80211_sta_find_ibss+0x2de/0x32f [mac80211] [13091.969126] [] ? mutex_lock_nested+0x28b/0x2a5 [13091.969145] [] ? ieee80211_ibss_notify_scan_completed+0x1c/0x6f [mac80211] [13091.969164] [] ieee80211_ibss_notify_scan_completed+0x57/0x6f [mac80211] [13091.969182] [] ieee80211_scan_completed+0x31a/0x33f [mac80211] [13091.969201] [] ieee80211_scan_work+0xcb/0x18b [mac80211] [13091.969207] [] worker_thread+0x1b1/0x28e [13091.969212] [] ? worker_thread+0x16c/0x28e [13091.969230] [] ? ieee80211_scan_work+0x0/0x18b [mac80211] [13091.969237] [] ? autoremove_wake_function+0x0/0x38 [13091.969242] [] ? worker_thread+0x0/0x28e [13091.969246] [] kthread+0x4a/0x70 [13091.971460] [] ? kthread+0x0/0x70 [13091.971467] [] kernel_thread_helper+0x7/0x10 [13091.971470] ---[ end trace 8defaa5d15c50cef ]--- Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 86ab04c8c1df51df7d6d3709da546e0163ac856b Author: Luis R. Rodriguez Date: Wed May 27 22:56:05 2009 -0400 mac80211: handle -EALREADY on cfg80211 op assoc req When the SME requests to associate to an open AP ieee80211_sta_set_extra_ie() can be called with zero IE length. When this happens or when the extra IE has already been set -EALREADY is passed down and the supplicant will complain that the operation is already in progress and it will not let us associate. We correct this by treating -EALREADY from ieee80211_sta_set_extra_ie() as a success just as we do for wext. Cc: Shan.Palanisamy@Atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2c5b9e511fee1a856ffe6332e15c72a20d2c72f6 Author: Cliff Cai Date: Wed May 27 14:03:09 2009 -0400 wireless: libertas: fix unaligned accesses Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Dan Williams Signed-off-by: John W. Linville commit 2493928e4dbefa1869413cf24b7f605b9b69d0d2 Author: Jeff Hansen Date: Wed May 27 12:48:29 2009 +0000 ath9k: Add "debug" file to debugfs This patch adds the debug file to the ath9k debugfs, which lets you modify the debug_mask at runtime, without having to reload the ath9k module. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit bedf087af96a24861d09586ac25c26691300ff4c Author: Jeff Hansen Date: Wed May 27 12:48:28 2009 +0000 ath9k: Combine legacy and 11n rc statistics This patch combines the legacy and 11n rcstats into one, using the normal rate table indices instead of two separate indices for each mode. Legacy rates also get all of the PER and retry information, now, too. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit b74444f8a9039603715973a56df588a5d800c4ef Author: Jeff Hansen Date: Wed May 27 12:48:27 2009 +0000 ath9k: Reset SC_OP_TSF_RESET flag after stuck beacon I have a TrendNet 652-BRP running OpenWRT + ath9k very well. The only problem is that the beacon gets stuck maybe once a day. After Vasanthakumar Thiagarajan's "ath9k: cleanup beacon parameters configuration" patch, ath9k would nearly re-configure the beacons after it detected the stuck beacon, and did a reset. But it would fail the SC_OP_TSF_RESET check in ath_beacon_config_ap. This patch gets the beacon fully reconfigured after the reset. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit 034d655ee7b79a2f48ba4c2b620d2864a6e0aa14 Author: Johannes Berg Date: Wed May 27 10:35:29 2009 +0200 cfg80211: disallow interfering with stations on non-AP (part 2) On non-AP interfaces userspace has no business interfering with the station management, this can confuse mac80211 (and other drivers probably wouldn't support it anyway). Allow adding and removing stations only on AP interfaces. (Reconcile this w/ previous version of patch posted with same subject... -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ba10a8efe501e26d995aa9b6dc13395518a87e4 Author: Johannes Berg Date: Wed May 27 09:41:06 2009 +0200 mac80211: fix transposed min/max CW values I accidentally transposed these in the patch that "fixed" the defaults, leading to extremely low throughput because of the huge min CW. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1bb563334858f48f65b58bab6d10b54080f4ee42 Author: Randy Dunlap Date: Tue May 26 12:17:52 2009 -0700 iwmc3200wifi: fix printk format Fix printk format for size_t variable: drivers/net/wireless/iwmc3200wifi/fw.c:75: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Randy Dunlap Cc: ilw@linux.intel.com Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit b63b0ea2c18bba44c934ec619ba47488553c3aa3 Author: Samuel Ortiz Date: Tue May 26 11:10:46 2009 +0800 iwmc3200wifi: fix fragmentation threshold setting We were sending the fragmentation threshold value to the wrong table, causing an LMAC assert when setting it from wext. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d651ae32789cabfb78bdd1f3467bf034ae267d68 Author: Rami Rosen Date: Sun May 24 20:43:50 2009 +0300 iwlwifi: avoid build warning in iwl-core. When building when CONFIG_IWLWIFI_DEBUG is not set, we get the following warning: /work/src/w/drivers/net/wireless/iwlwifi/iwl-core.c: In function ‘iwl_isr’: /work/src/w/drivers/net/wireless/iwlwifi/iwl-core.c:1707: warning: unused variable ‘inta_fh’ This patch avoids this warning by adding #ifdef CONFIG_IWLWIFI_DEBUG before the declaration of inta_fh in iwl_isr() in drivers/net/wireless/iwlwifi/iwl-core.c Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8fc0fee09245fe740d81aded36f4af6db1054015 Author: Johannes Berg Date: Sun May 24 16:57:19 2009 +0200 cfg80211: use key size constants Instead of hardcoding the key length for validation, use the constants Zhu Yi recently added and add one for AES_CMAC too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 362a415dce2130b0e4cebfc8f8fbd8128baff308 Author: Johannes Berg Date: Sun May 24 16:43:15 2009 +0200 nl80211: bounce scan request back to userspace When a scan finishes only the program that asked for it knows what kind of scan it was; let's tell everybody else about the scan parameters as well so they can evaluate the result of the scan better. Also helps with debugging. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51b50fbeb574f581c0b112e035541f42fa3e604a Author: Johannes Berg Date: Sun May 24 16:42:30 2009 +0200 cfg80211: validate AID of stations being added We have some validation code in mac80211 but said code will force an invalid AID to 0 which isn't a valid AID either; instead require a valid AID (1-2007) to be passed in from userspace in cfg80211 already. Also move the code before the race comment since it can only be executed during STA addition and thus is not racy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6b347bff145f9a8a0972ca8fc3c44dd1f91b0f16 Author: Ivo van Doorn Date: Sat May 23 21:09:28 2009 +0200 rt2x00: Remove last usage of beacon_int from ieee80211_config This removes the last usage of beacon_int inside the iee80211_config structure from rt2x00. The attempt is a bit hackish, and subject to change in the future when the entire rt2x00_dev structure is cleaned up and restructured. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e535c7566e1318ccfa015e297f0309994f7bc078 Author: Johannes Berg Date: Sat May 23 11:18:45 2009 +0200 mac80211: deprecate conf.beacon_int properly Ivo has updated the driver to no longer use the change flag, so we can remove that, but rt2x00 and ath5k still use the actual value so let's mark it as deprecated too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2fa7a98fc96abe431e5d54d97104cdca197391fa Author: Dan Williams Date: Fri May 22 20:09:58 2009 -0400 libertas: fix WPA adhoc network creation Oddly enough, the firmware's JOIN/START commands don't appear to have any facility for setting custom IEs, thus the started adhoc network doesn't advertise its WPA capability in the beacon. Whee! Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 822ac03a07cc9e714727a6d49ea050b92483f82a Author: Dan Williams Date: Fri May 22 20:07:14 2009 -0400 libertas: convert CMD_802_11_ASSOCIATE to a direct command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit be0d76e48f6cc1f8b01eeb5efbeea41f2efdab49 Author: Dan Williams Date: Fri May 22 20:05:25 2009 -0400 libertas: convert CMD_802_11_AUTHENTICATE to a direct command And fix up setting authentication suite for v9+ firmware too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 75b6a61a47353fd404277ae3f2dda03af96a8c1a Author: Dan Williams Date: Fri May 22 20:03:09 2009 -0400 libertas: restyle Marvell & IEEE TLV structure names Easier to read and more conformant with kernel style. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 5fd164e96cb9dc111f75468378de38c67b0fd161 Author: Dan Williams Date: Fri May 22 20:01:21 2009 -0400 libertas: simplify and clean up association/start/join setup Some of the parameters for association/join/start commands aren't used (like the FH and CF IEs for IBSS, and the FH IE for BSS), so get rid of their unions to reduce indirection. Also clean up structure names for kernel style. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d77b034f62d4b8c6c39450d99de224b9b2c5debb Author: Reinette Chatre Date: Fri May 22 14:37:55 2009 -0700 iwlwifi: fix otp access init Polling function returns positive time if polling was needed to read value. This is still success. Signed-off-by: Reinette Chatre CC: Wey-Yi Guy Signed-off-by: John W. Linville commit df29ff379425954cb74b7beb642ca5b43ae557ae Author: Reinette Chatre Date: Fri May 22 14:37:54 2009 -0700 iwlwifi: fix merge error This hunk of code was removed in patch "iwlwifi: do not cancel delayed work inside spin_lock_irqsave" submitted at http://marc.info/?l=linux-wireless&m=124267503030042&w=2 This same patch in this repo does not remove this hunk. Remove it here. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ce2ebc9b8ddac020aa06c83a6d084c34017d835d Author: Ivo van Doorn Date: Fri May 22 21:33:21 2009 +0200 rt2x00: Add new rt2800usb USB ID's new patch to add more usb_dev to rt2800usb.c . IDs 'stolen' from the latest Ralink linux driver(2009_0520_RT3070_Linux_STA_v2.1.1.0.tar.gz) Signed-off-by: Xose Vazquez Perez Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f488b72de5bb2f380c157135922bac3ca1648564 Author: Sebastian Andrzej Siewior Date: Fri May 22 21:19:40 2009 +0200 net/libertas: make SPI interface big endian aware The comment (which I remove) says that the translation is done SPI routines. IMHO this can't work because the SPI driver does not know whether the incomming bytes are part of the registers/bytes which need to be flipped or part of packet data which has to remain untouched. While adding le helpers I also removed spu_write_u32() which has no users. Tested-by: Andrey Yurovsky Signed-off-by: Sebastian Andrzej Siewior Acked-by: Dan Williams Signed-off-by: John W. Linville commit 55aa4e0f16aa55e4b8cbe40b11e09cf029848f02 Author: John W. Linville Date: Mon May 25 21:28:47 2009 +0200 ath5k: avoid leaking mutex in ath5k_config Reported-by: Johannes Berg Signed-off-by: John W. Linville commit eed4dcd443da7a46131ef37c7a389b444905960e Author: Ingo Molnar Date: Wed Jun 3 19:59:24 2009 +0200 perf report: Add front-entry cache for lookups Before: Performance counter stats for './perf report -i perf.data.big': 12453988058 instructions Performance counter stats for './perf report -i perf.data.big': 12379566017 instructions 0.60% reduction. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 44db76c8553c328f4ae02481d77bb3a88ca17645 Author: Ingo Molnar Date: Wed Jun 3 19:36:07 2009 +0200 perf stat: Print out all arguments Before: Performance counter stats for '/home/mingo/hackbench': After: Performance counter stats for '/home/mingo/hackbench 10': Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 85c7859190c4197a7c34066db14c25903c401187 Author: Denis Karpov Date: Thu Jun 4 02:34:22 2009 +0900 FAT: add 'errors' mount option On severe errors FAT remounts itself in read-only mode. Allow to specify FAT fs desired behavior through 'errors' mount option: panic, continue or remount read-only. `mount -t [fat|vfat] -o errors=[panic,remount-ro,continue] \ ` This is analog to ext2 fs 'errors' mount option. Signed-off-by: Denis Karpov Signed-off-by: OGAWA Hirofumi commit e98e96fe43ae92fad0930f05fb2b298e49b9f3b5 Author: Ingo Molnar Date: Wed Jun 3 19:30:38 2009 +0200 perf report: Display 100% correctly Needs to be 6.2 not 5.2, for 100.00% to be aligned properly. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 021e9f476511ebe23d7f45854a52dfe74c09b6ee Author: Ingo Molnar Date: Wed Jun 3 19:27:19 2009 +0200 perf record: Refine capture printout Print out the number of bytes captured, and the (estimated) number of events the output file contains. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit f2521b6e4c365bd0aac61b2c346e6e9f22607e31 Author: Ingo Molnar Date: Wed Jun 3 19:17:25 2009 +0200 perf_counter tools: Clean up old kerneltop references kerneltop has been replaced with perf top - so fix up a few remaining references to it in display text and error messages. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 563af16c30ede41eda2d614195d88e07f7c7103d Author: Steven Rostedt Date: Wed Jun 3 11:10:44 2009 -0400 tracing: add annotation to what type of stack trace is recorded The current method of printing out a stack trace is to add a new line and print out the trace: yum-updatesd-3120 [002] 573.691303: => do_softirq => irq_exit => smp_apic_timer_interrupt => apic_timer_interrupt This looks a bit awkward, and if we have both stack and user stack traces running, it would be nice to have a title to tell them apart, although it is easy to tell by the output. This patch adds an annotation to the start of the stack traces: init-1 [003] 929.304979: => user_path_at => vfs_fstatat => vfs_stat => sys_newstat => system_call_fastpath cat-3459 [002] 1016.824040: => <0000003aae6c0250> => <00007ffff4b06ae4> => <69636172742f6775> Signed-off-by: Steven Rostedt commit 2ba3d76a1e29f2ba64fbc762875cf9fb2d4ba2ba Author: Dmitry Pervushin Date: Sun May 31 18:32:59 2009 +0400 UBI: make gluebi a separate module [Artem: re-worked the patch: made it release resources when the module is unloaded, made it do module referencing, made it really independent on UBI, tested it with the UBI test-suite which can be found in ubi-2.6.git/tests/ubi-tests, re-named most of the funcs/variables to get rid of the "ubi" word and make names consistent.] Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit 05e882f890038c702a4f15d385135d03cf74ad48 Author: Jeremy Huddleston Date: Wed Jun 3 07:29:39 2009 -0700 Input: appletouch - improve finger detection The appletouch driver is prone to reporting multiple fingers when only one is pressing. The appletouch driver queries an array of pressure sensors and counts local maxima in pressure to determine the number of fingers. It just does this on the raw values, so a data stream like: 0 100 250 300 299 300 250 100 0 actually registers as 2 fingers. This patch updates the logic to ignore small dips in pressure that are less than the threshold. Signed-off-by: Jeremy Huddleston Signed-off-by: Dmitry Torokhov commit a86295283063ce23fbefad494c71290caf8eae25 Author: Ping Cheng Date: Tue Jun 2 16:59:58 2009 -0700 Input: wacom - clear Intuos4 wheel data when finger leaves proximity Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 56d8bd3f0b98972312cad683947ec90b21011199 Author: Steven Whitehouse Date: Wed Jun 3 14:52:03 2009 +0100 tracing: fix multiple use of __print_flags and __print_symbolic Here is an updated patch to include the extra call to trace_seq_init() as requested. This is vs. the latest -tip tree and fixes the use of multiple __print_flags and __print_symbolic in a single tracer. Also tested to ensure its working now: mount.gfs2-2534 [000] 235.850587: gfs2_glock_queue: 8.7 glock 1:2 dequeue PR mount.gfs2-2534 [000] 235.850591: gfs2_demote_rq: 8.7 glock 1:0 demote EX to NL flags:DI mount.gfs2-2534 [000] 235.850591: gfs2_glock_queue: 8.7 glock 1:0 dequeue EX glock_workqueue-2529 [000] 235.850666: gfs2_glock_state_change: 8.7 glock 1:0 state EX => NL tgt:NL dmt:NL flags:lDpI glock_workqueue-2529 [000] 235.850672: gfs2_glock_put: 8.7 glock 1:0 state NL => IV flags:I Signed-off-by: Steven Whitehouse LKML-Reference: <1244037123.29604.603.camel@localhost.localdomain> Signed-off-by: Steven Rostedt commit 048dc50c5e7eada19ebabbad70b7966d14283d41 Author: walimis Date: Wed Jun 3 16:01:30 2009 +0800 tracing/events: fix output format of user stack According to "events/ftrace/user_stack/format", fix the output of user stack. before fix: sh-1073 [000] 31.137561: <- <0804e33c> <- <080835c1> after fix: sh-1072 [000] 37.039329: => => <0804e33c> => <080835c1> Signed-off-by: walimis LKML-Reference: <1244016090-7814-3-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit f11b3f4e2932bfdcfc458ab8d1ece62724ceabfc Author: walimis Date: Wed Jun 3 16:01:29 2009 +0800 tracing/events: fix output format of kernel stack According to "events/ftrace/kernel_stack/format", output format of kernel stack should use "=>" instead of "<=". The second problem is that we shouldn't skip the first entry in the stack, although it seems to be duplicated when used in the "function" tracer, but events also use it. If we skip the first one, we will drop the topmost entry of the stack. The last problem is that if the last entry is ULONG_MAX(0xffffffff), we should drop it, otherwise it will print a NULL name line. before fix: sh-1072 [000] 26.957239: sched_process_fork: parent sh:1072 child sh:1073 sh-1072 [000] 26.957262: <= syscall_call <= sh-1072 [000] 26.957744: sched_switch: task sh:1072 [120] (R) ==> sh:1073 [120] sh-1072 [000] 26.957752: <= preempt_schedule <= wake_up_new_task <= do_fork <= sys_clone <= syscall_call <= After fix: sh-1075 [000] 39.791848: sched_process_fork: parent sh:1075 child sh:1076 sh-1075 [000] 39.791871: => sys_clone => syscall_call sh-1075 [000] 39.792713: sched_switch: task sh:1075 [120] (R) ==> sh:1076 [120] sh-1075 [000] 39.792722: => schedule => preempt_schedule => wake_up_new_task => do_fork => sys_clone => syscall_call Signed-off-by: walimis LKML-Reference: <1244016090-7814-2-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit 083a63b48e4dd0a6a2d44216720076dc81ebb255 Author: walimis Date: Wed Jun 3 16:01:28 2009 +0800 tracing/trace_stack: fix the number of entries in the header The last entry in the stack_dump_trace is ULONG_MAX, which is not a valid entry, but max_stack_trace.nr_entries has accounted for it. So when printing the header, we should decrease it by one. Before fix, print as following, for example: Depth Size Location (53 entries) <--- should be 52 ----- ---- -------- 0) 3264 108 update_wall_time+0x4d5/0x9a0 ... 51) 80 80 syscall_call+0x7/0xb ^^^ it's correct. Signed-off-by: walimis LKML-Reference: <1244016090-7814-1-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit ea05b57cc19234d8de9887c8a32c2e58e84b56ba Author: Steven Rostedt Date: Wed Jun 3 09:30:10 2009 -0400 ring-buffer: discard timestamps that are at the start of the buffer Every buffer page in the ring buffer includes its own time stamp. When an event is recorded to the ring buffer with a delta time greater than what can be held in the event header, a time stamp event is created. If the the create timestamp falls over to the next buffer page, it is redundant because the buffer page holds a full time stamp. This patch will try to discard the time stamp when it falls to the start of the next page. This change also fixes a issues with disarding events. If most events are discarded, timestamps will start to creep into the ring buffer. If we do not discard the timestamps then they can fill up the ring buffer over time and waste space. This change will keep time stamps from filling up over another page. If something is recorded in the buffer page, and the rest is filtered, then the time stamps can only fill up to the end of the page. [ Impact: prevent time stamps from filling ring buffer ] Reported-by: Tim Bird Signed-off-by: Steven Rostedt commit edd813bffc62a980bb4fb9b1243f31c1cce78da3 Author: Steven Rostedt Date: Tue Jun 2 23:00:53 2009 -0400 ring-buffer: try to discard unneeded timestamps There are times that a race may happen that we add a timestamp in a nested write. This timestamp would just contain a zero delta and serves no purpose. Now that we have a way to discard events, this patch will try to discard the timestamp instead of just wasting the space in the ring buffer. Signed-off-by: Steven Rostedt commit a2023556409cf7fec5d67a26f7fcfa57c5a4086d Author: Tim Bird Date: Tue Jun 2 17:06:54 2009 -0700 ring-buffer: fix bug in ring_buffer_discard_commit There's a bug in ring_buffer_discard_commit. The wrong pointer is being compared in order to check if the event can be freed from the buffer rather than discarded (i.e. marked as PAD). I noticed this when I was working on duration filtering. The bug is not deadly - it just results in lots of wasted space in the buffer. All filtered events are left in the buffer and marked as discarded, rather than being removed from the buffer to make space for other events. Unfortunately, when I fixed this bug, I got errors doing a filtered function trace. Multiple TIME_EXTEND events pile up in the buffer, and trigger the following loop overage warning in rb_iter_peek(): again: ... if (RB_WARN_ON(cpu_buffer, ++nr_loops > 10)) return NULL; I'm not sure what the best way is to fix this. I don't know if I should extend the loop threshhold, or if I should make the test more complex (ignore TIME_EXTEND events), or just get rid of this loop check completely. Note that if I implement a workaround for this, then I see another problem from rb_advance_iter(). I haven't tracked that one down yet. In general, it seems like the case of removing filtered events has not been working properly, and so some assumptions about buffer invariant conditions need to be revisited. Here's the patch for the simple fix: Compare correct pointer for checking if an event can be freed rather than left as discarded in the buffer. Signed-off-by: Tim Bird LKML-Reference: <4A25BE9E.5090909@am.sony.com> Signed-off-by: Steven Rostedt commit c6ba68a26645dbc5029a9faa5687ebe6fcfc53e4 Author: Vlad Yasevich Date: Mon Jun 1 12:41:15 2009 -0400 sctp: support non-blocking version of the new sctp_connectx() API Prior implementation of the new sctp_connectx() call that returns an association ID did not work correctly on non-blocking socket. This is because we could not return both a EINPROGRESS error and an association id. This is a new implementation that supports this. Originally from Ivan Skytte Jørgensen commit 9919b455fc00c995ef8141848bdc0709ce50bf36 Author: Wei Yongjun Date: Tue May 12 21:52:51 2009 +0800 sctp: fix to choose alternate destination when retransmit ASCONF chunk RFC 5061 Section 5.1 ASCONF Chunk Procedures said: B4) Re-transmit the ASCONF Chunk last sent and if possible choose an alternate destination address (please refer to [RFC4960], Section 6.4.1). An endpoint MUST NOT add new parameters to this chunk; it MUST be the same (including its Sequence Number) as the last ASCONF sent. An endpoint MAY, however, bundle an additional ASCONF with new ASCONF parameters with the next Sequence Number. For details, see Section 5.5. This patch fix to choose an alternate destination address when re-transmit the ASCONF chunk, with some dup codes cleanup. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit d48e074dfdada552fa53f5eab807540f352e0d5d Author: Jean-Mickael Guerin Date: Wed May 13 00:03:20 2009 +0200 sctp: fix sack_timeout sysctl min and max types sctp_sack_timeout is defined as int, but the sysctl's maxsize is set to sizeof(long) and the min/max are defined as long. Signed-off-by: jean-mickael.guerin@6wind.com Signed-off-by: Vlad Yasevich commit 10a43cea7da841cf85a778a1a4d367fb2de7cbce Author: Wei Yongjun Date: Sun Apr 26 23:14:42 2009 +0800 sctp: fix panic when T4-rto timer expire on removed transport If T4-rto timer is expired on a removed transport, kernel panic will occur when we do failure management on that transport. You can reproduce this use the following sequence: Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) <----------------- ASCONF (SRC=X) ASCONF -----------------> (Delete IP Address = X) <----------------- ASCONF-ACK (Success Indication) <----------------- ASCONF (T4-rto timer expire) This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 6345b19985e9f3ec31b61720de01806e3ef680fe Author: Wei Yongjun Date: Sun Apr 26 23:13:35 2009 +0800 sctp: fix panic when T2-shutdown timer expire on removed transport If T2-shutdown timer is expired on a removed transport, kernel panic will occur when we do failure management on that transport. You can reproduce this use the following sequence: Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) <----------------- SHUTDOWN (SRC=X) ASCONF -----------------> (Delete IP Address = X) <----------------- ASCONF-ACK (Success Indication) <----------------- SHUTDOWN (T2-shutdown timer expire) This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a2c395846cf6abfdda3c04a19a0982adbb6469c2 Author: Wei Yongjun Date: Tue Apr 7 16:35:11 2009 +0800 sctp: fix to only enable IPv6 address support on PF_INET6 socket If socket is create by PF_INET type, it can not used IPv6 address to send/recv DATA. So only enable IPv6 address support on PF_INET6 socket. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 4553e88d876e7eb29db3e8f632101398900d2194 Author: Wei Yongjun Date: Tue Apr 7 16:36:14 2009 +0800 sctp: fix a typo in net/sctp/sm_statetable.c Just fix a typo in net/sctp/sm_statetable.c. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 945e5abceef8bdb85d8455e7f9a3cd647dd8b156 Author: Wei Yongjun Date: Thu Apr 16 14:21:02 2009 +0800 sctp: fix the error code when ASCONF is received with invalid address Use Unresolvable Address error cause instead of Invalid Mandatory Parameter error cause when process ASCONF chunk with invalid address since address parameters are not mandatory in the ASCONF chunk. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a987f762cafb25c0fedf88f15e328edd897210ed Author: Wei Yongjun Date: Tue Apr 7 15:44:29 2009 +0800 sctp: fix report unrecognized parameter in ACSONF-ACK RFC5061 Section 5.2. Upon Reception of an ASCONF Chunk V2) In processing the chunk, the receiver should build a response message with the appropriate error TLVs, as specified in the Parameter type bits, for any ASCONF Parameter it does not understand. To indicate an unrecognized parameter, Cause Type 8 should be used as defined in the ERROR in Section 3.3.10.8, [RFC4960]. The endpoint may also use the response to carry rejections for other reasons, such as resource shortages, etc., using the Error Cause TLV and an appropriate error condition. So we should indicate an unrecognized parameter with error SCTP_ERROR_UNKNOWN_PARAM in ACSONF-ACK chunk, not SCTP_ERROR_INV_PARAM. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a84db7949eab7a42e715192f62c55c554e195e54 Author: Wei Yongjun Date: Tue Apr 7 15:41:39 2009 +0800 sctp: fix error cause codes of ADD-IP extension RFC5061 had changed the error cause codes for Dynamic Address Reconfiguration As the following: Cause Code Value Cause Code --------- ---------------- 0x00A0 Request to Delete Last Remaining IP Address 0x00A1 Operation Refused Due to Resource Shortage 0x00A2 Request to Delete Source IP Address 0x00A3 Association Aborted Due to Illegal ASCONF-ACK 0x00A4 Request Refused - No Authorization This patch fix the error cause codes. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit c878b7d60418a45c36d99c2dc876ebb76035d404 Author: Mark Jackson Date: Wed Jun 3 11:16:38 2009 +0100 Fix MIMC200 board LCD init This patch updates the LCD init code for the MIMC200 board. V2 fixes a .yres typo and corrects an incorrect setup value in the call to at32_add_device_lcdc() Without this patch, the lcd setup is wrong and won't display images correctly (if at all !!) Signed-off-by: Mark Jackson Signed-off-by: Haavard Skinnemoen commit a96bbc16418bc691317f265d6bf98ba941ca9c1a Author: Peter Zijlstra Date: Wed Jun 3 14:01:36 2009 +0200 perf_counter: Fix race in counter initialization We need the PID namespace and counter ID available when the counter overflows and we need to generate a sample event. [ Impact: fix kernel crash with high-frequency sampling ] Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: [ fixed a further crash and cleaned up the initialization a bit ] Signed-off-by: Ingo Molnar commit 8229289b607682f90b946ad2c319526303c17700 Author: Peter Zijlstra Date: Wed Jun 3 12:37:36 2009 +0200 perf report: Fix comm sorting Since we can (and do) change comm strings during the collection phase, we cannot actually sort on them to build the histogram. Therefore add an (optional) third sorting phase to collapse the histrogram. Comm sorting now builds the histrogram on threads and then in the collapse phase collects all threads with the same comm. This collapsed histogram is then reversed and sorted on events. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit e61078a0c88773d3465b0b9d665c5ed6b952b1cf Author: Peter Zijlstra Date: Wed Jun 3 11:24:33 2009 +0200 perf record: Use long arg for counter period I wrote this to test the extended period emulation, we might as well merge it. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 226f62fdd53d5b2c74e242aa11f6ad43d0285d3f Author: Peter Zijlstra Date: Wed Jun 3 11:23:56 2009 +0200 perf_counter: Add a comm hook for pure fork()s I noticed missing COMM events and found that we missed reporting them for pure forks. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0e2595cdfd7df9f1128f7185152601ae5417483b Author: Cliff Wickman Date: Wed May 20 08:10:57 2009 -0500 x86: Fix UV BAU activation descriptor init The UV tlb shootdown code has a serious initialization error. An array of structures [32*8] is initialized as if it were [32]. The array is indexed by (cpu number on the blade)*8, so the short initialization works for up to 4 cpus on a blade. But above that, we provide an invalid opcode to the hub's broadcast assist unit. This patch changes the allocation of the array to use its symbolic dimensions for better clarity. And initializes all 32*8 entries. Shortened 'UV_ACTIVATION_DESCRIPTOR_SIZE' to 'UV_ADP_SIZE' per Ingo's recommendation. Tested on the UV simulator. Signed-off-by: Cliff Wickman Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit f692fce0cf8625b6cc8678e802fb0e2e657b1ca6 Author: Cliff Cai Date: Tue Jun 2 00:18:54 2009 -0400 ASoC: SSM2602: assign last substream to the master when shutting down Fixes crash when shutting down. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit cf485da15a3b507c7dab42337639e4f4025d3373 Author: Sonic Zhang Date: Tue Jun 2 00:18:57 2009 -0400 ASoC: Blackfin: document how anomaly 05000250 is handled Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 80d5bd93143439aff77fd246f5d06570b7a4641e Author: Cliff Cai Date: Tue Jun 2 00:18:56 2009 -0400 ASoC: Blackfin: set the transfer size according the ac97_frame size Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 2552a710f4b991136c650bf2a6d1b81f27f6273e Author: Cliff Cai Date: Tue Jun 2 00:18:53 2009 -0400 ASoC: SSM2602: remove unsupported sample rates Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 047584ce94108012288554a5f84585d792cc7f8f Author: Haiying Wang Date: Tue Jun 2 04:04:15 2009 +0000 net/ucc_geth: Add SGMII support for UEC GETH driver Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit fbcc0e2ce5a4fde63c7f33153bd7e3a4791e01c8 Author: Haiying Wang Date: Tue Jun 2 04:04:14 2009 +0000 fsl_pq_mido: Set the first UCC as the mii management interface master Current code makes the UCC whose register range includes the current mdio register to be the MII managemnt interface master of the QE. If there is more than one mdio bus for QE, the UCC of the last mdio bus will be the MII management interface master which will make the primary mdio bus working unproperly, e.g. can not get the right clock. Normally the primary mdio bus is the first UEC's mdio bus. This patch allows the first UCC to be the MII management interface master of the multiple UCC mdio buses. Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit 32d0c1e1bee16781e94c7ea8c75499696bce0a33 Author: Haiying Wang Date: Tue Jun 2 04:04:13 2009 +0000 net/phy/marvell: update m88e1111 support for SGMII mode Disable fiber/copper auto selection for Marvell m88e1111 SGMII support. Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit e5b9215ef9a274eb9fb65f6aa4602ad82d10a6cb Author: Eric Dumazet Date: Tue Jun 2 05:20:21 2009 +0000 net: skb cleanup Can remove anonymous union now it has one field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit adf30907d63893e4208dfe3f5c88ae12bc2f25d5 Author: Eric Dumazet Date: Tue Jun 2 05:19:30 2009 +0000 net: skb->dst accessors Define three accessors to get/set dst attached to a skb struct dst_entry *skb_dst(const struct sk_buff *skb) void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst) void skb_dst_drop(struct sk_buff *skb) This one should replace occurrences of : dst_release(skb->dst) skb->dst = NULL; Delete skb->dst field Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 511c3f92ad5b6d9f8f6464be1b4f85f0422be91a Author: Eric Dumazet Date: Tue Jun 2 05:14:27 2009 +0000 net: skb->rtable accessor Define skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb Delete skb->rtable field Setting rtable is not allowed, just set dst instead as rtable is an alias. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dfbf97f3ac980b69dfbc41c83a208211a38443e8 Author: Eric Dumazet Date: Tue Jun 2 05:13:45 2009 +0000 net: add _skb_dst opaque field struct sk_buff uses one union to define dst and rtable fields. We want to replace direct access to these pointers by accessors. First patch adds a new "unsigned long _skb_dst;" opaque field in this union. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dcd945e0d8a6d654e3e1de51faea9f98f1504aa5 Author: Paul Mackerras Date: Wed Jun 3 19:40:36 2009 +1000 perf_counter: powerpc: Fix race causing "oops trying to read PMC0" errors When using interrupting counters and limited (non-interrupting) counters at the same time, it's possible that we get an interrupt in write_mmcr0() after writing MMCR0 but before we have set up the counters using limited PMCs. What happens then is that we get into perf_counter_interrupt() with counter->hw.idx = 0 for the limited counters, leading to the "oops trying to read PMC0" error message being printed. This fixes the problem by making perf_counter_interrupt() robust against counter->hw.idx being zero (the counter is just ignored in that case) and also by changing write_mmcr0() to write MMCR0 initially with the counter overflow interrupt enable bits masked (set to 0). If the MMCR0 value requested by the caller has either of those bits set, we write MMCR0 again with the requested value of those bits after setting up the limited counters properly. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: <18982.17684.138182.954599@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6984efb692e97ce5f75f26e595685c04c2061bac Author: Paul Mackerras Date: Wed Jun 3 19:38:58 2009 +1000 perf_counter: powerpc: Fix event alternative code generation on POWER5/5+ Commit ef923214 ("perf_counter: powerpc: use u64 for event codes internally") introduced a bug where the return value from function find_alternative_bdecode gets put into a u64 variable and later tested to see if it is < 0. The effect is that we get extra, bogus event code alternatives on POWER5 and POWER5+, leading to error messages such as "oops compute_mmcr failed" being printed and counters not counting properly. This fixes it by using s64 for the return type of find_alternative_bdecode and for the local variable that the caller puts the value in. It also makes the event argument a u64 on POWER5+ for consistency. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: <18982.17586.666132.90983@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3be8c940a64009afc484c380cb0f8f4a07136519 Author: Bruce Allan Date: Tue Jun 2 11:29:56 2009 +0000 e1000e: bump the version number Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 37289d9c1e72a186ea5f28bee79efeb1d4e7309c Author: Bruce Allan Date: Tue Jun 2 11:29:37 2009 +0000 e1000e: workaround a Tx hang on 82577/82578 With bi-directional stress traffic, the receiver could hang causing the hardware to stop and a "Detected Tx Unit Hang" message dumped to the system logfile. Temporarily workaround this issue by disabling Tx flow control by default. The issue is currently being investigated and a follow-on patch will be provided to revert this when it is resolved. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a4f58f5455ba0efda36fb33c37074922d1527a10 Author: Bruce Allan Date: Tue Jun 2 11:29:18 2009 +0000 e1000e: add support for 82577/82578 GbE LOM parts This patch provides support for the next generation Intel desktop and mobile gigabit ethernet LOM adapters. These adapters are the follow-on parts to the LOMs tied to the prior ICH chipsets and are comprised of a MAC in the PCH chipset and an external PHY (82577 for mobile and 82578 for desktop versions). New features consist of PHY wakeup to save power by completely turning off the MAC while in Sx state, and 4K jumbo frames. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2adc55c959940fc680074392eddbd5585a76f3d9 Author: Bruce Allan Date: Tue Jun 2 11:28:58 2009 +0000 e1000e: specify max supported frame size in adapter struct By putting the maximum frame size supported by the hardware into the adapter structure, the change_mtu entry point function can be cleaned up of checks for all the different max frame sizes supported by Signed-off-by: David S. Miller commit 3ec2a2b80f3eb53851fe4cef9e65b5d33376ef89 Author: Bruce Allan Date: Tue Jun 2 11:28:39 2009 +0000 e1000e: correct flow control thresholds The flow control thresholds, i.e. high and low watermarks of the Rx FIFO for when the hardware should transmit PAUSE frames (XON and XOFF, respectively), need to be tuned for more efficient use of the FIFO. The logic to set the thresholds for parts that support early-receive (ERT) was also wrong in that it should check whether jumbo frames are in use. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 918d7197aa18a562eb7dc37b80a87e9ff1d7f7d9 Author: Bruce Allan Date: Tue Jun 2 11:28:20 2009 +0000 e1000e: do not attempt to disable smart powerdown if not supported During reset, the driver was attempting to disable the Smart Powerdown feature even if the part does not support Smart Powerdown. Check for support before attempting to disable the feature. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e50912a442947d5fafd296ca6fdcbeb36b163ff Author: Bruce Allan Date: Tue Jun 2 11:28:01 2009 +0000 e1000e: enable CRC stripping by default CRC stripping should be enabled by default but was not if it was not specified as a module parameter. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aefa1c6e7b76fc428770fede6e8b86587fc2ce09 Author: Fabio Estevam Date: Tue Jun 2 17:24:16 2009 -0700 MX35: Add basic support for MX35PDK board Add basic support for MX35PDK board (www.freescale.com/imx35pdk). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit b2f8f7525c8aa1fdd8ad8c72c832dfb571d5f768 Merge: d455e5b 12186be Author: David S. Miller Date: Wed Jun 3 02:43:41 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/forcedeth.c commit c076b9937f4912ffc09b30e155fe5246f002f21a Author: Ben Nizette Date: Wed Jun 3 11:38:20 2009 +0200 avr32: Fix clash in ATMEL_USART_ flags At the moment ATMEL_USART_{RTS,CTS,CLK} have the values 1, 2 and 3 respectively. Given these are used in bitmasks, trying to turn on the CLK line will in fact turn on the RTS and CTS lines as well. Change the value of ATMEL_USART_CLK to 4. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 08ced854fc4a979d9e59ba01000bf96e7057cfbc Author: Alexander Clouter Date: Wed Jun 3 19:28:03 2009 +1000 hwrng: timeriomem - Fix potential oops (request_mem_region/__devinit) Fixed oops when calling device_unregister followed by device_register (changing __init to __devinit) and removed request_mem_region() as platform_device_register already does this which can result in EBUSY Signed-off-by: Alexander Clouter Signed-off-by: Herbert Xu commit e09f9446b94ac64b27d37e98c1110f29d712cdad Author: Steven Whitehouse Date: Wed Jun 3 10:07:44 2009 +0100 GFS2: Remove unused variable Signed-off-by: Steven Whitehouse commit ed966aac335a63083d3125198479447248637d9e Author: Ingo Molnar Date: Wed Jun 3 10:39:26 2009 +0200 perf report: Handle vDSO symbols properly We were not looking up vDSO symbols properly, because they are in the kallsyms but are user-mode entries. Pass negative addresses to the kernel dso object, this way we resolve them properly: 0.05% [kernel]: vread_tsc Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 367d04c4ec02dad34d80452e32e3370db7fb6fee Author: Jiri Slaby Date: Thu May 28 09:54:48 2009 +0200 amd_iommu: fix lock imbalance In alloc_coherent there is an omitted unlock on the path where mapping fails. Add the unlock. [ Impact: fix lock imbalance in alloc_coherent ] Signed-off-by: Jiri Slaby Cc: Joerg Roedel Signed-off-by: Joerg Roedel commit e34d5c1a4f9919a81b4ea4591d7383245f35cb8e Author: Pablo Neira Ayuso Date: Wed Jun 3 10:32:06 2009 +0200 netfilter: conntrack: replace notify chain by function pointer This patch removes the notify chain infrastructure and replace it by a simple function pointer. This issue has been mentioned in the mailing list several times: the use of the notify chain adds too much overhead for something that is only used by ctnetlink. This patch also changes nfnetlink_send(). It seems that gfp_any() returns GFP_KERNEL for user-context request, like those via ctnetlink, inside the RCU read-side section which is not valid. Using GFP_KERNEL is also evil since netlink may schedule(), this leads to "scheduling while atomic" bug reports. Signed-off-by: Pablo Neira Ayuso commit 5352f35d6ae7b8b981d77137fb268bc54d10624f Author: Ingo Molnar Date: Wed Jun 3 10:07:39 2009 +0200 perf report: Improve sort key recognition - allow case-insensitive tokens - such as --sort Comm,Symbol - allow substring shortcuts: --sort sym - detect invalid tokens and bail out Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3502973d005ed89cc2b3f39780813a341ddba97f Author: Ingo Molnar Date: Wed Jun 3 09:38:58 2009 +0200 perf report: Print -D to stdout -D prints to stderr - which is a bit confusing - print to stdout instead. Also clean up the if (dump_trace) patterns via a dprintf helper. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8ce998d6693bd02ab3b74ee1cc303ecb1fa9b514 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 00:54:33 2009 -0300 perf_counter tools: Cover PLT symbols too PLT, the Program Linking Table, is used with the dynamic linker to allow PIC code in executables and shared objects to figure out where functions are in other shared objects. It is one of the sources of unknown/unresolved symbols - this patch does what binutils figures out when you ask it to disassembly. (objdump -S) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit a32881066e58346f2901afe0ebdfbf0c562877e5 Author: Yong Wang Date: Wed Jun 3 13:12:55 2009 +0800 perf_counter/x86: Remove the IRQ (non-NMI) handling bits Remove the IRQ (non-NMI) handling bits as NMI will be used always. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090603051255.GA2791@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit a05c0205ba031c01bba33a21bf0a35920eb64833 Author: Martin K. Petersen Date: Wed Jun 3 09:33:18 2009 +0200 block: Fix bounce limit setting in DM blk_queue_bounce_limit() is more than a wrapper about the request queue limits.bounce_pfn variable. Introduce blk_queue_bounce_pfn() which can be called by stacking drivers that wish to set the bounce limit explicitly. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 3e1e0a5dd539f83438078759c8642c5dd7c24cb6 Author: Takashi Iwai Date: Wed Jun 3 08:13:15 2009 +0200 ALSA: powermac - Replace the rest of __init* All __initdata should be __devinitdata as platform device is hotpluggable. Signed-off-by: Takashi Iwai commit 5c9b6e9e618868ac66d92c81b70ad57d82033d4e Author: Stephen Rothwell Date: Wed Jun 3 15:35:19 2009 +1000 ALSA: sound/ppc: update annotations of serveral functions [I am not sure if this is the correct approach as I don't know if any of this actual hardware or drivers are really hot pluggable.] Gets rid of these build warnings: WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_new(). If .snd_pmac_new is only used by .snd_pmac_probe then annotate .snd_pmac_new with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_burgundy_init(). If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then annotate .snd_pmac_burgundy_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_daca_init(). If .snd_pmac_daca_init is only used by .snd_pmac_probe then annotate .snd_pmac_daca_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_tumbler_init(). If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then annotate .snd_pmac_tumbler_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_tumbler_post_init(). If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then annotate .snd_pmac_tumbler_post_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_awacs_init(). If .snd_pmac_awacs_init is only used by .snd_pmac_probe then annotate .snd_pmac_awacs_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_pcm_new(). If .snd_pmac_pcm_new is only used by .snd_pmac_probe then annotate .snd_pmac_pcm_new with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_attach_beep(). If .snd_pmac_attach_beep is only used by .snd_pmac_probe then annotate .snd_pmac_attach_beep with a matching annotation. Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit ca85b6ba59b69b7b5adcc64a98bd2478f73b2542 Author: Andrea Borgia Date: Tue Jun 2 19:21:17 2009 +0200 ALSA: usb-audio - errata corrige for quirk Cut'n'paste mistake, whose likely result was nothing at all. Correct version is "USB_DEVICE", not "USB_DEVICE_VENDOR_SPEC". Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 6799687a53a28536fd027ccb644833f66a778925 Author: Mike Galbraith Date: Tue Jun 2 08:23:58 2009 +0200 x86, boot: add new generated files to the appropriate .gitignore files git status complains of untracked (generated) files in arch/x86/boot.. # Untracked files: # (use "git add ..." to include in what will be committed) # # ../../arch/x86/boot/compressed/mkpiggy # ../../arch/x86/boot/compressed/piggy.S # ../../arch/x86/boot/compressed/vmlinux.lds # ../../arch/x86/boot/voffset.h # ../../arch/x86/boot/zoffset.h ..so adjust .gitignore files accordingly. Signed-off-by: Mike Galbraith Signed-off-by: H. Peter Anvin commit 7d2948b1248109dbc7f4aaf9867c54b1912d494c Author: Tetsuo Handa Date: Tue Jun 2 20:42:24 2009 +0900 TOMOYO: Simplify policy reader. We can directly assign the result of tomoyo_io_printf() to done flag. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit ab588ccadc80f6ef5495e83e176e88c5c0fc2d0e Author: Tetsuo Handa Date: Tue Jun 2 14:23:39 2009 +0900 TOMOYO: Remove redundant markers. Remove '/***** START/STOP *****/' markers. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 850b0cee165576f969363a8c52021b5cf9ecbe67 Author: Eric Paris Date: Tue Jun 2 17:01:16 2009 -0400 SELinux: define audit permissions for audit tree netlink messages Audit trees defined 2 new netlink messages but the netlink mapping tables for selinux permissions were not set up. This patch maps these 2 new operations to AUDIT_WRITE. Signed-off-by: Eric Paris Signed-off-by: James Morris commit addc2785ce92ff05da8edf18317b6b4719e10d9f Author: Ingo Molnar Date: Tue Jun 2 23:43:11 2009 +0200 perf record: Print out the number of events captured It makes sense to inform the user about how many events perf record has written - so that the sufficiency of profiling coverage and intensity can be determined at a glance. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit bf9e187637ca3d85cee7407e3af93995868cc87c Author: Ingo Molnar Date: Tue Jun 2 23:37:05 2009 +0200 perf_counter tools: Make source code headers more coherent The perf commands had different ways of describing themselves, introduce a coherent command-file-header format taken from the Git project. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0a520c63e1625b92ef775da40192e1542910e7f6 Author: Ingo Molnar Date: Tue Jun 2 23:24:45 2009 +0200 perf report: Print more info instead of entries Sometimes we still fail to find a DSO or look up a symbol, print out the raw information in this case (which an help debug the problem), instead of a not very helpful string. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3cf165fc2e7f221a7a95098b47eb990779e29f5f Author: Ingo Molnar Date: Tue Jun 2 23:02:59 2009 +0200 perf record: Increase mmap buffering default I've run into mmap overruns with the current 16 pages default, increase it to 128 pages. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit abaff32a03e26e5d6674cb2a26ad882efe7493a3 Author: Ingo Molnar Date: Tue Jun 2 22:59:57 2009 +0200 perf record: Add --append option Allow incremental profiling via 'perf record -A' - this will append to an existing perf.data. Also reorder perf record options by utility / likelyhood of usage. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 84047e360af0394ac5861d433f26bbcf30f77dd1 Author: Steven Rostedt Date: Tue Jun 2 16:51:55 2009 -0400 function-graph: always initialize task ret_stack On creating a new task while running the function graph tracer, if we fail to allocate the ret_stack, and then fail the fork, the code will free the parent ret_stack. This is because the child duplicated the parent and currently points to the parent's ret_stack. This patch always initializes the task's ret_stack to NULL. [ Impact: prevent crash of parent on low memory during fork ] Signed-off-by: Steven Rostedt commit f7e8b616ed1cc6f790b82324bce8a2a60295e5c2 Author: Steven Rostedt Date: Tue Jun 2 16:39:48 2009 -0400 function-graph: move initialization of new tasks up in fork When the function graph tracer is enabled, all new tasks must allocate a ret_stack to place the return address of functions. This is because the function graph tracer will replace the real return address with a call to the tracing of the exit function. This initialization happens in fork, but it happens too late. If fork fails, then it will call free_task and that calls the freeing of this ret_stack. But before initialization happens, the new (failed) task points to its parents ret_stack. If a fork failure happens during the function trace, it would be catastrophic for the parent. Also, there's no need to call ftrace_graph_exit_task from fork, since it is called by free_task which fork calls on failure. [ Impact: prevent crash during failed fork running function graph tracer ] Signed-off-by: Steven Rostedt commit cf25c63c609e99bfb9303b68a7a90a56a3a32cea Author: Ingo Molnar Date: Tue Jun 2 22:12:14 2009 +0200 perf report: Fix column width/alignment of dsos Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 436224a6d8bb3e29fe0cc18122f8d1f593da67b8 Author: Peter Zijlstra Date: Tue Jun 2 21:02:36 2009 +0200 perf report: Separate out idle threads Introduce the special comm name [idle] for idle theads. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c70975bc8d5bac487616785f5d5bc7b090dfa2d9 Author: Peter Zijlstra Date: Tue Jun 2 17:38:21 2009 +0200 perf_counter tools: Fix up the ABI shakeup Signed-off-by: Peter Zijlstra LKML-Reference: Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 0d48696f87e3618b0d35bd3e4e9d7c188d51e7de Author: Peter Zijlstra Date: Tue Jun 2 19:22:16 2009 +0200 perf_counter: Rename perf_counter_hw_event => perf_counter_attr The structure isn't hw only and when I read event, I think about those things that fall out the other end. Rename the thing. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 08247e31ca79b8f02cce47b7e8120797a8726606 Author: Peter Zijlstra Date: Tue Jun 2 16:46:57 2009 +0200 perf_counter: Add ioctl for changing the sample period/frequency Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8e3747c13c39246c7e46def7cf495d9d21d4c5f9 Author: Peter Zijlstra Date: Tue Jun 2 16:16:02 2009 +0200 perf_counter: Change data head from u32 to u64 Since some people worried that 4G might not be a large enough as an mmap data window, extend it to 64 bit for capable platforms. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca Author: Peter Zijlstra Date: Tue Jun 2 16:08:20 2009 +0200 perf_counter: x86: Emulate longer sample periods Do as Power already does, emulate sample periods up to 2^63-1 by composing them of smaller values limited by hardware capabilities. Only once we wrap the software period do we generate an overflow event. Just 10 lines of new code. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8a016db386195b193e2a8aeddff9fe937dcb7a40 Author: Peter Zijlstra Date: Tue Jun 2 15:27:45 2009 +0200 perf_counter: Remove the last nmi/irq bits IRQ (non-NMI) sampling is not used anymore - remove the last few bits. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit b23f3325ed465f1bd914384884269af0d106778c Author: Peter Zijlstra Date: Tue Jun 2 15:13:03 2009 +0200 perf_counter: Rename various fields A few renames: s/irq_period/sample_period/ s/irq_freq/sample_freq/ s/PERF_RECORD_/PERF_SAMPLE_/ s/record_type/sample_type/ And change both the new sample_type and read_format to u64. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1 Author: Peter Zijlstra Date: Tue Jun 2 15:08:15 2009 +0200 perf_counter: Add unique counter id Stephan raised the issue that we currently cannot distinguish between similar counters within a group (PERF_RECORD_GROUP uses the config value as identifier). Therefore, generate a new ID for each counter using a global u64 sequence counter. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 53e111a730ea8b002d57dd226098c12789993329 Author: Peter Zijlstra Date: Tue Jun 2 17:01:58 2009 +0200 x86: Fix atomic_long_xchg() on 64bit Apparently I'm the first to use it :-) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 29c2810276fbf8419c9b4d942b99c873e9b7640a Author: Peter Zijlstra Date: Tue Jun 2 15:56:26 2009 +0200 perf_counter tools: Remove the last nmi bits Everything is nmi these days, remove the userspace bits so that the kernel can drop the interface. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 26c01624a2a40f8a4ddf6449b65c9b1c418d0e72 Author: Steven Rostedt Date: Tue Jun 2 14:01:19 2009 -0400 function-graph: add memory barriers for accessing task's ret_stack The code that handles the tasks ret_stack allocation for every task assumes that only an interrupt can cause issues (even though interrupts are disabled). In reality, the code is allocating the ret_stack for tasks that may be running on other CPUs and there are not efficient memory barriers to handle this case. [ Impact: prevent crash due to using of uninitialized ret_stack variables ] Signed-off-by: Steven Rostedt commit 82310a3272d5a2a7652f5649ad8a55f58c8f74d9 Author: Steven Rostedt Date: Tue Jun 2 12:26:07 2009 -0400 function-graph: enable the stack after initialization of other variables The function graph tracer checks if the task_struct has ret_stack defined to know if it is OK or not to use it. The initialization is done for all tasks by one process, but the idle tasks use the same initialization used by new tasks. If an interrupt happens on an idle task that just had the ret_stack created, but before the rest of the initialization took place, then we can corrupt the return address of the functions. This patch moves the setting of the task_struct's ret_stack to after the other variables have been initialized. [ Impact: prevent kernel panic on idle task when starting function graph ] Signed-off-by: Steven Rostedt commit 17e6e4eac070607a35464ea7e2c5eceac32e5eca Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:46 2009 +0200 netfilter: conntrack: simplify event caching system This patch simplifies the conntrack event caching system by removing several events: * IPCT_[*]_VOLATILE, IPCT_HELPINFO and IPCT_NATINFO has been deleted since the have no clients. * IPCT_COUNTER_FILLING which is a leftover of the 32-bits counter days. * IPCT_REFRESH which is not of any use since we always include the timeout in the messages. After this patch, the existing events are: * IPCT_NEW, IPCT_RELATED and IPCT_DESTROY, that are used to identify addition and deletion of entries. * IPCT_STATUS, that notes that the status bits have changes, eg. IPS_SEEN_REPLY and IPS_ASSURED. * IPCT_PROTOINFO, that reports that internal protocol information has changed, eg. the TCP, DCCP and SCTP protocol state. * IPCT_HELPER, that a helper has been assigned or unassigned to this entry. * IPCT_MARK and IPCT_SECMARK, that reports that the mark has changed, this covers the case when a mark is set to zero. * IPCT_NATSEQADJ, to report that there's updates in the NAT sequence adjustment. Signed-off-by: Pablo Neira Ayuso commit 6bfea1984aea86089907caf8974513c2402a3b3d Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:44 2009 +0200 netfilter: conntrack: remove events flags from userspace exposed file This patch moves the event flags from linux/netfilter/nf_conntrack_common.h to net/netfilter/nf_conntrack_ecache.h. This flags are not of any use from userspace. Signed-off-by: Pablo Neira Ayuso commit 274d383b9c1906847a64bbb267b0183599ce86a0 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:38 2009 +0200 netfilter: conntrack: don't report events on module removal During the module removal there are no possible event listeners since ctnetlink must be removed before to allow removing nf_conntrack. This patch removes the event reporting for the module removal case which is not of any use in the existing code. Signed-off-by: Pablo Neira Ayuso commit 03b64f518a893512d32f07a10b053e558beafcaf Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:27 2009 +0200 netfilter: ctnetlink: cleanup message-size calculation This patch cleans up the message calculation to make it similar to rtnetlink, moreover, it removes unneeded verbose information. Signed-off-by: Pablo Neira Ayuso commit 96bcf938dc9637e8bb8b2c5d7885d72af5cd10af Author: Pablo Neira Ayuso Date: Tue Jun 2 20:07:39 2009 +0200 netfilter: ctnetlink: use nlmsg_* helper function to build messages Replaces the old macros to build Netlink messages with the new nlmsg_*() helper functions. Signed-off-by: Pablo Neira Ayuso commit f2f3e38c63c58a3d39bd710039af8bbd15ecaff6 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:35 2009 +0200 netfilter: ctnetlink: rename tuple() by nf_ct_tuple() macro definition This patch move the internal tuple() macro definition to the header file as nf_ct_tuple(). Signed-off-by: Pablo Neira Ayuso commit 8b0a231d4d6336baf10f13b6142fd5c1f628247e Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:34 2009 +0200 netfilter: ctnetlink: remove nowait parameter from *fill_info() This patch is a cleanup, it removes the `nowait' parameter from all *fill_info() function since it is always set to one. Signed-off-by: Pablo Neira Ayuso commit f49c857ff20a660850bf8014716d0df6175e1883 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:33 2009 +0200 netfilter: nfnetlink: cleanup for nfnetlink_rcv_msg() function This patch cleans up the message handling path in two aspects: * it uses NLMSG_LENGTH() instead of NLMSG_SPACE() like rtnetlink does in this case to check if there is enough room for the Netlink/nfnetlink headers. No need to check for the padding room. * it removes a redundant header size checking that has been already do at the beginning of the function. Signed-off-by: Pablo Neira Ayuso commit 8d9fb9bb89f44a4a06d0e001b16d983b28d571bc Author: Daniel Mack Date: Sun May 31 12:57:22 2009 +0200 Support for lilly-1131 modules and baseboards [v2] On Thu, May 28, 2009 at 08:42:23PM +0200, Sascha Hauer wrote: > > > Mail-Followup-To: Daniel Mack , > > > linux-arm-kernel@lists.arm.linux.org.uk > > > > ... which causes my mutt to only reply to the list. > > Ah, ok. /me hacking in muttrc... Does it work now? Yep :) > > mxc_register_device(&mxc_uart_device0, &uart_pdata); > > + mxc_register_device(&mxc_uart_device1, &uart_pdata); > > + mxc_register_device(&mxc_uart_device2, &uart_pdata); > > What about the RXD3/TXD3 pins? You're right - I got the IOMUX tables wrong and thought UART0 pins are selected unconditionally. But as it turns out TXD1/RXD1 is for UART0 (mxc_uart_device0), TXD2/RXD2 for UART1 (mxc_uart_device1) etc. Below is a new patch. Thanks, Daniel From e7eb5fa0fed09d667a4b2f168fe466e2cc645abb Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Wed, 27 May 2009 12:22:51 +0200 Subject: [PATCH] ARM: MX3: add two more UARTs to lilly-1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 179c498ae2998461fe436437a74dc29036fc7dcc Author: Steven Rostedt Date: Tue Jun 2 12:03:19 2009 -0400 function-graph: only allocate init tasks if it was not already done When the function graph tracer is enabled, it calls the initialization needed for the init tasks that would be called on all created tasks. The problem is that this is called every time the function graph tracer is enabled, and the ret_stack is allocated for the idle tasks each time. Thus, the old ret_stack is lost and a memory leak is created. This is also dangerous because if an interrupt happened on another CPU with the init task and the ret_stack is replaced, we then lose all the return pointers for the interrupt, and a crash would take place. [ Impact: fix memory leak and possible crash due to race ] Signed-off-by: Steven Rostedt commit 50b64e3b77d569c217a48e078cd565dbd6462ad0 Author: Jeff Layton Date: Tue Jun 2 06:55:20 2009 -0400 cifs: fix IPv6 address length check For IPv6 the userspace mount helper sends an address in the "ip=" option. This check fails if the length is > 35 characters. I have no idea where the magic 35 character limit came from, but it's clearly not enough for IPv6. Fix it by making it use the INET6_ADDRSTRLEN #define. While we're at it, use the same #define for the address length in SPNEGO upcalls. Reported-by: Charles R. Anderson Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 3f08a0e4ab1ce65bb882f6425ff482e5db025f78 Author: Takashi Iwai Date: Tue Jun 2 17:39:52 2009 +0200 ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99 Signed-off-by: Takashi Iwai commit bdc2911cde7d18580a545483844d75fdb3551729 Merge: 88f3907 016ea68 Author: Joerg Roedel Date: Tue Jun 2 16:45:02 2009 +0200 Merge branches 'dma-debug/fixes' and 'dma-debug/driver-filter' into dma-debug/2.6.31 commit 4593bba8679b925a056f84edac061676e7eda71c Author: Ingo Molnar Date: Tue Jun 2 15:34:25 2009 +0200 perf report: Clean up the default output - extra space between columns - left-aligned the symbol column - moved the no-symbols printout to -v Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 016ea6874a6d58df85b54f56997d26df13c307b2 Author: Joerg Roedel Date: Fri May 22 21:57:23 2009 +0200 dma-debug: add documentation for the driver filter This patch adds the driver filter feature to the dma-debug documentation. Signed-off-by: Joerg Roedel commit 1745de5e5639457513fe43440f2800e23c3cbc7d Author: Joerg Roedel Date: Fri May 22 21:49:51 2009 +0200 dma-debug: add dma_debug_driver kernel command line This patch add the dma_debug_driver= boot parameter to enable the driver filter for early boot. Signed-off-by: Joerg Roedel commit 8a6fc708b9bb48a79a385bdc2be0959ee2ab788d Author: Joerg Roedel Date: Fri May 22 21:23:13 2009 +0200 dma-debug: add debugfs file for driver filter This patch adds the dma-api/driver_filter file to debugfs. The root user can write a driver name into this file to see only dma-api errors for that particular driver in the kernel log. Writing an empty string to that file disables the driver filter. Signed-off-by: Joerg Roedel commit 97124d5e2df5b9eaa5bb684bb1e8ebc7e29d0f5d Author: Peter Zijlstra Date: Tue Jun 2 15:52:24 2009 +0200 perf_counter: tools: Better handle existing data files Provide an argument (-f) to overwrite existing data files. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f70e87d7a6d9c5a23d5f43ed0a0c224c157ef597 Author: Peter Zijlstra Date: Tue Jun 2 14:13:24 2009 +0200 perf_counter: tools: Expand the COMM,MMAP event synthesizer Include code to pre-construct mappings based on /proc, on system wide recording. Fix the existing code to properly fill out ->pid and ->tid. The PID should be the Thread Group ID (PIDTYPE_PID of task->group_leader) The TID should be the Thread ID (PIDTYPE_PID of task) Furthermore, change the default sorting of report to comm,dso for a better quick overview. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 709e50cf870e61745b39552044aa6c7c38e4f9e0 Author: Peter Zijlstra Date: Tue Jun 2 14:13:15 2009 +0200 perf_counter: Use PID namespaces properly Stop using task_struct::pid and start using PID namespaces. PIDs will be reported in the PID namespace of the monitoring task at the moment of counter creation. Signed-off-by: Peter Zijlstra Cc: Eric W. Biederman Cc: Oleg Nesterov Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit eeaf100d25cefdbe9dc40d6e0f2025411474972a Author: Takashi Iwai Date: Tue Jun 2 16:06:02 2009 +0200 ALSA: ca0106 - Add missing card->mixername field setup Signed-off-by: Takashi Iwai commit bd05dbd3b22612455283610b4e006ee3e421b13d Merge: 67fbf88 c76157d Author: Takashi Iwai Date: Tue Jun 2 15:55:22 2009 +0200 Merge branch 'topic/ctxfi-fix' into topic/ctxfi commit c76157d9286ed598c241c212aa5a3c6e5107bd82 Author: Takashi Iwai Date: Tue Jun 2 15:26:19 2009 +0200 ALSA: ctxfi - Support SG-buffers Use SG-buffers instead of contiguous pages. Signed-off-by: Takashi Iwai commit cd391e206f486955e216a61bd9ebcb0e142122e9 Author: Takashi Iwai Date: Tue Jun 2 15:04:29 2009 +0200 ALSA: ctxfi - Remove PAGE_SIZE limitation Remove the limitation of PAGE_SIZE to be 4k by defining the own page size and macros for 4k. 8kb page size could be natively supported, but it's disabled right now for simplicity. Also, clean up using upper_32_bits() macro. Signed-off-by: Takashi Iwai commit d2b9b96c516d4d61663d92ab4ad4f15ca0134ef2 Author: Takashi Iwai Date: Tue Jun 2 14:39:05 2009 +0200 ALSA: ctxfi - Fix supported PCM formats The device seems supporting only U8, S16, S24_3LE, S32. Other linear formats result in bad outputs. Also, added the support for 32bit float format, which wasn't listed in the original code. Signed-off-by: Takashi Iwai commit 8372d4980fbc2e403f0dc5457441c8c6b7c04915 Author: Takashi Iwai Date: Tue Jun 2 14:27:56 2009 +0200 ALSA: ctxfi - Fix PCM device naming PCM names for surround streams should be also fixed as well as the mixer element names. Also, a bit clean up for PCM name setup. Signed-off-by: Takashi Iwai commit 6585db943aade186d38eaab2720c18887b94c875 Author: Takashi Iwai Date: Tue Jun 2 14:17:27 2009 +0200 ALSA: ctxfi - Fix surround mixer names We usually pick up "Surround" mixer for the rear output, and "Side" for the extra surround. Fix the channel mapping to follow it. Signed-off-by: Takashi Iwai commit 822fa19b5c23746577687a0ec48eae0ec1cd22a0 Author: Takashi Iwai Date: Tue Jun 2 14:12:17 2009 +0200 ALSA: ALSA: ctxfi - Release PCM resources at each prepare call The prepare callback can be called multiple times, thus it needs to release and acquire the resource again by itself at the second or later call. Simply add pcm_release_resources() at the beginning of each prepare callback in ctatc.c. Signed-off-by: Takashi Iwai commit 2e507d849f1834d3fe9aae71b7aabf4c2a3827b8 Author: Joerg Roedel Date: Fri May 22 18:24:20 2009 +0200 dma-debug: add variables and checks for driver filter This patch adds the state variables for the driver filter and a function to check if the filter is enabled and matches to the current device. The check is built into the err_printk function. Signed-off-by: Joerg Roedel commit dbdc9dd342f0a7e32f40f0d4ade662bdfe057484 Author: vibi sreenivasan Date: Tue Jun 2 14:52:32 2009 +0200 Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt File Documentation/PCI/PCI-DMA-mapping.txt does not exist. Documentation/DMA-mapping.txt contains DMA Mapping details Signed-off-by: vibi sreenivasan Signed-off-by: Jens Axboe commit 77b0308a0778861111184e097533000f7a458c37 Author: Andrew Morton Date: Tue Jun 2 14:51:30 2009 +0200 cciss: use schedule_timeout_interruptible() Use schedule_timeout_interruptible() instead of open-coding the set and schedule parts. Cc: Mike Miller Cc: Stephen M. Cameron Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 7fe063268e73681cdca1a6496a25f93d3332f517 Author: Andrew Patterson Date: Tue Jun 2 14:48:39 2009 +0200 cciss: add cciss driver sysfs entries Add sysfs entries to the cciss driver needed for the dm/multipath tools. A file for vendor, model, rev, and unique_id is added for each logical drive under directory /sys/bus/pci/devices//ccissX/cXdY. Where X = the controller (or host) number and Y is the logical drive number. A link from /sys/bus/pci/devices//ccissX/cXdY/block:cciss!cXdY to /sys/block/cciss!cXdY/device is also created. A bus is created in /sys/bus/cciss. A link is created from the pci ccissX entry to /sys/bus/cciss/devices/ccissX. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Stephen M. Cameron Signed-off-by: Jens Axboe commit 88f627ae394eadd75ada669904269f1a4a77b3bd Author: Stephen M. Cameron Date: Tue Jun 2 14:48:11 2009 +0200 cciss: fix SCSI device reset handler Fix the SCSI reset error handler to send a working, properly addressed reset message to the target device and add code to wait for the target device to become ready by polling it with Test Unit Ready. The existing reset code was broken in that it didn't bother to set the 8-byte LUN address to anything besides zero, so the command was addressed to the controller, which pretended to the driver that the command succeeded, while doing nothing. Ages ago I tested this code, but unbeknownst to me, my test was flawed, and what I thought was a tape drive getting reset was actually nothing of the sort. Unfortunately, there is still lots of Smartarray firmware that doesn't handle doing target resets right, and this code won't help in those cases, but it also shouldn't make things worse in those cases than they already are. Signed-off-by: Stephen M. Cameron Cc: Mike Miller Signed-off-by: Jens Axboe commit 4a4b2d7684c66dbd8ed04eb284bc94a78e061d29 Author: Stephen M. Cameron Date: Tue Jun 2 14:47:50 2009 +0200 cciss: factor out core of sendcmd() for a more sane interface Factor out the core of sendcmd() to provide a simpler interface which exposes all the error information to the caller and make the original sendcmd use this new function. Rationale: The SCSI error handling routines need to send commands with interrupts turned off, but they also need access to the full error information. Signed-off-by: Stephen M. Cameron Cc: Mike Miller Signed-off-by: Jens Axboe commit 9a83b7453c2c4db145666b653abe9d9f410d18a2 Author: Takashi Iwai Date: Tue Jun 2 14:20:48 2009 +0200 ALSA: Remove invalid GENERIC_MIX PCM sublass SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playback devices, but ca0106 and emu10k1x don't support it (unlike emu10k1). We shouldn't set that flag to avoid confusion. Signed-off-by: Takashi Iwai commit c6e24d4db824d277303201811e88626778c59999 Author: Daniel Mack Date: Tue Jun 2 12:36:40 2009 +0200 ALSA: snd_usb_caiaq: bump version number Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 874ab9233eeddb85fd2dd85131c145bde75da39a Author: Jozsef Kadlecsik Date: Tue Jun 2 13:58:56 2009 +0200 netfilter: nf_ct_tcp: TCP simultaneous open support The patch below adds supporting TCP simultaneous open to conntrack. The unused LISTEN state is replaced by a new state (SYN_SENT2) denoting the second SYN sent from the reply direction in the new case. The state table is updated and the function tcp_in_window is modified to handle simultaneous open. The functionality can fairly easily be tested by socat. A sample tcpdump recording 23:21:34.244733 IP (tos 0x0, ttl 64, id 49224, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.254.2020 > 192.168.0.1.2020: S, cksum 0xe75f (correct), 3383710133:3383710133(0) win 5840 23:21:34.244783 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.1.2020 > 192.168.0.254.2020: R, cksum 0x0253 (correct), 0:0(0) ack 3383710134 win 0 23:21:36.038680 IP (tos 0x0, ttl 64, id 28092, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.1.2020 > 192.168.0.254.2020: S, cksum 0x704b (correct), 2634546729:2634546729(0) win 5840 23:21:36.038777 IP (tos 0x0, ttl 64, id 49225, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.254.2020 > 192.168.0.1.2020: S, cksum 0xb179 (correct), 3383710133:3383710133(0) ack 2634546730 win 5840 23:21:36.038847 IP (tos 0x0, ttl 64, id 28093, offset 0, flags [DF], proto TCP (6), length 52) 192.168.0.1.2020 > 192.168.0.254.2020: ., cksum 0xebad (correct), ack 3383710134 win 2920 and the corresponding netlink events: [NEW] tcp 6 120 SYN_SENT src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 [UNREPLIED] src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 120 LISTEN src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 60 SYN_RECV src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 432000 ESTABLISHED src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [ASSURED] The RST packet was dropped in the raw table, thus it did not reach conntrack. nfnetlink_conntrack is unpatched so it shows the new SYN_SENT2 state as the old unused LISTEN. With TCP simultaneous open support we satisfy REQ-2 in RFC 5382 ;-) . Additional minor correction in this patch is that in order to catch uninitialized reply directions, "td_maxwin == 0" is used instead of "td_end == 0" because the former can't be true except in uninitialized state while td_end may accidentally be equal to zero in the mid of a connection. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 8cc848fa3445b3503465dfba5d8ad47559faa05a Merge: a17c859 4518536 Author: Patrick McHardy Date: Tue Jun 2 13:44:56 2009 +0200 Merge branch 'master' of git://dev.medozas.de/linux commit fe67e6f2d6df371b58ba721954d45a196df5e8b8 Author: Tetsuo Handa Date: Tue Jun 2 17:00:45 2009 +0900 TOMOYO: Remove unused mutex. I forgot to remove on TOMOYO's 15th posting. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit bf4e0ed3d027ce581be18496036862131b5f32aa Author: Paul Mackerras Date: Mon Jun 1 17:53:16 2009 +1000 perf_counter: Remove unused prev_state field This removes the prev_state field of struct perf_counter since it is now unused. It was only used by the cpu migration counter, which doesn't use it any more. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.35052.915728.626374@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3f731ca60afc29f5bcdb5fd2a04391466313a9ac Author: Paul Mackerras Date: Mon Jun 1 17:52:30 2009 +1000 perf_counter: Fix cpu migration counter This fixes the cpu migration software counter to count correctly even when contexts get swapped from one task to another. Previously the cpu migration counts reported by perf stat were bogus, ranging from negative to several thousand for a single "lat_ctx 2 8 32" run. With this patch the cpu migration count reported for "lat_ctx 2 8 32" is almost always between 35 and 44. This fixes the problem by adding a call into the perf_counter code from set_task_cpu when tasks are migrated. This enables us to use the generic swcounter code (with some modifications) for the cpu migration counter. This modifies the swcounter code to allow a NULL regs pointer to be passed in to perf_swcounter_ctx_event() etc. The cpu migration counter does this because there isn't necessarily a pt_regs struct for the task available. In this case, the counter will not have interrupt capability - but the migration counter didn't have interrupt capability before, so this is no loss. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.35006.819769.416327@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f38b082081bf69a06fffb8b32a175999e2320c5b Author: Paul Mackerras Date: Tue Jun 2 21:05:16 2009 +1000 perf_counter: Initialize per-cpu context earlier on cpu up This arranges for perf_counter's notifier for cpu hotplug operations to be called earlier than the migration notifier in sched.c by increasing its priority to 20, compared to the 10 for the migration notifier. The reason for doing this is that a subsequent commit to convert the cpu migration counter to use the generic swcounter infrastructure will add a call into the perf_counter subsystem when tasks get migrated. Therefore the perf_counter subsystem needs a chance to initialize its per-cpu data for the new cpu before it can get called from the migration code. This also adds a comment to the migration notifier noting that its priority needs to be lower than that of the perf_counter notifier. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18981.1900.792795.836858@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit bafeee5b1f8d32cbf791c322b40a6fa91d8ccf7a Author: Daniel Mack Date: Tue Jun 2 12:36:39 2009 +0200 ALSA: snd_usb_caiaq: give better shortname If not passed as module option, provide an own card ID with the newly introduced snd_set_card_id() call. This will prevent ALSA from calling choose_default_name() which only takes the last part of a name containing whitespaces. This for example caused 'Audio 4 DJ' to be shortened to 'DJ', which was not very descriptive. The implementation now takes the short name and removes all whitespaces from it which is much nicer. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 17db0486d73a7bc62996569cea63464daacb22a4 Merge: 1a1df6f 10a8ebb Author: Takashi Iwai Date: Tue Jun 2 12:55:40 2009 +0200 Merge branch 'topic/core-id-check' into topic/caiaq commit 518ceef0c9ca97023e45ae46aedaefa240c690a6 Author: Dmitry Pervushin Date: Wed Apr 29 19:29:44 2009 +0400 UBI: remove built-in gluebi Remove built-in gluebi support. This is a preparation for a standalone glubi module support Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit 0e0ee1cc33de8f0cc603269b354085dee340afa0 Author: Dmitry Pervushin Date: Wed Apr 29 19:29:38 2009 +0400 UBI: add notification API UBI volume notifications are intended to create the API to get clients notified about volume creation/deletion, renaming and re-sizing. A client can subscribe to these notifications using 'ubi_volume_register()' and cancel the subscription using 'ubi_volume_unregister()'. When UBI volumes change, a blocking notifier is called. Clients also can request "added" events on all volumes that existed before client subscribed to the notifications. If we use notifications instead of calling functions like 'ubi_gluebi_xxx()', we can make the MTD emulation layer to be more flexible: build it as a separate module and load/unload it on demand. [Artem: many cleanups, rework locking, add "updated" event, provide device/volume info in notifiers] Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit b86a2c56e512f46d140a4bcb4e35e8a7d4a99a4b Author: Artem Bityutskiy Date: Sun May 24 14:13:34 2009 +0300 UBI: do not switch to R/O mode on read errors This patch improves UBI errors handling. ATM UBI switches to R/O mode when the WL worker fails to read the source PEB. This means that the upper layers (e.g., UBIFS) has no chances to unmap the erroneous PEB and fix the error. This patch changes this behaviour and makes UBI put PEBs like this into a separate RB-tree, thus preventing the WL worker from hitting the same read errors again and again. But there is a 10% limit on a maximum amount of PEBs like this. If there are too much of them, UBI switches to R/O mode. Additionally, this patch teaches UBI not to panic and switch to R/O mode if after a PEB has been copied, the target LEB cannot be read back. Instead, now UBI cancels the operation and schedules the target PEB for torturing. The error paths has been tested by ingecting errors into 'ubi_eba_copy_leb()'. Signed-off-by: Artem Bityutskiy commit 87960c0b12d0c5a0b37e0c79aef77aa1a0b10d44 Author: Artem Bityutskiy Date: Sun May 24 11:58:58 2009 +0300 UBI: fix and clean-up error paths in WL worker This patch fixes the error path in the WL worker - in same cases UBI oopses when 'goto out_error' happens and e1 or e2 are NULL. This patch also cleans up the error paths a little. And I have tested nearly all error paths in the WL worker. Signed-off-by: Artem Bityutskiy commit 90bf0265e5b0d561f215a69bb7a46c4071b2c93b Author: Artem Bityutskiy Date: Sat May 23 16:04:17 2009 +0300 UBI: introduce new constants This patch is a clean-up and a preparation for the following patches. It introduece constants for the return values of the 'ubi_eba_copy_leb()' function. Signed-off-by: Artem Bityutskiy commit 10a8ebbb08c4b08292598947bbe534e04d6ee705 Author: Jaroslav Kysela Date: Tue Jun 2 12:02:38 2009 +0200 ALSA: Core - add snd_card_set_id() function Introduce snd_card_set_id() function to allow lowlevel drivers to set default identification name for card slot. The function checks also for identification name collisions and tries to create unique name. Also, the snd_card_create() function is simplified, because this new function is used. As bonus, proper name collision checks are evaluated at the card create time. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3c4dbda003b5941b351bec8d1954e8eaa6e7bc09 Merge: 3b315d7 b20f3b8 Author: Takashi Iwai Date: Tue Jun 2 12:15:48 2009 +0200 Merge branch 'topic/hda-ctl-reset' into topic/hda commit 601e1cc5df940b59e71c947726640811897d30df Author: Takashi Iwai Date: Tue Jun 2 11:37:01 2009 +0200 ALSA: ca0106 - Add missing registrations of vmaster controls Although the vmaster controls are created, they aren't registered thus they don't appear in the real world. Added the missing snd_ctl_add() calls. Signed-off-by: Takashi Iwai Cc: commit d455e5b165a367a628110ec2d18807ea10052cd1 Author: Yevgeny Petrilin Date: Mon Jun 1 23:29:42 2009 +0000 mlx4_en: Updated driver version Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit e486973e9c1477bf2be13c3883ada9ee87222e72 Author: Yevgeny Petrilin Date: Mon Jun 1 23:28:29 2009 +0000 mlx4_en: Added vlan_features support Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit f813cad836ab14b764cfe76f42a3b50bb9677b30 Author: Yevgeny Petrilin Date: Mon Jun 1 23:24:07 2009 +0000 mlx4_en: multiqueue support By default the driver opens 8 TX queues (defined by MLX4_EN_NUM_TX_RINGS). If the driver is configured to support Per Priority Flow Control, we open 8 additional TX rings. dev->real_num_tx_queues is always set to be MLX4_EN_NUM_TX_RINGS. The mlx4_en_select_queue() function uses standard hashing (skb_tx_hash) in case that PPFC is not supported or the skb contain a vlan tag, otherwise the queue is selected according to vlan priority. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 3db36fb2c88d68ee28d20845d5bb805ea9a7f6d8 Author: Yevgeny Petrilin Date: Mon Jun 1 23:23:13 2009 +0000 mlx4_en: Coalescing target is equal for all mtu's The interrupt moderation should not depend on number of incoming bytes, but on number of incoming packets. The previous scheme caused very high interrupts rate for small messages when big MTU was configured. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 3c2fa83f9c2bbb3e91992a2fc443b7104a07e0bc Author: Yevgeny Petrilin Date: Mon Jun 1 23:22:18 2009 +0000 mlx4_en: Work with part of the ports. If the initialization of one of the ports failed, there is no need to fail the other one as well. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 9e47edaa1ae2efad7db0c8c7fb53e4431bb35364 Author: Yevgeny Petrilin Date: Mon Jun 1 23:21:20 2009 +0000 mlx4_en renamed en_params.c to en_ethtool.c Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a2b28737a2c504ad4306eec30fc893e7f4513359 Author: Yevgeny Petrilin Date: Mon Jun 1 23:20:18 2009 +0000 mlx4_en: Moved all module parameters handling to en_main.c en_params.c file now only handles Ethtool functionality Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 453a608277355735190e05c43f909808e0f73641 Author: Yevgeny Petrilin Date: Mon Jun 1 20:27:13 2009 +0000 mlx4_en: Giving interface name in debug messages For each debug message, the message will show interface name in case that the net device was registered, and PCI bus ID with port number if we were not registered yet. Messages that are not port/netdev specific stayed in the old format Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 10a2825514a988225ac2e336c7a9502c4ca57c39 Author: Mike Galbraith Date: Tue Jun 2 11:04:44 2009 +0200 perf_counter tools: Fix uninitialized variable in perf-report.c # make prefix=/usr/local V=1 gcc -o builtin-report.o -c -O2 -ggdb3 -Wall -Werror -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -std=gnu99 -Wdeclaration-after-statement -DSHA1_HEADER='' builtin-report.c cc1: warnings being treated as errors builtin-report.c: In function ‘__cmd_report’: builtin-report.c:626: error: ‘cwdlen’ may be used uninitialized in this function Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Signed-off-by: Ingo Molnar LKML-Reference: commit c1079abd1d5e66edabeb04d75e48e604cd8c167f Author: Mike Galbraith Date: Tue Jun 2 10:17:34 2009 +0200 perf_counter tools: Cleanup Makefile We currently build perf-stat/record etc, only to do nothing with them. We also install the perf binary in two places, $prefix/bin and $perfexec_instdir, which appears to be for binaries which perf would exec were a command not linked in. Correct this, and comment out broken/incomplete targets dist and coverage. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3b315d70b094e8b439358756a9084438fd7a71c2 Author: Hector Martin Date: Tue Jun 2 10:54:19 2009 +0200 ALSA: hda - Acer Aspire 8930G support Short story: this laptop has 5.1 built-in speakers which you *really* want to use (the not-so-"sub" woofer is what makes the audio above average for a laptop), so 6-channel support is important (plus a decent asound.conf to upmix stereo). It also has the 3 typical jacks that ought to have a selectable mode. And it's based on ALC889, which sucks. Rationale/explanations: The const_channel_count stuff was added because, for a laptop like this, you always have 6 channels available (internal speakers) but still need to set the mode for the 3 external jacks. Therefore, the device always needs to be in 6-channel mode but there still needs to be a mixer control for the jack mode. You could use line/mic-in at the same time as the 6 internal speakers, for example. You might be tempted to make it even smarter by dynamically switching the max channel count when headphones are plugged in (therefore muting the internal speakers and reducing the physical channel count to the jack channel mode), but as a user I consider this to be harmful because I want the audio to blow up to 6 channels / upmixed as soon as I unplug the headphones, and having opened the device while in 2-channel mode would prevent this from working (and always making 6-channel mode available doesn't do any harm). The hardware needs EAPD turned on and the DACs routed to the internal speaker pins, so the patch adds those verbs. The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT work by default, at least here. I wasted much time trying to talk to Realtek/pshou about this, but they just kept sending me useless updates to patch_realtek.c that did nothing relevant. In the end I gave up and brute forced the issue by trying to flip every bit in the proprietary coefficient registers, and eventually found the two magic registers that need to be cleared to enable all DACs. I have only heard Acer users complain, but that might be because ALC889 is pretty new and using 5.1 (and noticing the missing center/lfe channels) might not be that common. If this is a generalized issue with all ALC889 systems then those verbs should probably be moved to a common verb array. The internal mic is untested and probably doesn't work. These settings will probably work for other Acer Gemstone laptops with the same 5.1 speaker config. When identified, those should be added to the PCI subsystem ID list. Signed-off-by: Hector Martin Signed-off-by: Takashi Iwai commit 8379ea31e991ed2098660954d25f64386adee65c Author: Artem Bityutskiy Date: Fri May 29 12:34:52 2009 +0300 UBIFS: allow sync option in rootflags When passing UBIFS parameters via kernel command line, the sync option will be passed to UBIFS as a string, not as an MS_SYNCHRONOUS flag. Teach UBIFS interpreting this flag. Reported-by: Aurélien GÉRÔME Signed-off-by: Artem Bityutskiy commit 1a1df6f0434fc35c9bf6ca25f9c5115713d77291 Author: Daniel Mack Date: Mon Jun 1 21:36:26 2009 +0200 ALSA: snd_usb_caiaq: give better longname The serial number is of no interest in the longname, remove it. This gives space for the usb path information which is more informative. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit c25486c5ea3ea5586f71285a3aa5cfafb1db59f9 Author: Mike Galbraith Date: Tue Jun 2 08:09:48 2009 +0200 perf_counter tools: Make .gitignore reflect perf_counter tools files Make .gitignore reflect perf_counter tools files so git status doesn't gripe about untracked files. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f771bef98004d9d141b085d987a77d06669d4f4f Author: Nivedita Singhvi Date: Thu May 28 07:00:46 2009 +0000 ipv4: New multicast-all socket option After some discussion offline with Christoph Lameter and David Stevens regarding multicast behaviour in Linux, I'm submitting a slightly modified patch from the one Christoph submitted earlier. This patch provides a new socket option IP_MULTICAST_ALL. In this case, default behaviour is _unchanged_ from the current Linux standard. The socket option is set by default to provide original behaviour. Sockets wishing to receive data only from multicast groups they join explicitly will need to clear this socket option. Signed-off-by: Nivedita Singhvi Signed-off-by: Christoph Lameter Acked-by: David Stevens Signed-off-by: David S. Miller commit 4d52cfbef6266092d535237ba5a4b981458ab171 Author: Eric Dumazet Date: Tue Jun 2 00:42:16 2009 -0700 net: ipv4/ip_sockglue.c cleanups Pure cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d3873a1be9f2d497e9ff013e4a83a2a4d9f1d22d Author: Daniel Mack Date: Mon Jun 1 21:36:25 2009 +0200 ALSA: snd_usb_caiaq: use strlcpy Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9318dce5038f193f46091b80c61928395a4139b7 Author: Daniel Mack Date: Mon Jun 1 21:36:23 2009 +0200 ALSA: snd_usb_caiaq: clean whitespaces Cosmetic changes only, no code change. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit dae9de8e13a8a5154688e4c788e65399b4718707 Author: Brian Haley Date: Tue Jun 2 00:20:26 2009 -0700 IPv6: Print error value when skb allocation fails Print-out the error value when sock_alloc_send_skb() fails in the IPv6 neighbor discovery code - can be useful for debugging. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 67fbf880631bb4493ad8d23f25562abdf09dc01d Author: Takashi Iwai Date: Tue Jun 2 09:18:26 2009 +0200 ALSA: ctxfi - Fix a typo in MODULE_LICENSE A space has to be put between GPL and v2. Signed-off-by: Takashi Iwai commit b61b8af0f3883b451bb9c3b3eaea4379aca9f36f Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:57 2009 +0000 usb: gadget: f_phonet: fix memory allocation sizes Signed-off-by: Rémi Denis-Courmont Signed-off-by: Felipe Balbi Signed-off-by: David S. Miller commit c69367fd6730a330c4ba54e9e699733439cbbabd Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:56 2009 +0000 f_phonet: no need to check for carrier - scheduler does it internally Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fa202592796499dade5b3854643eaf0eed4d34ba Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:55 2009 +0000 f_phonet: dev_kfree_skb instead of dev_kfree_skb_any in TX callback Network device TX is never run in IRQ context, and skb is freed outside of the IRQ-disabling spin lock. So checking for IRQ was a waste of time here. Signed-off-by: Rémi Denis-Courmont Signed-off-by: Felipe Balbi Signed-off-by: David S. Miller commit bbd5898d39ab9f855c732f6f07e40e95b05cf52a Author: Rémi Denis-Courmont Date: Mon Jun 1 00:35:16 2009 +0000 Phonet: fix accounting race between gprs_writeable() and gprs_xmit() In the unlikely event that gprs_writeable() and gprs_xmit() check for writeability at the same, we could stop the device queue forever. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit a12af1ebe675e85831fde3c4d0908fc3b0908b7a Author: Abhijith Das Date: Mon Jun 1 12:30:03 2009 -0500 GFS2: smbd proccess hangs with flock() call. GFS2 currently does not support mandatory flocks. An flock() call with LOCK_MAND triggers unexpected behavior because gfs2 is not checking for this lock type. This patch corrects that. Signed-off-by: Abhi Das Signed-off-by: Steven Whitehouse commit 53c663ce0f39ba8e8ef652e400b317bc60ac7f19 Author: Kiyoshi Ueda Date: Tue Jun 2 08:44:01 2009 +0200 block: fix a possible oops on elv_abort_queue() I found one more mis-conversion to the 'request is always dequeued when completing' model in elv_abort_queue() during code inspection. Although I haven't hit any problem caused by this mis-conversion yet and just done compile/boot test, please apply if you have no problem. Request must be dequeued when it completes. However, elv_abort_queue() completes requests without dequeueing. This will cause oops in the __blk_end_request_all(). This patch fixes the oops. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 8a4259bf89d23bfd58d87e275ef6da29cea6b3c5 Author: Takashi Iwai Date: Tue Jun 2 08:40:51 2009 +0200 ALSA: ctxfi - Fix Oops at mmapping Replace a spinlock with a mutex protecting the vm block list at mmap / munmap calls, which caused Oops like below: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xine Pid: 32065, comm: xine Tainted: P 2.6.29.4-75.fc10.x86_64 #1 Call Trace: [] __might_sleep+0x105/0x10a [] kmem_cache_alloc+0x32/0xe2 [] ct_vm_map+0xfa/0x19e [snd_ctxfi] [] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi] [] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi] [] ? up_read+0x9/0xb [] ? __up_read+0x7c/0x87 [] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi] [] snd_pcm_do_prepare+0x16/0x28 [snd_pcm] [] snd_pcm_action_single+0x2d/0x5b [snd_pcm] [] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm] [] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm] [] ? alloc_pages_current+0xb9/0xc2 [] ? new_slab+0x1a5/0x1cb [] ? vma_prio_tree_insert+0x23/0xc1 [] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm] [] ? mmap_region+0x397/0x4c9 [] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm] [] vfs_ioctl+0x2a/0x78 [] do_vfs_ioctl+0x462/0x4a2 [] ? default_spin_lock_flags+0x9/0xe [] ? trace_hardirqs_off_thunk+0x3a/0x6c [] sys_ioctl+0x55/0x77 [] system_call_fastpath+0x16/0x1b Signed-off-by: Takashi Iwai commit 3447ef29a7f3b1fd0d8d58376950e695e04f6f8b Author: John Williams Date: Tue Mar 24 11:10:00 2009 +1000 microblaze: Don't use access_ok for unaligned it assumes we have an unaligned exception handler which (a) may not be true (b) costs a lot of performance Instead we'll use struct/union method for big endian accesses, and byte-shifting for little endian. Signed-off-by: John Williams commit 77bc7ac87d0d6df1ea099a44e8fc4e998e409606 Author: Andrew Morton Date: Mon Jun 1 21:26:04 2009 -0700 microblaze: remove unused flat_stack_align() definition Signed-off-by: Andrew Morton Signed-off-by: Michal Simek commit fbeb4a9c20d00e2550156f9e5a34473fbde59de2 Author: Serge E. Hallyn Date: Mon Jun 1 22:47:19 2009 -0500 tomoyo: avoid get+put of task_struct Use task_cred_xxx(task, security) in tomoyo_real_domain() to avoid a get+put of the target cred. Signed-off-by: Serge E. Hallyn Acked-by: Tetsuo Handa Signed-off-by: James Morris commit aa07a6990f4b6a8ef9fc538dea55bac6f92255f2 Author: Alex Riesen Date: Tue Jun 2 14:13:14 2009 +1000 crypto: api - Use formatting of module name Besdies, for the old code, gcc-4.3.3 produced this warning: "format not a string literal and no format arguments" Signed-off-by: Alex Riesen Signed-off-by: Herbert Xu commit a0cfae59f8381c5c670fce2cc3de70b35421f920 Author: Herbert Xu Date: Fri May 29 16:23:12 2009 +1000 crypto: testmgr - Allow hash test vectors longer than a page As it stands we will each test hash vector both linearly and as a scatter list if applicable. This means that we cannot have vectors longer than a page, even with scatter lists. This patch fixes this by skipping test vectors with np != 0 when testing linearly. Signed-off-by: Herbert Xu commit fd57f22a09ae276ca3e9cd11ed99b617d611ba82 Author: Herbert Xu Date: Fri May 29 16:05:42 2009 +1000 crypto: testmgr - Check all test vector lengths As we cannot guarantee the availability of contiguous pages at run-time, all test vectors must either fit within a page, or use scatter lists. In some cases vectors were not checked as to whether they fit inside a page. This patch adds all the missing checks. Signed-off-by: Herbert Xu commit f3d8fe40498eea9f45be260bdf6ccada845411f3 Author: Mike Frysinger Date: Wed May 27 15:16:21 2009 +1000 crypto: hifn_795x - fix __dev{init,exit} markings The remove member of the pci_driver hifn_pci_driver uses __devexit_p(), so the remove function itself should be marked with __devexit. And where there be __devexit on the remove, so is there __devinit on the probe. Similarly, the module_init/module_exit functions should be declared with plain __init/__exit markings, not the hotplug __dev{init,exit} ones. Signed-off-by: Mike Frysinger Acked-by: Evgeniy Polyakov CC: Patrick McHardy Signed-off-by: Herbert Xu commit 4e033a6bc70f094d36128c328f6ca725c6ca4b4c Author: Jarod Wilson Date: Wed May 27 15:10:21 2009 +1000 crypto: tcrypt - Do not exit on success in fips mode At present, the tcrypt module always exits with an -EAGAIN upon successfully completing all the tests its been asked to run. In fips mode, integrity checking is done by running all self-tests from the initrd, and its much simpler to check the ret from modprobe for success than to scrape dmesg and/or /proc/crypto. Simply stay loaded, giving modprobe a retval of 0, if self-tests all pass and we're in fips mode. A side-effect of tracking success/failure for fips mode is that in non-fips mode, self-test failures will return the actual failure return codes, rather than always returning -EAGAIN, which seems more correct anyway. The tcrypt_test() portion of the patch is dependent on my earlier pair of patches that skip non-fips algs in fips mode, at least to achieve the fully intended behavior. Nb: testing this patch against the cryptodev tree revealed a test failure for sha384, which I have yet to look into... Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 3ce858cb04de8bc83449eac707c8012a1944daca Author: Geert Uytterhoeven Date: Wed May 27 15:05:02 2009 +1000 crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final} If crypto_{,de}compress_{update,final}() succeed, return the actual number of bytes produced instead of zero, so their users don't have to calculate that theirselves. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit e9736c16da9077728802f42393d18258e6685428 Author: Harald Welte Date: Fri May 15 16:01:52 2009 +1000 hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds Fix Kconfig to build via-rng.ko on X86_64 builds, as the VIA Nano CPU supports x86_64, too. Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit 858576bdc5d65edf1fffd2e65b2165ec1dc68486 Author: Harald Welte Date: Fri May 15 16:00:32 2009 +1000 hwrng: via_rng - Support VIA Nano hardware RNG The VIA Nano CPU supports the same XSTORE instruction based RNG, but it lacks the MSR present in earlier CPUs. Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit 608d1cd5d375580a49d01b5ed1f9944f5141ae19 Author: Harald Welte Date: Fri May 15 15:57:35 2009 +1000 hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset This is a cosmetic change, fixing the MODULE_DESCRIPTION() of via-rng.c Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit a3bef3a31a19bd943047ba8bf5b2cc7b5d164362 Author: Jarod Wilson Date: Fri May 15 15:17:05 2009 +1000 crypto: testmgr - Skip algs not flagged fips_allowed in fips mode Because all fips-allowed algorithms must be self-tested before they can be used, they will all have entries in testmgr.c's alg_test_descs[]. Skip self-tests for any algs not flagged as fips_approved and return -EINVAL when in fips mode. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit a1915d51e8e7ee192d2101d621d425379088cbb0 Author: Jarod Wilson Date: Fri May 15 15:16:03 2009 +1000 crypto: testmgr - Mark algs allowed in fips mode Set the fips_allowed flag in testmgr.c's alg_test_descs[] for algs that are allowed to be used when in fips mode. One caveat: des isn't actually allowed anymore, but des (and thus also ecb(des)) has to be permitted, because disallowing them results in des3_ede being unable to properly register (see des module init func). Also, crc32 isn't technically on the fips approved list, but I think it gets used in various places that necessitate it being allowed. This list is based on http://csrc.nist.gov/groups/STM/cavp/index.html Important note: allowed/approved here does NOT mean "validated", just that its an alg that *could* be validated. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit f7cb80f2b9fa06730be20d17c80b12e511a36c1c Author: Jarod Wilson Date: Wed May 6 17:29:17 2009 +0800 crypto: testmgr - Add ctr(aes) test vectors Now with multi-block test vectors, all from SP800-38A, Appendix F.5. Also added ctr(aes) to case 10 in tcrypt. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit f8b0d4d09dc9d0a73fcdcf6c2724650529ec417d Author: Herbert Xu Date: Wed May 6 14:15:47 2009 +0800 crypto: testmgr - Dynamically allocate xbuf and axbuf We currently allocate temporary memory that is used for testing statically. This renders the testing engine non-reentrant. As algorithms may nest, i.e., one may construct another in order to carry out a part of its operation, this is unacceptable. For example, it has been reported that an AEAD implementation allocates a cipher in its setkey function, which causes it to fail during testing as the temporary memory is overwritten. This patch replaces the static memory with dynamically allocated buffers. We need a maximum of 16 pages so this slightly increases the chances of an algorithm failing due to memory shortage. However, as testing usually occurs at registration, this shouldn't be a big problem. Reported-by: Shasi Pulijala Signed-off-by: Herbert Xu commit 29ecd4ab3d3aa8bb231361937165dfbbbc534e9a Author: Jarod Wilson Date: Mon May 4 19:51:17 2009 +0800 crypto: testmgr - Print self-test pass notices in fips mode According to our FIPS CAVS testing lab guru, when we're in fips mode, we must print out notices of successful self-test completion for every alg to be compliant. New and improved v2, without strncmp crap. Doesn't need to touch a flag though, due to not moving the notest label around anymore. Applies atop '[PATCH v2] crypto: catch base cipher self-test failures in fips mode'. Personally, I wouldn't mind seeing this info printed out regardless of whether or not we're in fips mode, I think its useful info, but will stick with only in fips mode for now. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 941fb3287c0c0d84000b669db5450ac4886da640 Author: Jarod Wilson Date: Mon May 4 19:49:23 2009 +0800 crypto: testmgr - Catch base cipher self-test failures in fips mode Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit e08ca2da39db22da569dc23578103cdc942fe3ac Author: Jarod Wilson Date: Mon May 4 19:46:29 2009 +0800 crypto: testmgr - Add ansi_cprng test vectors Add ANSI X9.31 Continuous Pseudo-Random Number Generator (AES mode), aka 'ansi_cprng' test vectors, taken from Appendix B.2.9 and B.2.10 of the NIST RNGVS document, found here: http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf Successfully tested against both the cryptodev-2.6 tree and a Red Hat Enterprise Linux 5.4 kernel, via 'modprobe tcrypt mode=150'. The selection of 150 was semi-arbitrary, didn't seem like it should go any place in particular, so I started a new range for rng tests. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 7647d6ce2077d9e1c3d72359f6b4492be129cfe8 Author: Jarod Wilson Date: Mon May 4 19:44:50 2009 +0800 crypto: testmgr - Add infrastructure for ansi_cprng self-tests Add some necessary infrastructure to make it possible to run self-tests for ansi_cprng. The bits are likely very specific to the ANSI X9.31 CPRNG in AES mode, and thus perhaps should be named more specifically if/when we grow additional CPRNG support... Successfully tested against the cryptodev-2.6 tree and a Red Hat Enterprise Linux 5.x kernel with the follow-on patch that adds the actual test vectors. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 5d667322a25ab4ecb91176db118fd663fee4da35 Author: Jarod Wilson Date: Mon May 4 19:23:40 2009 +0800 crypto: testmgr - Add self-tests for rfc4309(ccm(aes)) Add an array of encryption and decryption + verification self-tests for rfc4309(ccm(aes)). Test vectors all come from sample FIPS CAVS files provided to Red Hat by a testing lab. Unfortunately, all the published sample vectors in RFC 3610 and NIST Special Publication 800-38C contain nonce lengths that the kernel's rfc4309 implementation doesn't support, so while using some public domain vectors would have been preferred, its not possible at this time. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit e44a1b44c3a9794236fe038b89a0fbef5adcd523 Author: Jarod Wilson Date: Mon May 4 19:22:11 2009 +0800 crypto: testmgr - Handle AEAD test vectors expected to fail verification Add infrastructure to tcrypt/testmgr to support handling ccm decryption test vectors that are expected to fail verification. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 2f8174187f409213e63c3589af163c627e8a182a Author: Herbert Xu Date: Wed Apr 22 13:00:15 2009 +0800 crypto: padlock - Restore dependency on x86 When we added 64-bit support to padlock the dependency on x86 was lost. This causes build failures on non-x86 architectures. Reported-by: Stephen Rothwell Signed-off-by: Herbert Xu commit d1c8b0a7692e81b46550bcc493465ed10510cd33 Author: Sebastian Andrzej Siewior Date: Tue Apr 21 14:14:37 2009 +0800 crypto: padlock - Enable on x86_64 Almost everything stays the same, we need just to use the extended registers on the bit variant. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 962a9c99496f98041d14d64a9fdcf58050fefb4d Author: Kim Phillips Date: Sun Mar 29 15:54:30 2009 +0800 crypto: talitos - Avoid unnecessary decrypt check the ICV check bit only gets set in decrypt entry points Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 19bbbc635523703ece28409e59694d5b512b819e Author: Kim Phillips Date: Sun Mar 29 15:53:59 2009 +0800 crypto: talitos - containerof related codingstyle no functional changes. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e938e4656b3ee32e046ee8293411a07be9d72eb8 Author: Kim Phillips Date: Sun Mar 29 15:53:23 2009 +0800 crypto: talitos - Whitespace/codingstyle/overrun lines cleanup no functional changes. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4de9d0b547b97e40c93a885ac6246c2c5fef05cb Author: Lee Nipper Date: Sun Mar 29 15:52:32 2009 +0800 crypto: talitos - Add ablkcipher algorithms Add these ablkcipher algorithms: cbc(aes), cbc(des3_ede). Added handling of chained scatterlists with zero length entry because eseqiv uses it. Added new map and unmap routines. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 56af8cd44b05bd9649103b76a6e1e575682990e4 Author: Lee Nipper Date: Sun Mar 29 15:50:50 2009 +0800 crypto: talitos - scaffolding for new algorithm types This patch is preparation for adding new algorithm types. Some elements which are AEAD specific were renamed. The algorithm template structure was changed to use crypto_alg, and talitos_alg_alloc was made more general with respect to algorithm types. ipsec_esp_edesc is renamed to talitos_edesc to use it in the upcoming ablkcipher routines. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 9f171adc192fc3c8ffbb691cfdcc70259d75c6ea Author: Uwe Kleine-König Date: Sun Mar 29 15:47:06 2009 +0800 hwrng: omap - Move probe function to .devinit.text A pointer to omap_rng_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: Russell King Cc: David Brownell Cc: Patrick McHardy Cc: Jan Engelhardt Cc: Michael Buesch Cc: Andrew Morton Signed-off-by: Herbert Xu commit 2f6ceb7933f52f238519a9c2f65c628eecdac962 Author: Geert Uytterhoeven Date: Sun Mar 29 15:45:30 2009 +0800 crypto: pcomp - pcompress.c should include crypto/internal/compress.h make C=1: | crypto/pcompress.c:77:5: warning: symbol 'crypto_register_pcomp' was not declared. Should it be static? | crypto/pcompress.c:89:5: warning: symbol 'crypto_unregister_pcomp' was not declared. Should it be static? Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit c79cf91006f03adb603879013b6710b6062c8445 Author: Geert Uytterhoeven Date: Sun Mar 29 15:44:19 2009 +0800 crypto: testmgr - Kill test_comp() sparse warnings make C=1: | crypto/testmgr.c:846:45: warning: incorrect type in argument 5 (different signedness) | crypto/testmgr.c:846:45: expected unsigned int *dlen | crypto/testmgr.c:846:45: got int * | crypto/testmgr.c:878:47: warning: incorrect type in argument 5 (different signedness) | crypto/testmgr.c:878:47: expected unsigned int *dlen | crypto/testmgr.c:878:47: got int * Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit 2cf4ac8beb9dc50a315a6155b7b70e754d511958 Author: Huang Ying Date: Sun Mar 29 15:41:20 2009 +0800 crypto: aes-ni - Add support for more modes Because kernel_fpu_begin() and kernel_fpu_end() operations are too slow, the performance gain of general mode implementation + aes-aesni is almost all compensated. The AES-NI support for more modes are implemented as follow: - Add a new AES algorithm implementation named __aes-aesni without kernel_fpu_begin/end() - Use fpu((AES)) to provide kenrel_fpu_begin/end() invoking - Add (AES) ablkcipher, which uses cryptd(fpu((AES))) to defer cryption to cryptd context in soft_irq context. Now the ctr, lrw, pcbc and xts support are added. Performance testing based on dm-crypt shows that cryption time can be reduced to 50% of general mode implementation + aes-aesni implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 150c7e85526e80474b87004f4b420e8834fdeb43 Author: Huang Ying Date: Sun Mar 29 15:39:02 2009 +0800 crypto: fpu - Add template for blkcipher touching FPU Blkcipher touching FPU need to be enclosed by kernel_fpu_begin() and kernel_fpu_end(). If they are invoked in cipher algorithm implementation, they will be invoked for each block, so that performance will be hurt, because they are "slow" operations. This patch implements "fpu" template, which makes these operations to be invoked for each request. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 505fd21d6138545aa5e96aa738975e6a9deb98a9 Author: Huang Ying Date: Sun Mar 29 15:33:53 2009 +0800 crypto: cryptd - Use nivcipher in cryptd_alloc_ablkcipher Use crypto_alloc_base() instead of crypto_alloc_ablkcipher() to allocate underlying tfm in cryptd_alloc_ablkcipher. Because crypto_alloc_ablkcipher() prefer GENIV encapsulated crypto instead of raw one, while cryptd_alloc_ablkcipher needed the raw one. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 811d8f062668077e268a7292202bb923fe2ae896 Author: Johannes Weiner Date: Sun Mar 29 15:20:48 2009 +0800 crypto: api - 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: Herbert Xu commit 376bacb0a26bca722981d1610ffb76f951572bb1 Author: Frank Seidel Date: Sun Mar 29 15:18:39 2009 +0800 crypto: tcrypt - Reduce stack size Applying kernel janitors todos (printk calls need KERN_* constants on linebeginnings, reduce stack footprint where possible) to tcrypts test_hash_speed (where stacks memory footprint was very high (on i386 1184 bytes to 160 now). Signed-off-by: Frank Seidel Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 0f6ce3de4ef6ff940308087c49760d068851c1a7 Author: Steven Rostedt Date: Mon Jun 1 21:51:28 2009 -0400 ftrace: do not profile functions when disabled A race was found that if one were to enable and disable the function profiler repeatedly, then the system can panic. This was because a profiled function may be preempted just before disabling interrupts. While the profiler is disabled and then reenabled, the preempted function could start again, and access the hash as it is being initialized. This just adds a check in the irq disabled part to check if the profiler is enabled, and if it is not then it will just exit. When the system is disabled, the profile_enabled variable is cleared before calling the unregistering of the function profiler. This unregistering calls stop machine which also acts as a synchronize schedule. [ Impact: fix panic in enabling/disabling function profiler ] Signed-off-by: Steven Rostedt commit 112f38a7e36e9d688b389507136bf3af3e6d159b Author: Steven Rostedt Date: Mon Jun 1 15:16:05 2009 -0400 tracing: make trace pipe recognize latency format flag The trace_pipe did not recognize the latency format flag and would produce different output than the trace file. The problem was partly due that the trace flags in the iterator was not set as well as the trace_pipe zeros out part of the iterator (including the flags) to be able to use the same routines as the trace file. trace_flags of the iterator should not cause any problems when not zeroed out by for trace_pipe. Reported-by: Johannes Berg Signed-off-by: Steven Rostedt commit 1d080d6c3141623c92caaebe20e847cb99ccbb60 Author: Steven Rostedt Date: Mon Jun 1 12:20:40 2009 -0400 tracing: remove redundant SOFTIRQ from softirq event traces After converting the softirq tracer to use te flags options, this caused a regression with the name. Since the flag was used directly it was printed out (i.e. HRTIMER_SOFTIRQ). This patch only shows the softirq name without the SOFTIRQ part. [ Impact: fix regression of output from softirq events ] Signed-off-by: Steven Rostedt commit ec081ddc3d90aab35bc0de19a358b964978837cf Author: Steven Whitehouse Date: Mon Jun 1 15:53:35 2009 +0100 tracing: add exports to use __print_symbolic and __print_flags from a module A patch to allow the use of __print_symbolic and __print_flags from a module. This allows the current GFS2 tracing patch to build. Signed-off-by: Steven Whitehouse LKML-Reference: <1243868015.29604.542.camel@localhost.localdomain> Signed-off-by: Steven Rostedt commit 7fcb7c472f455d1711eb5a7633204dba8800a6d6 Author: Li Zefan Date: Mon Jun 1 15:35:46 2009 +0800 tracing/events: introduce __dynamic_array() __string() is limited: - it's a char array, but we may want to define array with other types - a source string should be available, but we may just know the string size We introduce __dynamic_array() to break those limitations, and __string() becomes a wrapper of it. As a side effect, now __get_str() can be used in TP_fast_assign but not only TP_print. Take XFS for example, we have the string length in the dirent, but the string itself is not NULL-terminated, so __dynamic_array() can be used: TRACE_EVENT(xfs_dir2, TP_PROTO(struct xfs_da_args *args), TP_ARGS(args), TP_STRUCT__entry( __field(int, namelen) __dynamic_array(char, name, args->namelen + 1) ... ), TP_fast_assign( char *name = __get_str(name); if (args->namelen) memcpy(name, args->name, args->namelen); name[args->namelen] = '\0'; __entry->namelen = args->namelen; ), TP_printk("name %.*s namelen %d", __entry->namelen ? __get_str(name) : NULL __entry->namelen) ); [ Impact: allow defining dynamic size arrays ] Signed-off-by: Li Zefan LKML-Reference: <4A2384D2.3080403@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit a9c1c3abe1160a5632e48c929b02b740556bf423 Author: Li Zefan Date: Mon Jun 1 15:35:13 2009 +0800 tracing/events: put TP_fast_assign into braces Currently TP_fast_assign has a limitation that we can't define local variables in it. Here's one use case when we introduce __dynamic_array(): TP_fast_assign( type *p = __get_dynamic_array(item); foo(p); bar(p); ), [ Impact: allow defining local variables in TP_fast_assign ] Signed-off-by: Li Zefan LKML-Reference: <4A2384B1.90100@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6e25db44a7ad7eb380f4ec774ec00a8fcddea112 Author: Li Zefan Date: Fri May 29 11:24:59 2009 +0800 tracing/events: fix a typo in __string() format output "tsize" should be "\tsize". Also remove the space before "__str_loc". Before: # cat tracing/events/irq/irq_handler_entry/format ... field:int irq; offset:12; size:4; field: __str_loc name; offset:16;tsize:2; ... After: # cat tracing/events/irq/irq_handler_entry/format ... field:int irq; offset:12; size:4; field:__str_loc name; offset:16; size:2; ... [ Impact: standardize __string field description in events format file ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 897f17a65389a26509bd0c79a9812d1c9ea8ea6f Author: Steven Rostedt Date: Thu May 28 16:31:21 2009 -0400 tracing: combine the default tracers into one config Both event tracer and sched switch plugin are selected by default by all generic tracers. But if no generic tracer is enabled, their options appear. But ether one of them will select the other, thus it only makes sense to have the default tracers be selected by one option. [ Impact: clean up kconfig menu ] Signed-off-by: Steven Rostedt commit 5e0a093910876882f91f1d4b8a1635a099e6c7ba Author: Steven Rostedt Date: Thu May 28 15:50:13 2009 -0400 tracing: fix config options to not show when automatically selected There are two options that are selected by all tracers, but we want to have those options available when no tracer is selected. These are The event tracer and sched switch tracer. The are enabled by all tracers, but if a tracer is not selected we want the options to appear. All tracers including them select TRACING. Thus what we would like to do is: config EVENT_TRACER bool "prompt" depends on TRACING select TRACING But that gives us a bug in the kbuild system since we just created a circular dependency. We only want the prompt to show when TRACING is off. This patch adds GENERIC_TRACER that all tracers will select instead of TRACING. The two options (sched switch and event tracer) will select TRACING directly and depend on !GENERIC_TRACER. This solves the cicular dependency. [ Impact: hide options that are selected by default ] Signed-off-by: Steven Rostedt commit 2af15d6a44b871ad4c2a651302374cde8f335480 Author: Steven Rostedt Date: Thu May 28 13:37:24 2009 -0400 ftrace: add kernel command line function filtering When using ftrace=function on the command line to trace functions on boot up, one can not filter out functions that are commonly called. This patch adds two new ftrace command line commands. ftrace_notrace=function-list ftrace_filter=function-list Where function-list is a comma separated list of functions to filter. The ftrace_notrace will make the functions listed not be included in the function tracing, and ftrace_filter will only trace the functions listed. These two act the same as the debugfs/tracing/set_ftrace_notrace and debugfs/tracing/set_ftrace_filter respectively. The simple glob expressions that are allowed by the filter files can also be used by the command line interface. ftrace_notrace=rcu*,*lock,*spin* Will not trace any function that starts with rcu, ends with lock, or has the word spin in it. Note, if the self tests are enabled, they may interfere with the filtering set by the command lines. Signed-off-by: Steven Rostedt commit 138f025267dcc07d5e7d0bb1f20e9a6b5f2fdcf7 Author: Kuninori Morimoto Date: Tue Jun 2 02:49:28 2009 +0000 sh: sh7723: L2 cache initialization. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b4bd9eb0d8f5c20f942ff037c8a7939f69cb188a Author: Kuninori Morimoto Date: Tue Jun 2 02:49:25 2009 +0000 sh: sh7724: L2 cache initialization. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit fab88d9fe98e9091aafeb9789fbf2e04fdace8ed Author: Kuninori Morimoto Date: Tue Jun 2 02:49:20 2009 +0000 sh: add weak l2_cache_init function. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit d974ac24b762296eeaebb23e5eff8ed15ce44529 Author: Kuninori Morimoto Date: Tue Jun 2 02:49:13 2009 +0000 sh: add RAMCR definition for sh4 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit dd0a3e77c825c9f5c6d2a97deb047f8d52026581 Author: SUGIOKA Toshinobu Date: Mon Jun 1 03:53:41 2009 +0000 serial: sh-sci: Fix up PORT_SCI console output ordering. Fix SCI transmission sequence in console output function. This reorders the write sequence to match the SH-3 manual, and corrects a console corruption bug observed on SH-3 SCI. Signed-off-by: Toshinobu Sugioka Signed-off-by: Paul Mundt commit 4778541470cf7d074acd998fd40c06b94711e4ad Author: Kuninori Morimoto Date: Fri May 29 07:41:26 2009 +0000 sh: fix CONFIG_SH_PCLK_FREQ bug for sh7724 CONFIG_SH_PCLK_FREQ=33333333 is correct for sh7724. sh7724 master clock is 33333333, but peripheral is 41666666. This bug came to light because sh-sci driver had changed clk from "module_clk" to "peripheral_clk" Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c8c96525f3c25f43a4fa230e293c4976c0c36cc1 Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 17:50:57 2009 -0300 perf_counter tools: Add missing rb_erase in dso__delete_symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090601205057.GB7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a0055ae2a4e13db9534c438cf8f3896181da6afc Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 17:50:19 2009 -0300 perf_counter tools: Use hex2u64 in more places This has also a nice side effect, tools built on newer systems such as fedora 10 again work on systems with older versions of glibc: My workstation: [acme@doppio ~]$ rpm -q glibc.x86_64 glibc-2.9-3.x86_64 Test machine: [acme@emilia ~]$ rpm -q glibc.x86_64 glibc-2.5-24 Before: [acme@emilia ~]$ perf perf: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by perf) [acme@emilia ~]$ nm `which perf` | grep GLIBC_2\.7 U __isoc99_sscanf@@GLIBC_2.7 [acme@emilia ~]$ After: [acme@emilia ~]$ perf usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile stat Run a command and gather performance counter statistics top Run a command and profile it See 'perf help COMMAND' for more information on a specific command. [acme@emilia ~]$ nm `which perf` | grep GLIBC_2\.7 [acme@emilia ~]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090601205019.GA7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit ea5cc87c63b49c133d15ec2911bb2e49e8124516 Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 22:31:03 2009 -0300 perf_counter tools: Add string.[ch] Add hex conversion libraries. We are going to replace sscanf() uses with them. Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit baf75b0a42a1b3f6fca80f8949b6141eaff61b0d Author: Stephen Rothwell Date: Mon Jun 1 14:53:53 2009 +0000 powerpc/pci: Fix annotation of pcibios_claim_one_bus It was __devinit, but it is also within a CONFIG_HOTPLUG guarded section of code, so the __devinit does nothing but cause the following warning: WARNING: vmlinux.o(.text+0x107a8): Section mismatch in reference from the function pcibios_finish_adding_to_bus() to the function .devinit.text:pcibios_claim_one_bus() The function pcibios_finish_adding_to_bus() references the function __devinit pcibios_claim_one_bus(). This is often because pcibios_finish_adding_to_bus lacks a __devinit annotation or the annotation of pcibios_claim_one_bus is wrong. It is also only (externally) used in arch/powerpc/kernel/of_platform.c which cannot be built as a module so don't export it. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 3d58829b0510244596079c1d2f1762c53aef2e97 Author: Jiri Slaby Date: Thu May 28 09:54:47 2009 +0200 x86, apic: Restore irqs on fail paths lapic_resume forgets to restore interrupts on fail paths. Fix that. Signed-off-by: Jiri Slaby Acked-by: Cyrill Gorcunov LKML-Reference: <1243497289-18591-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit 92e02a5125a22a4da58090c94f520432da700d73 Author: Michael Ellerman Date: Thu May 28 19:33:36 2009 +0000 powerpc/ftrace: Use PPC_INST_NOP directly There's no need to wrap PPC_INST_NOP in a static inline. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 898b160fe9d84b7e194c9ed0495193952909c9bd Author: Michael Ellerman Date: Thu May 28 19:33:35 2009 +0000 powerpc/ftrace: Remove unused macros These macros were used in the original port, but since commit e4486fe316 (ftrace, use probe_kernel API to modify code) they are unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 4a9e3f8e94d6740fbd3f149f2aa4caa82a6427ed Author: Michael Ellerman Date: Thu May 28 19:33:34 2009 +0000 powerpc/ftrace: Use ppc_function_entry() instead of GET_ADDR Use ppc_function_entry() from code-patching.h. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f03cdb3a66901bb301b9d06ac0690de00d99ad39 Author: Nathan Fontenot Date: Wed May 27 04:41:21 2009 +0000 powerpc: Display processor virtualization resource allocs in lparcfg This patch updates the output from /proc/ppc64/lparcfg to display the processor virtualization resource allocations for a shared processor partition. This information is already gathered via the h_get_ppp call, we just have to make sure that the ibm,partition-performance-parameters-level property is >= 1 to ensure that the information is valid. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit f8729e8531cd92e892dd85a3d10669834ad0b23c Author: Anton Blanchard Date: Mon May 25 20:25:49 2009 +0000 powerpc: Convert RTAS event scan from kernel thread to workqueue RTAS event scan has to run across all cpus. Right now we use a kernel thread and set_cpus_allowed but in doing so we wake up the previous cpu unnecessarily. Some ftrace output shows this: previous cpu (2): [002] 7.022331: sched_switch: task swapper:0 [140] ==> rtasd:194 [120] [002] 7.022338: sched_switch: task rtasd:194 [120] ==> migration/2:9 [0] [002] 7.022344: sched_switch: task migration/2:9 [0] ==> swapper:0 [140] next cpu (3): [003] 7.022345: sched_switch: task swapper:0 [140] ==> rtasd:194 [120] [003] 7.022371: sched_switch: task rtasd:194 [120] ==> swapper:0 [140] We can use schedule_delayed_work_on and avoid the unnecessary wakeup. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 0512a9a8e277a9de2820211eef964473b714ae65 Author: Michel Dänzer Date: Fri May 22 10:59:10 2009 +0000 therm_adt746x: Always clear hardware bit which inverts fan speed range. This bit would get enabled sometimes (probably after suspend/resume), so the fan would run at full speed below the temperature thresholds, but slow down and eventually stop if temperatures rose above the thresholds... not exactly what you want. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit a85c8e17587e81e1c82f6f341a81e4c778fa65f6 Author: roel kluin Date: Tue May 19 14:58:56 2009 +0000 tape: beyond ARRAY_SIZE of viocd_diskinfo Do not go beyond ARRAY_SIZE of tape_device and viotape_unitinfo Signed-off-by: Roel Kluin Acked-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 2d8ae638bb86a3c7e8a7e610ec5ae545327d146a Author: Michael Neuling Date: Sun May 17 15:13:16 2009 +0000 powerpc: Make the NR_CPUS max 8192 We can compile and boot with NR_CPUS=8192, so make this the max. 1024 was an arbitrary decision anyway. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 58f892e022e88438183c48661dcdc6a2997dab99 Author: Naga Chumbalkar Date: Tue May 26 21:48:07 2009 +0000 x86: Print real IOAPIC version for x86-64 Fix the fact that the IOAPIC version number in the x86_64 code path always gets assigned to 0, instead of the correct value. Before the patch: (from "dmesg" output): ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 8, version 0, address 0xfec00000, GSI 0-23 <--- After the patch: ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23 <--- History: io_apic_get_version() was compiled out of the x86_64 code path in the commit f2c2cca3acef8b253a36381d9b469ad4fb08563a: Author: Andi Kleen Date: Tue Sep 26 10:52:37 2006 +0200 [PATCH] Remove APIC version/cpu capability mpparse checking/printing ACPI went to great trouble to get the APIC version and CPU capabilities of different CPUs before passing them to the mpparser. But all that data was used was to print it out. Actually it even faked some data based on the boot cpu, not on the actual CPU being booted. Remove all this code because it's not needed. Cc: len.brown@intel.com At the time, the IOAPIC version number was deliberately not printed in the x86_64 code path. However, after the x86 and x86_64 files were merged, the net result is that the IOAPIC version is printed incorrectly in the x86_64 code path. The patch below provides a fix. I have tested it with acpi, and with acpi=off, and did not see any problems. Signed-off-by: Naga Chumbalkar Acked-by: Yinghai Lu LKML-Reference: <20090416014230.4885.94926.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar ************************* commit b20f3b834673be9ead83a3c6f07fa3881d1a990f Author: Takashi Iwai Date: Tue Jun 2 01:20:22 2009 +0200 ALSA: hda - Limit codec-verb retry to limited hardwares The reset of a BUS controller during operations is somehow risky and shouldn't be done inevitably for devices that have apparently no such codec-communication problems. This patch adds the check of the hardware and limits the bus-reset capability. Signed-off-by: Takashi Iwai commit 8dd783304e6d0f7c2830365d63f75f08aa343e10 Author: Takashi Iwai Date: Tue Jun 2 01:16:07 2009 +0200 ALSA: hda - Add codec bus reset and verb-retry at critical errors Some machines machine cause a severe CORB/RIRB stall in certain weird conditions, such as PA access at the start up together with fglrx driver. This seems unable to be recovered without the controller reset. This patch allows the bus controller reset at critical errors so that the communication gets recovered again. Signed-off-by: Takashi Iwai commit 43bd1236234cacbc18d1476a9b57e7a306efddf5 Author: Frederic Weisbecker Date: Sat May 30 04:25:30 2009 +0200 tracing/stat: remove unappropriate safe walk on list register_stat_tracer() uses list_for_each_entry_safe to check whether a tracer is already present in the list. But we don't delete anything from the list here, so we don't need the safe version [ Impact: cleanup list use is stat tracing ] Signed-off-by: Frederic Weisbecker commit dbd3fbdfeecfad4e71139db05d72560c3583e2a9 Author: Li Zefan Date: Wed May 27 11:42:46 2009 +0800 tracing/stat: do some cleanups - remove duplicate code in stat_seq_init() - update comments to reflect the change from stat list to stat rbtree [ Impact: clean up ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit e16228069083a2f6b94383ac5739aea7a0f38ce4 Author: Li Zefan Date: Wed May 27 11:04:48 2009 +0800 tracing/stat: remember to free root node When closing a trace_stat file, we destroy the rbtree constructed during file open, but there is memory leak that the root node is not freed. [ Impact: fix memory leak when closing a trace_stat file ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit b3dd7ba7d862707800c7ac45068f14ade2b65155 Author: Li Zefan Date: Wed May 27 11:04:26 2009 +0800 tracing/stat: change dummpy_cmp() to return -1 Currently the output of trace_stat/workqueues is totally reversed: # cat /debug/tracing/trace_stat/workqueues ... 1 17 17 210 37 `-blk_unplug_work+0x0/0x57 1 3779 3779 181 11 |-cfq_kick_queue+0x0/0x2f 1 3796 3796 kblockd/1:120 ... The correct output should be: 1 3796 3796 kblockd/1:120 1 3779 3779 181 11 |-cfq_kick_queue+0x0/0x2f 1 17 17 210 37 `-blk_unplug_work+0x0/0x57 It's caused by "tracing/stat: replace linked list by an rbtree for sorting" (53059c9b67a62a3dc8c80204d3da42b9267ea5a0). dummpy_cmp() should return -1, so rb_node will always be inserted as right-most node in the rbtree, thus we sort the output in ascending order. [ Impact: fix the output of trace_stat/workqueues ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 8f184f27300f66f6dcc8296c2dae7a1fbe8429c9 Author: Frederic Weisbecker Date: Sat May 16 06:24:36 2009 +0200 tracing/stat: replace linked list by an rbtree for sorting When the stat tracing framework prepares the entries from a tracer to output them to the user, it starts by computing a linear sort through a linked list to give the entries ordered by relevance to the user. This is quite ugly and causes a small latency when we begin to read the file. This patch changes that by turning the linked list into a red-black tree. Athough the whole iteration using the start and next tracer callbacks while opening the file remain the same, it is now much more fast and scalable. The rbtree guarantees O(log(n)) insertions whereas a linked list with linear sorting brought us a O(n) despair. Now the (visible) latency has disapeared. [ Impact: kill the latency while starting to read a stat tracer file ] Signed-off-by: Frederic Weisbecker commit 0d64f8342de26d02451900b1aad94716fe92c4ab Author: Frederic Weisbecker Date: Sat May 16 05:58:49 2009 +0200 tracing/stat: replace trace_stat_session by stat_session The "trace" prefix in struct trace_stat_session type is annoying while reading the trace_stat.c file. It makes the lines longer, and is not that much useful to explain the sense of this type. Just keep "struct stat_session" for this type. [ Impact: make the code a bit more readable ] Signed-off-by: Frederic Weisbecker commit f3c4ae26e93d354152196b62797ba86ad86dd0cc Author: Zhaolei Date: Mon Apr 20 15:02:17 2009 +0800 trace_workqueue: remove blank line between each cpu The blankline between each cpu's workqueue stat is not necessary, because the cpu number is enough to part them by eye. Old style also caused a blankline below headline, and made code complex by using lock, disableirq and get cpu var. Old style: # CPU INSERTED EXECUTED NAME # | | | | 0 8644 8644 events/0 0 0 0 cpuset ... 0 1 1 kdmflush 1 35365 35365 events/1 ... New style: # CPU INSERTED EXECUTED NAME # | | | | 0 8644 8644 events/0 0 0 0 cpuset ... 0 1 1 kdmflush 1 35365 35365 events/1 ... [ Impact: provide more readable code ] Signed-off-by: Zhao Lei Cc: KOSAKI Motohiro Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit b8867164f05791a6b5363bd51c1274e03600886e Author: Zhaolei Date: Mon Apr 20 14:59:36 2009 +0800 trace_workqueue: remove cpu_workqueue_stats->first_entry cpu_workqueue_stats->first_entry is useless because we can retrieve the header of a cpu workqueue using: if (&cpu_workqueue_stats->list == workqueue_cpu_stat(cpu)->list.next) [ Impact: cleanup ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit 1fdfca9c577aac96a559c1ea68f5c9156f17d636 Author: Zhaolei Date: Mon Apr 20 14:58:26 2009 +0800 trace_workqueue: use list_for_each_entry() instead of list_for_each_entry_safe() No need to use list_for_each_entry_safe() in iteration without deleting any node, we can use list_for_each_entry() instead. [ Impact: cleanup ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit fb39125fd79a25c5002f3b45cf4c80e3fa6b961b Author: Zhaolei Date: Fri Apr 17 15:15:51 2009 +0800 ftrace, workqueuetrace: make workqueue tracepoints use TRACE_EVENT macro v3: zhaolei@cn.fujitsu.com: Change TRACE_EVENT definition to new format introduced by Steven Rostedt: consolidate trace and trace_event headers v2: kosaki@jp.fujitsu.com: print the function names instead of addr, and zap the work addr v1: zhaolei@cn.fujitsu.com: Make workqueue tracepoints use TRACE_EVENT macro TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to the tracepoints: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Then, this patch converts DEFINE_TRACE to TRACE_EVENT in workqueue related tracepoints. [ Impact: expand workqueue tracer to events tracing ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: KOSAKI Motohiro Signed-off-by: Frederic Weisbecker commit 8871e5b91518a47284b6bc2603b44dbc79c85446 Author: Takashi Iwai Date: Tue Jun 2 01:02:50 2009 +0200 ALSA: hda - Reorder and clean-up ALC268 quirk table Rearrange alc268_cfg_tbl[] in the order of vendor id, and group some entries using SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai commit d22142aa1b23d64d01f87a94b5756ff6cbd1022f Author: Ozan Çağlayan Date: Mon Jun 1 23:13:17 2009 +0300 ALSA: hda - fix audio on LG R510 Currently, LG R510 is only able to produce sound on headphones, the internal speakers are not working. The user tested and confirmed that with model=Dell headphones, internal speakers and the microphone are working flawlessly. Tested-by: Serdar Soytetir Signed-off-by: Ozan Çağlayan Signed-off-by: Takashi Iwai commit 92b9de8342c6ad0d930333851190ed25b88b190c Author: Kacper Szczesniak Date: Tue Jun 2 00:55:19 2009 +0200 ALSA: hda - Macbook[Pro] 5 6ch support this is a patch against current snapshot that adds: 6 channels support for the MB5 model Signed-off-by: Kacper Szczesniak Signed-off-by: Takashi Iwai commit eaf1ac8bb58888e0773c0b81dfedb9d7c0123a1d Author: Peter Ujfalusi Date: Mon Jun 1 14:06:40 2009 +0300 ASoC: TWL4030: Check the interface format for 4 channel mode In addition to the operating mode check, also check the codec's interface format in case of four channel mode. If the codec is not in TDM (DSP_A) mode, return with error. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 48b1fddbb100a64f3983ca9768b8ea629a09aa20 Merge: 3873607 ee4c24a Author: H. Peter Anvin Date: Mon Jun 1 15:13:02 2009 -0700 Merge branch 'irq/numa' into x86/mce3 Merge reason: arch/x86/kernel/irqinit_{32,64}.c unified in irq/numa and modified in x86/mce3; this merge resolves the conflict. Conflicts: arch/x86/kernel/irqinit.c Signed-off-by: H. Peter Anvin commit ee4c24a5c9b530481394132c8dbc10572d57c075 Merge: 3d58f48 3e0c373 Author: Ingo Molnar Date: Mon Jun 1 22:29:35 2009 +0200 Merge branch 'x86/cpufeature' into irq/numa Merge reason: irq/numa didnt build because this commit: 2759c32: x86: don't call read_apic_id if !cpu_has_apic Had a dependency on x86/cpufeature changes. Pull in that (small) branch to fix the dependency. Signed-off-by: Ingo Molnar commit 3d58f48ba05caed9118bce62b3047f8683438835 Merge: abfe0af d9244b5 Author: Ingo Molnar Date: Mon Jun 1 21:06:21 2009 +0200 Merge branch 'linus' into irq/numa Conflicts: arch/mips/sibyte/bcm1480/irq.c arch/mips/sibyte/sb1250/irq.c Merge reason: we gathered a few conflicts plus update to latest upstream fixes. Signed-off-by: Ingo Molnar commit 4156e735d3abde8e9243b5d22f7999dd3fffab2e Author: Felix Blyakher Date: Mon Jun 1 13:13:24 2009 -0500 xfs: prevent deadlock in xfs_qm_shake() It's possible to recurse into filesystem from the memory allocation, which deadlocks in xfs_qm_shake(). Add check for __GFP_FS, and bail out if it is not set. Signed-off-by: Felix Blyakher Signed-off-by: Hedi Berriche Reviewed-by: Christoph Hellwig Reviewed-by: Andi Kleen Signed-off-by: Felix Blyakher commit 229c4eedcedcdadf70411120ba34bc37554a74bd Author: Mike Galbraith Date: Thu May 28 16:28:53 2009 +0200 perf_counter tools: Guard against record damaging existing files Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 22a4f650d686eeaac3629dae1c4294381485efdf Author: Ingo Molnar Date: Mon Jun 1 10:13:37 2009 +0200 perf_counter: Tidy up style details - whitespace fixlets - make local variable definitions more consistent [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c7f7ff179cb9f2f1e0244ef2c80afbb93c74ce2a Merge: a22f277 e03cdad Author: Russell King Date: Mon Jun 1 18:35:26 2009 +0100 Merge branch 'smp' into devel commit 0e4835c198e7dd9d814de25a17a1d6682107c394 Author: Jaroslav Kysela Date: Mon May 25 16:44:20 2009 +0200 ALSA: hda-intel: improve initialization for ALC262_HP_BPC model Fix issues for 3 generations of HP workstations. The modest modifications do the following: 1. Change the second MIC from device 3 to device 1 2. Init the "boost" values to "0" by default From: John Brown Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 0bf8513ed0df64b38edce63411d4b7b368464f47 Author: Paul Mundt Date: Mon Jun 1 19:50:08 2009 +0900 sh: Tidy up SH-4A boot_cpu_data.flags probing. This tidies up the boot_cpu_data.flags probing on SH-4A. All of them have a few things in common, which we can blindly set, rather than having each subtype have to set the same flags. We can also make assumptions about cache ways and the validity of PTEA, so this also kills off CPU_HAS_PTEA as a config option. There was also a bug in the FPU probing, which is now tidied up. Signed-off-by: Paul Mundt commit 0210b66dd88a2a1e451901b00378a2068b6ccb35 Author: Stefan Richter Date: Sat May 23 00:03:29 2009 +0200 firewire: core: add sysfs attribute for easier udev rules This adds the attribute /sys/bus/firewire/devices/fw[0-9]+/units. It can be used in udev rules like the following ones: # IIDC devices: industrial cameras and some webcams SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010?*", GROUP="video" # AV/C devices: camcorders, set-top boxes, TV sets, audio devices, ... SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video" Background: firewire-core manages two device types: - fw_device is a FireWire node. A character device file is associated with it. - fw_unit is a unit directory on a node. Each fw_device may have 0..n children of type fw_unit. The units tell us what kinds of protocols a node implements. We want to set ownership or ACLs or permissions of the character device file of an fw_device, or/and create symlinks to it, based on available protocols. Until now udev rules had to look at the fw_unit devices and then modify their parent's character device file accordingly. This is problematic for two reasons: 1) It happens sometime after the creation of the fw_device, 2) an access policy may require that information from all children is evaluated before a decision about the parent is made. Problem 1) can ultimately not be avoided since this is the nature of FireWire nodes: They may add or remove unit directories at any point in time. However, we can still help userland a lot by providing the protocol type information of all units in a summary sysfs attribute directly at the fw_device. This way, - the information is immediately available at the affected device when userspace goes about to handle an ADD or CHANGE event of the fw_device, - with most policies, it won't be necessary anymore to dig through child attributes. The new attribute is called "units". It contains space-separated tuples of specifier_id and version of each present unit. The delimiter within tuples is a colon. Specifier_id and version are printed as 0x%06x. Here is an example of a node which implements an IPv4 unit and an IPv6 unit: $ cat /sys/bus/firewire/devices/fw2/units 0x00005e:0x000001 0x00005e:0x000002 Signed-off-by: Stefan Richter commit e5333db9285e088a98f4bad5147bfb0b4665fafb Author: Stefan Richter Date: Fri May 22 23:16:27 2009 +0200 firewire: core: check for missing struct update at build time, not run time struct fw_attribute_group.attrs.[] must have enough room for all attributes. This can and should be checked at build time. Our previous check at run time was a little late and not reliable since most of the time less than the available attributes are populated. Furthermore, omit an increment of an index at its last usage. Signed-off-by: Stefan Richter commit 7863d3f7aeae05099a38693a0a7eb7bdc7b2ab05 Author: Paul Mundt Date: Mon Jun 1 19:38:41 2009 +0900 sh: Tidy up the optional L2 probing, wire it up for SH7786. This tidies up the L2 probing, as it may or may not be implemented on a CPU, regardless of whether it is supported. This converts the cvr validity checks from BUG_ON()'s to simply clearing the CPU_HAS_L2_CACHE flag and moving on with life. Signed-off-by: Paul Mundt commit c930a66220bac0815cca74eef94ada221377ffba Author: Joe Perches Date: Sun May 31 20:44:54 2009 +0000 atl1c_main.c: add wait_for_idle routine Slight refactoring of duplicated wait for idle checks Spelling fix Signed-off-by: Joe Perches Acked-by: jie.yang@atheros.com Signed-off-by: David S. Miller commit 56d417b12e57dfe11c9b7ba4bea3882c62a55815 Author: Brian Haley Date: Mon Jun 1 03:07:33 2009 -0700 IPv6: Add 'autoconf' and 'disable_ipv6' module parameters Add 'autoconf' and 'disable_ipv6' parameters to the IPv6 module. The first controls if IPv6 addresses are autoconfigured from prefixes received in Router Advertisements. The IPv6 loopback (::1) and link-local addresses are still configured. The second controls if IPv6 addresses are desired at all. No IPv6 addresses will be added to any interfaces. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 0220ff7fc35913dcd8cdf8fb3a0966caf4aed2f3 Author: Stefan Weil Date: Sun May 31 10:59:15 2009 +0000 cpmac: prevent fatal exception in cpmac_end_xmit We should not be stopping the subqueues in cpmac_end_xmit but rather test the status of them. Replace the calls to netif_subqueue_stop by __netif_subqueue_stopped. This fixes an unrecoverable exception from happening when running the driver. Signed-off-by: Stefan Weil Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 69bd4ae5dc1ddb3c01e7668c7fd088904082a70c Author: Florian Fainelli Date: Sun May 31 10:57:07 2009 +0000 cpmac: remove unused variable. This patch removes the unused variables in cpmac_hw_error, cpmac_tx_timeout and cpmac_probe. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d1a277c584d0862dbf51991baea947ea5f2ce6bf Author: Wolfgang Grandegger Date: Sat May 30 07:55:50 2009 +0000 can: sja1000: generic OF platform bus driver This patch adds a generic driver for SJA1000 chips on the OpenFirmware platform bus found on embedded PowerPC systems. You need a SJA1000 node definition in your flattened device tree source (DTS) file similar to: can@3,100 { compatible = "nxp,sja1000"; reg = <3 0x100 0x80>; interrupts = <2 0>; interrupt-parent = <&mpic>; nxp,external-clock-frequency = <16000000>; }; See also Documentation/powerpc/dts-bindings/can/sja1000.txt. CC: devicetree-discuss@ozlabs.org Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 255a9154319d3cf475d527458037758935f6445b Author: Wolfgang Grandegger Date: Sat May 30 07:55:49 2009 +0000 can: sja1000: stop misusing member base_addr of struct net_device As discussed on the netdev mailing list, the member "base_addr" of "struct net_device" should not be (mis)used to store the virtual address to the SJA1000 register area. According to David Miller, it's only use is to allow ISA and similar primitive bus devices to have their I/O ports changed via ifconfig. The virtual address is now stored in the private data structure of the SJA1000 device and the callback functions use "struct sja1000_priv" instead of the unneeded "struct net_device". Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 128ced8f9d59bb3e36fbb4df87bd9d881f0a4463 Author: Wolfgang Grandegger Date: Sat May 30 07:55:48 2009 +0000 can: some fixes and cleanups to the initial device driver interface This patch fixes a few errors sneaked into the initial version of the device driver interface. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 7c922de709b90badc19705e4f998e6d5b44c419b Author: Nickolas Lloyd Date: Mon Jun 1 11:12:29 2009 +0200 ALSA: hda - Jack Mode changes for Sigmatel boards This patch changes Line In as Out Switch and Mic In as Out Switch to enums for consistency, and causes all mic and line in ports to be probed and controls to be added appropriately. Signed-off-by: Nickolas Lloyd Signed-off-by: Takashi Iwai commit 43909a938063f9b6f98c05a2e28b072dd972ece7 Author: Magnus Damm Date: Thu May 28 13:13:56 2009 +0000 sh: hook up shared div4 clock code to sh7785 Hook up the shared 4-bit divisor clock code to sh7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a1153e27eec25e9963f5843ba8932952bd9847ac Author: Magnus Damm Date: Thu May 28 13:11:31 2009 +0000 sh: shared div4 clock code Add shared code for 4-bit divisor clocks. Processor specific code can use SH_CLK_DIV4() to initialize div4 clocks, and then use sh_clk_div4_register() for registration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e89d53e60593ee7066e1d36ab5c1ccf2648f5f53 Author: Magnus Damm Date: Thu May 28 13:01:53 2009 +0000 sh: hook up shared mstp32 clock code to sh7785 Hook up the shared 32-bit module stop bit code to sh7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6881e8bf3d86b23dd124134fae113ebd05fae08a Author: Magnus Damm Date: Thu May 28 12:52:29 2009 +0000 sh: shared mstp32 clock code Add shared 32-bit module stop bit clock support. Processor specific code can use SH_CLK_MSTP32() to initialize module stop bit clocks, and then use sh_clk_mstp32() for registration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a3d6ab9723060e8d67e28a8d9142e6d08953d07b Author: Wei Ni Date: Mon Jun 1 16:37:28 2009 +0800 ALSA: hda - Support NVIDIA 8 channel HDMI audio Support 8 channel HDMI audio for MCP78/7A Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai commit eb366d4c95f546bb46a536387a4aca00ed2eda6a Author: Linus Walleij Date: Mon Jun 1 08:25:17 2009 +0100 [ARM] 5533/1: Add U300 series defconfig This adds a defconfig for the U300 series ST-Ericsson mobile platforms. It will be maintained to enable the maximum set of drivers so as to provide a good regression testing target for these platforms. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 6efd2cd5e8c566b9c2b4c19830e5e120b442d040 Author: Takashi Iwai Date: Mon Jun 1 10:59:51 2009 +0200 ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX Added a half-working quirk for Roland/Edirol M-16DX. This enables the capture on the device but the playback on it seems still problematic becuase of lack of sync with the capture clock. Signed-off-by: Takashi Iwai commit 93bfd01227408a62006a4e4f640a6056abc6af7a Author: Andrea Borgia Date: Mon Jun 1 10:48:54 2009 +0200 ALSA: usb-audio - quirk for USB Aureon cards Add quirk to provide proper naming of the Terratec Aureon 5.1 MkII USB card. Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 880ca15adf2392770a68047e7a98e076ff4d21da Author: Paul Mackerras Date: Mon Jun 1 17:49:14 2009 +1000 perf_counter: Allow software counters to count while task is not running This changes perf_swcounter_match() so that per-task software counters can count events that occur while their associated task is not running. This will allow us to use the generic software counter code for counting task migrations, which can occur while the task is not scheduled in. To do this, we have to distinguish between the situations where the counter is inactive because its task has been scheduled out, and those where the counter is inactive because it is part of a group that was not able to go on the PMU. In the former case we want the counter to count, but not in the latter case. If the context is active, we have the latter case. If the context is inactive then we need to know whether the counter was counting when the context was last active, which we can determine by comparing its ->tstamp_stopped timestamp with the context's timestamp. This also folds three checks in perf_swcounter_match, checking perf_event_raw(), perf_event_type() and perf_event_id() individually, into a single 64-bit comparison on counter->hw_event.config, as an optimization. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.34810.259718.955621@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 25346b93ca079080c9cb23331db5c4f6404e8530 Author: Paul Mackerras Date: Mon Jun 1 17:48:12 2009 +1000 perf_counter: Provide functions for locking and pinning the context for a task This abstracts out the code for locking the context associated with a task. Because the context might get transferred from one task to another concurrently, we have to check after locking the context that it is still the right context for the task and retry if not. This was open-coded in find_get_context() and perf_counter_init_task(). This adds a further function for pinning the context for a task, i.e. marking it so it can't be transferred to another task. This adds a 'pin_count' field to struct perf_counter_context to indicate that a context is pinned, instead of the previous method of setting the parent_gen count to all 1s. Pinning the context with a pin_count is easier to undo and doesn't require saving the parent_gen value. This also adds a perf_unpin_context() to undo the effect of perf_pin_task_context() and changes perf_counter_init_task to use it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.34748.755674.596386@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 23db9f430be9325a861c7762c1ffadad9ca528a8 Merge: 27b9613 3218911 Author: Ingo Molnar Date: Mon Jun 1 10:01:03 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: merge almost-rc8 into perfcounters/core, which was -rc6 based - to pick up the latest upstream fixes. Signed-off-by: Ingo Molnar commit 98fbe45bea77c1804eae0e71f27673db1824a2a8 Author: Kuninori Morimoto Date: Fri May 29 07:41:23 2009 +0000 sh: SH7724 has an L2 cache. Add the CPU_HAS_L2_CACHE flag to SH7724. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1823f6d5e6b81cca6542ed2e5f30d2556aad0f67 Author: Magnus Damm Date: Thu May 28 12:06:17 2009 +0000 sh: sh7785 pll configuration from mode pin This patch modifies the sh7785 clock code to use the MODE4 value to switch between 72x and 36x PLL multiplication. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 63d12e23235d982d8f55696e09b2ff91e3ba0042 Author: Magnus Damm Date: Thu May 28 12:00:25 2009 +0000 sh: sh7785lcr mode pin configuration This patch adds mode pin support to the sh7785lcr board. The harware allows the user to control the mode pins using dip switches S1 and S2, but from the software the pins are fixed to the factory default since we have no way to reading out this configuration from software. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a44b32969bfc29140b9f21a1ec924c796d6ac43 Author: Magnus Damm Date: Mon Jun 1 15:56:00 2009 +0900 sh: sh7785 mode pin definitions This patch adds sh7785 mode pin definitions. Mode pins and pin function controller comments are added as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eb9b9b56eed280e65a9e194aaeb50a5a75111859 Author: Magnus Damm Date: Thu May 28 11:51:51 2009 +0000 sh: boot word / mode pin support V2 Add mode pin support for the SuperH architecture V2. With this patch applied the board code can add their own function to export the cpu mode pin configuration. In most cases this will be a constant bitmap, but boards that allow reading this from a register can instead read out the pin state from hardware. The code warns if a pin is tested but no board specific mode pin function has been provided. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a234bdc9aecc299ba41ffe8023b3ea110df9f51b Author: Pekka Enberg Date: Sun May 31 13:50:38 2009 +0300 slab: document kzfree() zeroing behavior As suggested by Alan Cox, document the fact that kzfree() can zero out a great deal more memory than the what the user requested from kmalloc(). Cc: Alan Cox Signed-off-by: Pekka Enberg commit 27b9613b7be39412775d0ab80f57229aa73bb07d Author: Ingo Molnar Date: Sun May 31 22:09:49 2009 +0200 perf_counter tools: Fix unknown command help text Arjan reported this error when entering an unknown command to perf: $ perf start fatal: Uh oh. Your system reports no Git commands at all. The Git code expects there to be perf-* commands - but since Perf is a 'pure' utility with no dash commands anymore, this old assumption of Git does not hold anymore. Remove that error check. Reported-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit a22f277bba321474a01691ae66d5952926459f44 Author: Russell King Date: Sun May 31 15:02:58 2009 +0100 [ARM] Kconfig: remove 'default n' Kconfig entries default to n, so there's no need for this to be explicitly specified. Signed-off-by: Russell King commit ed31b2dfad01d23446860c983ff94460d7971c48 Author: Russell King Date: Sun May 31 15:08:11 2009 +0100 [ARM] make U300 clk_set_rate() return a _real_ errno Another stupid instance of "return -1"-ism. Signed-off-by: Russell King commit 4dd9e742df98f8f600b4302d3adbb087a68237f7 Author: Alessandro Rubini Date: Tue May 5 05:54:13 2009 +0100 [ARM] 5505/1: serial amba-pl011: move to arch_initcall for earlier console Signed-off-by: Alessandro Rubini " Signed-off-by: Russell King commit 5a9d25150c01bd140ca647b5e7ee75ae18a369a8 Author: Marek Vašut Date: Thu May 21 13:11:05 2009 +0100 [ARM] 5522/1: PalmLD: IDE support Support for Palm LifeDrive's internal harddrive. Signed-off-by: Marek Vasut Acked-by: Jeff Garzik Signed-off-by: Russell King commit 98f420b23a62e0c9df78c5851860d47bf1bc87dd Author: dmitry pervushin Date: Sun May 31 13:32:11 2009 +0100 [ARM] 5532/1: Freescale STMP: register definitions [3/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 3f52326a85666c1cb0210eb5556ef3d483933cfc Author: dmitry pervushin Date: Sun May 31 13:31:55 2009 +0100 [ARM] 5531/1: Freescale STMP: get rid of HW_zzz macros [2/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit e0421bbe6479816ea16c6553b8f376c592e36a85 Author: dmitry pervushin Date: Sun May 31 13:31:14 2009 +0100 [ARM] 5530/1: Freescale STMP: get rid of HW_zzz macros [1/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 8a933ece41a59ce077eeffe5b9bf08b14d173c58 Author: Takashi Iwai Date: Sun May 31 09:28:12 2009 +0200 ALSA: hda - Fix a typo in the previous patch ICH6_GCTL_RESET was wrongly set to another bit by the commit b21fadb9c1852c91622ca1dccfeb144bc535e36e. This caused a problem when the codec needs really a reset (e.g. recovering from the communication error at probe). Signed-off-by: Takashi Iwai commit 86d15cd83363a9787039895cb1a1b6be50f82ad3 Author: Eric Dumazet Date: Sat May 30 23:04:46 2009 -0700 net: unset IFF_XMIT_DST_RELEASE for qeth and ipoib Last two drivers that need skb->dst in their start_xmit() function Tell dev_hard_start_xmit() to no release it by unsetting IFF_XMIT_DST_RELEASE Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fee3c55d7fb9486f02d3285678d58e433ffe3c2a Author: Michal Simek Date: Fri May 29 14:15:33 2009 +0200 microblaze: Fix problem with early_printk in startup Problem arise when is incopatibility between kernel/dts/pvr and kernel tries to announce it. Early printk device (uartlite in our case) was in TLB 2 and when kernel extract DTB it necessary to allocate at least one TLB at the end of memory. First free TLB was number two where was early printk. But checking mechanism (kernel/dts/pvr) was after extrahing but TLB 2 was different. This caused that kernel hung up. Moving early printk device to TLB 63 solve it and we don't protect it which means that we can use early_printk messages only for initial parts of kernel then we rewrite TLB 63. Reported-by: Edgar E. Iglesias Signed-off-by: Michal Simek commit 85d6943af50537d3aec58b967ffbd3fec88453e9 Author: Catalin Marinas Date: Sat May 30 14:00:18 2009 +0100 Fix the VFP handling on the Feroceon CPU This CPU generates synchronous VFP exceptions in a non-standard way - the FPEXC.EX bit set but without the FPSCR.IXE bit being set like in the VFP subarchitecture 1 or just the FPEXC.DEX bit like in VFP subarchitecture 2. The main problem is that the faulty instruction (which needs to be emulated in software) will be restarted several times (normally until a context switch disables the VFP). This patch ensures that the VFP exception is treated as synchronous. Signed-off-by: Catalin Marinas Cc: Nicolas Pitre commit 26584853a44c58f3d6ac7360d697a2ddcd1a3efa Author: Catalin Marinas Date: Sat May 30 14:00:18 2009 +0100 Add core support for ARMv6/v7 big-endian Starting with ARMv6, the CPUs support the BE-8 variant of big-endian (byte-invariant). This patch adds the core support: - setting of the BE-8 mode via the CPSR.E register for both kernel and user threads - big-endian page table walking - REV used to rotate instructions read from memory during fault processing as they are still little-endian format - Kconfig and Makefile support for BE-8. The --be8 option must be passed to the final linking stage to convert the instructions to little-endian Signed-off-by: Catalin Marinas commit ee8c9571191e588ede9a220ded807e33c4897d91 Author: Catalin Marinas Date: Sat May 30 14:00:17 2009 +0100 RealView: Move the IRQ_* definitions out of the board-*.h files The IRQ_* macros need to be made visible via the mach/irqs.h file but without the additional macros defined in the board-*.h files. Signed-off-by: Catalin Marinas commit 8c7e65742fd05f27071282d260376adb98e0e9ac Author: Catalin Marinas Date: Sat May 30 14:00:17 2009 +0100 arm: Provide _sdata and __bss_stop in the vmlinux.lds.S file _sdata and __bss_stop are common symbols defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses these symbols when scanning the data sections. Signed-off-by: Catalin Marinas commit 23d1c515d8fc6d74bea442a4b687c3b5b8627ec4 Author: Catalin Marinas Date: Sat May 30 14:00:16 2009 +0100 ARMv7: Document the PRRR and NMRR registers setting This patch adds a comment to the proc-v7.S file for the setting of the PRRR and NMRR registers. It also sets the PRRR[13:12] bits to 0 (corresponding to the reserved TEX[0]CB encoding 110) to be consistent with the documentation. Signed-off-by: Catalin Marinas commit 213fb2a8ee81ec106b9b370a07ccad575e9d3748 Author: Catalin Marinas Date: Sat May 30 14:00:16 2009 +0100 ARMv7: Enable the SWP instruction The SWP instruction has been deprecated starting with the ARMv6 architecture. On ARMv7 processors with the multiprocessor extensions (like Cortex-A9), this instruction is disabled by default but it can be enabled by setting bit 10 in the System Control register. Note that setting this bit is safe even if the ARMv7 processor has the SWP instruction enabled by default. Signed-off-by: Catalin Marinas commit d71e1352e240dea32d481ad8d662e8de4406ac7e Author: Catalin Marinas Date: Sat May 30 14:00:15 2009 +0100 Clear the IT state when invoking a Thumb-2 signal handler If a process is interrupted during an If-Then block and a signal is invoked, the ITSTATE bits must be cleared otherwise the handler would not run correctly. Signed-off-by: Catalin Marinas Cc: Joseph S. Myers commit ba3c02636a0743a62cb50b920d36e1c046ab88cf Author: Tony Thompson Date: Sat May 30 14:00:15 2009 +0100 ARMv7: Mark the PTWs inner WBWA on SMP and WB on UP There are additional bits to set for the ARMv7 SMP extensions in the TTBR registers. The IRGN bits order is counter-intuitive but it allows software built for the ARMv7 base architecture to run on an implementation with the MP extensions. Signed-off-by: Tony Thompson Signed-off-by: Catalin Marinas commit faa7bc51c11d5bbe440ac04710fd7a3208782000 Author: Catalin Marinas Date: Sat May 30 14:00:14 2009 +0100 Check whether the TLB operations need broadcasting on SMP systems ARMv7 SMP hardware can handle the TLB maintenance operations broadcasting in hardware so that the software can avoid the costly IPIs. This patch adds the necessary checks (the MMFR3 CPUID register) to avoid the broadcasting if already supported by the hardware. (this patch is based on the work done by Tony Thompson @ ARM) Signed-off-by: Catalin Marinas commit da055eb52ec067d51dc08c7e86baf92dd5c01599 Author: Catalin Marinas Date: Sat May 30 13:56:16 2009 +0100 RealView: Toggle one LED per CPU If CONFIG_LEDS is enabled, it makes more sense to toggle one LED per CPU in SMP systems rather than a single LED for all the CPUs. Signed-off-by: Catalin Marinas commit ff3042fb6f1a0f6faf527390a8a943a3e4296741 Author: Colin Tuckley Date: Sat May 30 13:56:13 2009 +0100 RealView: Allow CONFIG_LEDS on this platform Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit af607747def54d8f76d2509c1394587da5d9bdfd Author: Catalin Marinas Date: Sat May 30 13:56:13 2009 +0100 RealView: Allow access to the secure flash memory block on PB1176 This patch adds a Kconfig option for specifying whether Linux will only be run in secure mode on the RealView PB1176 platform. Enabling it will make the secure flash memory block (64MB @ 0x3c000000) available to Linux. Signed-off-by: Catalin Marinas commit 1b504bbe7a4a6c251cdc9dcba1fab72234827945 Author: Colin Tuckley Date: Sat May 30 13:56:12 2009 +0100 RealView: Add support for the RealView/PBX platform This is a RealView platform supporting core tiles with ARM11MPCore, Cortex-A8 or Cortex-A9 (multicore) processors. It has support for MMC, CompactFlash, PCI-E. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit 412b400278ed0f71712387d0b9b31cbdd8a18efc Author: Catalin Marinas Date: Sat May 30 13:56:12 2009 +0100 RealView: Allow SMP when the Cortex-A9 tile is enabled for EB Signed-off-by: Catalin Marinas commit c1c2365acf8c044f749c0fe1ea236497e8d1718e Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Generate per command manpages (and pdf/html, etc.) Import Git's nice .txt => {man/html/pdf} generation machinery. Fix various errors in the Documentation/perf*.txt description as well. Also fix a bug in builtin-help: we'd map 'perf help top' to 'perftop' if only the 'perf' binary is in the default PATH - confusing the manpage logic. I dont fully understand why Git did it this way - but i suppose it's a migration artifact from their migration from standalone git-xyz commands to 'git xyz' commands. The perf tools were always using the modern form so it's not an issue there. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 7fbd55449aafb86d3237b5d1a26fb4dab2aa2c76 Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Fix 'make install' 'make install' didnt install perf itself - which needs a special rule to be copied to bindir. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit d7c29318c2daa96d64b7312afd8283488c1cb29f Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Print 'CPU utilization factor' in builtin-stat Before: Performance counter stats for '/home/mingo/hackbench': 5728.862689 task clock ticks (msecs) 34426 context switches # 0.006 M/sec 3835 CPU migrations # 0.001 M/sec 18158 pagefaults # 0.003 M/sec 16218109156 CPU cycles # 2830.947 M/sec 13519616840 instructions # 2359.913 M/sec 55941661 cache references # 9.765 M/sec 23554938 cache misses # 4.112 M/sec Wall-clock time elapsed: 528.886980 msecs After: Performance counter stats for '/home/mingo/hackbench': 5845.443541 task clock ticks # 11.886 CPU utilization factor 38289 context switches # 0.007 M/sec 4208 CPU migrations # 0.001 M/sec 17755 pagefaults # 0.003 M/sec 16664668576 CPU cycles # 2850.882 M/sec 13468113991 instructions # 2304.036 M/sec 57445468 cache references # 9.827 M/sec 26896502 cache misses # 4.601 M/sec Wall-clock time elapsed: 491.802357 msecs Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c44613a4c1092e85841b78b7ab52a06654fcd321 Author: Arnaldo Carvalho de Melo Date: Fri May 29 17:03:07 2009 -0300 perf_counter tools: Add locking to perf top perf_counter tools: Add locking to perf top We need to protect the active_symbols list as two threads change it: the main thread adding entries to the head and the display thread decaying entries from any place in the list. Also related: take a snapshot of syme->count[0] before using it to calculate the weight and to show the same number used in this calc when displaying the symbol usage. Reported-by: Mike Galbraith Tested-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090529200307.GR4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit ba84bfcd2b6fdc5a9ac53a4ab103088c99f84a12 Author: Takashi Iwai Date: Sat May 30 08:59:03 2009 +0200 ALSA: hda - Fix reverted LED setup for HP The commit 86d190e77c44cb057742dcc871b12ebd4633c387 reverted the bit flip of LED GPIO for HP DX and DV4-1222nr. Fixed now. Signed-off-by: Takashi Iwai commit 342a437ef625953e8bdeee3bc1605ccd27a38863 Author: André Goddard Rosa Date: Fri May 29 22:13:58 2009 -0700 usbnet: ratelimit warning messages invoked from callback handler Warning messages coming from rtl8150 driver can flood the console and make a DTV/set-top-box unable to decode video/audio frames. 'Pegasus' driver handles this situation similarly, preventing this from happening there. It happens with a low cost BCM MIPS embedded platform, whenever timeout errors were coming from usbnet device, making platform unusable for viewer watching. Signed-off-by: André Goddard Rosa Signed-off-by: David S. Miller commit 644233073458653e4b7fb474d9a8bdbbfd37739a Author: Fabio Estevam Date: Wed May 27 03:41:39 2009 +0000 fec: Add FEC support for MX35 processor Add FEC support for MX35 processor. Signed-off-by: Fabio Estevam Acked-by: Sascha Hauer Signed-off-by: David S. Miller commit e13f93188b8a3b418da2a02dfa1a46718cf4607b Author: Tadashi Abe Date: Mon May 25 20:53:27 2009 +0000 irda-usb: suspend/resume support This patch adds power management suspend/resume hooks for irda-usb. Signed-off-by: Tadashi Abe Signed-off-by: David S. Miller commit cd39c7a5717191c677a140565bda2f1ca485ecd8 Author: Finn Thain Date: Mon May 25 16:52:47 2009 +0000 mac8390: use printk MAC address format mac8390: use printk MAC address format Signed-off-by: Finn Thain Signed-off-by: David S. Miller commit ccffad25b5136958d4769ed6de5e87992dd9c65c Author: Jiri Pirko Date: Fri May 22 23:22:17 2009 +0000 net: convert unicast addr list This patch converts unicast address list to standard list_head using previously introduced struct netdev_hw_addr. It also relaxes the locking. Original spinlock (still used for multicast addresses) is not needed and is no longer used for a protection of this list. All reading and writing takes place under rtnl (with no changes). I also removed a possibility to specify the length of the address while adding or deleting unicast address. It's always dev->addr_len. The convertion touched especially e1000 and ixgbe codes when the change is not so trivial. Signed-off-by: Jiri Pirko drivers/net/bnx2.c | 13 +-- drivers/net/e1000/e1000_main.c | 24 +++-- drivers/net/ixgbe/ixgbe_common.c | 14 ++-- drivers/net/ixgbe/ixgbe_common.h | 4 +- drivers/net/ixgbe/ixgbe_main.c | 6 +- drivers/net/ixgbe/ixgbe_type.h | 4 +- drivers/net/macvlan.c | 11 +- drivers/net/mv643xx_eth.c | 11 +- drivers/net/niu.c | 7 +- drivers/net/virtio_net.c | 7 +- drivers/s390/net/qeth_l2_main.c | 6 +- drivers/scsi/fcoe/fcoe.c | 16 ++-- include/linux/netdevice.h | 18 ++-- net/8021q/vlan.c | 4 +- net/8021q/vlan_dev.c | 10 +- net/core/dev.c | 195 +++++++++++++++++++++++++++----------- net/dsa/slave.c | 10 +- net/packet/af_packet.c | 4 +- 18 files changed, 227 insertions(+), 137 deletions(-) Signed-off-by: David S. Miller commit c626e3f5ca1d95ad2204d3128c26e7678714eb55 Author: Nicolas Pitre Date: Fri May 29 21:55:50 2009 -0400 [ARM] alternative copy_to_user: more precise fallback threshold Previous size thresholds were guessed from various user space benchmarks using a kernel with and without the alternative uaccess option. This is however not as precise as a kernel based test to measure the real speed of each method. This adds a simple test bench to show the time needed for each method. With this, the optimal size treshold for the alternative implementation can be determined with more confidence. It appears that the optimal threshold for both copy_to_user and clear_user is around 64 bytes. This is not a surprise knowing that the memcpy and memset implementations need at least 64 bytes to achieve maximum throughput. One might suggest that such test be used to determine the optimal threshold at run time instead, but results are near enough to 64 on tested targets concerned by this alternative copy_to_user implementation, so adding some overhead associated with a variable threshold is probably not worth it for now. Signed-off-by: Nicolas Pitre commit ae63e808f508c38fe65e23a1480c85d5bd00ecbd Author: Jiri Pirko Date: Wed May 27 05:42:36 2009 +0000 bonding: use bond_is_lb() when it's appropriate Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit c143dc903d7c0b15f5052e00b2c7de33a8b4299c Author: James Bottomley Date: Sat May 30 06:43:49 2009 +0200 block: fix an oops on BLKPREP_KILL Doing a bit of torture testing, I ran across a BUG in the block subsystem (at blk-core.c:2048): the test for if the request is queued. It turns out the trigger was a BLKPREP_KILL coming out of the SCSI prep function. Currently for BLKPREP_KILL requests, we send them straight into __blk_end_request_all() with an error, but they've never been dequeued, so they trip the bug. Fix this by starting requests before killing them. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit cb9dc92c0a1b76165c8c334402e27191084b2047 Author: Nicolas Pitre Date: Thu May 21 22:17:17 2009 -0400 [ARM] lower overhead with alternative copy_to_user for small copies Because the alternate copy_to_user implementation has a higher setup cost than the standard implementation, the size of the memory area to copy is tested and the standard implementation invoked instead when that size is too small. Still, that test is made after the processor has preserved a bunch of registers on the stack which have to be reloaded right away needlessly in that case, causing a measurable performance regression compared to plain usage of the standard implementation only. To make the size test overhead negligible, let's factorize it out of the alternate copy_to_user function where it is clear to the compiler that no stack frame is needed. Thanks to CONFIG_ARM_UNWIND allowing for frame pointers to be disabled and tail call optimization to kick in, the overhead in the small copy case becomes only 3 assembly instructions. A similar trick is applied to clear_user as well. Signed-off-by: Nicolas Pitre commit 39ec58f3fea47c242724109cc1da999f74810bbc Author: Lennert Buytenhek Date: Mon Mar 9 14:30:09 2009 -0400 [ARM] alternative copy_to_user/clear_user implementation This implements {copy_to,clear}_user() by faulting in the userland pages and then using the regular kernel mem{cpy,set}() to copy the data (while holding the page table lock). This is a win if the regular mem{cpy,set}() implementations are faster than the user copy functions, which is the case e.g. on Feroceon, where 8-word STMs (which memcpy() uses under the right conditions) give significantly higher memory write throughput than a sequence of individual 32bit stores. Here are numbers for page sized buffers on some Feroceon cores: - copy_to_user on Orion5x goes from 51 MB/s to 83 MB/s - clear_user on Orion5x goes from 89MB/s to 314MB/s - copy_to_user on Kirkwood goes from 240 MB/s to 356 MB/s - clear_user on Kirkwood goes from 367 MB/s to 1108 MB/s - copy_to_user on Disco-Duo goes from 248 MB/s to 398 MB/s - clear_user on Disco-Duo goes from 328 MB/s to 1741 MB/s Because the setup cost is non negligible, this is worthwhile only if the amount of data to copy is large enough. The operation falls back to the standard implementation when the amount of data is below a certain threshold. This threshold was determined empirically, however some targets could benefit from a lower runtime determined value for optimal results eventually. In the copy_from_user() case, this technique does not provide any worthwhile performance gain due to the fact that any kind of read access allocates the cache and subsequent 32bit loads are just as fast as the equivalent 8-word LDM. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Tested-by: Martin Michlmayr commit a1f98849fdf2f2fef3ef1c260178cd5fc662b773 Author: Nicolas Pitre Date: Sun Mar 8 22:34:45 2009 -0400 [ARM] allow for alternative __copy_to_user/__clear_user implementations This allows for optional alternative implementations of __copy_to_user and __clear_user, with a possible runtime fallback to the standard version when the alternative provides no gain over that standard version. This is done by making the standard __copy_to_user into a weak alias for the symbol __copy_to_user_std. Same thing for __clear_user. Those two functions are particularly good candidates to have alternative implementations for, since they rely on the STRT instruction which has lower performances than STM instructions on some CPU cores such as the ARM1176 and Marvell Feroceon. Signed-off-by: Nicolas Pitre commit f22a563b0a4c2a84b6ff8831306532b64c9c1747 Author: Divy Le Ray Date: Fri May 29 12:52:49 2009 +0000 cxgb3: add support for the Aquantia 10G-BT phy Add support for the Aquantia AQ1002 10G-BaseT phy. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 744514249f0656e2d50bb57585241670c2d4f32b Author: Divy Le Ray Date: Fri May 29 12:52:44 2009 +0000 cxgb3: Add Aeluros 2020 phy support Add support for the AEL2020 phy. Add PCI IDs of the boards using this phy. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit c3a8c5b644118b5e2cfd0690b1dcea904a792c52 Author: Divy Le Ray Date: Fri May 29 12:52:38 2009 +0000 cxgb3: move away from LLTX cxgb3 no longer advertizes LLTX. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 080c82550dc1dc3c0d4207ce32d7a8d0ae96fba5 Author: Graf Yang Date: Fri May 29 03:41:48 2009 +0000 netdev: bfin_mac: add Blackfin MII bus to platform bus to allow DSA access When we register the MII bus to the platfrom bus, the Distributed Switch Architecture can hook in transparently. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 015dac8886b5c48d62ebc33a964b9086d6a71bd7 Author: Michael Hennerich Date: Fri May 29 03:41:15 2009 +0000 netdev: bfin_mac: fix performance issue found by netperf - Remove dead long delay - Use proper defines - Remove broken implementation of the TX DMA Data Alignment TXDWA feature Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 805a8ab3ce1be83e9a98c21a625ebbb549a2d317 Author: Sonic Zhang Date: Fri May 29 03:40:43 2009 +0000 netdev: bfin_mac: fix malformed UDP packet transmission when polling with KGDB Writes to the DMA descriptors may sit in the internal Blackfin data buffers and not actually be available when the DMA engine goes to fetch them. This does not typically happen, but when dealing with short/fast packets such as UDP and polling KGDB, this occurs much more frequently. Same goes for heavy loads as seen by netperf tests or large scp transfers. So force the buffers to drain with SSYNC otherwise we get random malformed packets. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 91a455f089810625eb94a36ccc40ae963f451b06 Author: Michael Hennerich Date: Fri May 29 03:39:45 2009 +0000 netdev: bfin_mac: drop useless IRQF_SHARED from Blackfin EMAC interrupt The IRQ used by the Blackfin EMAC is internal to the peripheral and cannot be used to generate any other interrupt, so there is no point in marking it as IRQF_SHARED. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 60df914e295a21a223e43a7ee01e0c73c64dd111 Author: Eric Dumazet Date: Fri May 29 15:15:30 2009 -0700 veth: dont release skb->dst in veth_xmit() No need to release skb->dst, its now done by core network. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2df9001edc382c331f338f45d259feeaa740c418 Author: Ilpo Järvinen Date: Fri May 29 15:02:29 2009 -0700 tcp: fix loop in ofo handling code and reduce its complexity Somewhat luckily, I was looking into these parts with very fine comb because I've made somewhat similar changes on the same area (conflicts that arose weren't that lucky though). The loop was very much overengineered recently in commit 915219441d566 (tcp: Use SKB queue and list helpers instead of doing it by-hand), while it basically just wants to know if there are skbs after 'skb'. Also it got broken because skb1 = skb->next got translated into skb1 = skb1->next (though abstracted) improperly. Note that 'skb1' is pointing to previous sk_buff than skb or NULL if at head. Two things went wrong: - We'll kfree 'skb' on the first iteration instead of the skbuff following 'skb' (it would require required SACK reneging to recover I think). - The list head case where 'skb1' is NULL is checked too early and the loop won't execute whereas it previously did. Conclusion, mostly revert the recent changes which makes the cset very messy looking but using proper accessor in the previous-like version. The effective changes against the original can be viewed with: git-diff 915219441d566f1da0caa0e262be49b666159e17^ \ net/ipv4/tcp_input.c | sed -n -e '57,70 p' Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6d36110e1ce5663705d765ea38dd0f705e9ae6bc Author: Sergey Lapin Date: Mon May 18 22:30:10 2009 +0100 [ARM] 5525/1: AFEB9260: fix for MMC support Proper pin configuration for MMC. Signed-off-by: Sergey Lapin Acked-by: Andrew Victor Signed-off-by: Russell King commit 6953e47e11ea85c8c91ac49a5c779e0a4a143e47 Author: Dmitry Baryshkov Date: Mon May 25 08:02:35 2009 +0100 [ARM] 5524/1: at91sam9g20ek: add i2c eeprom info Add board information about on-board I2C eeprom AT24C512N at 0x50. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Andrew Victor Signed-off-by: Russell King commit 4070243250dd06a96d874b0be3cb3a39ef23597c Author: Hartley Sweeten Date: Thu May 28 20:07:03 2009 +0100 [ARM] 5528/1: ep93xx: add defines for dma clock magic numbers Update the dma clocks so that the magic numbers are named. All the dma clocks have an enable bit to turn them on/off as needed. Currently these bits are in the code as "magic" numbers. This changes all of them to named defines to improve code readability. Also, the EP93XX_SYSCON_CLOCK_CONTROL register is improperly named. In the EP93xx User's Guide this register is called PwrCnt (Power Control). All of the uses of this register are associated with the clock support so this patch also modifies the names to match the User's Guide. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 68ee3d83b238fa97e12775963f2b526c5dc74823 Author: Hartley Sweeten Date: Thu May 28 19:58:24 2009 +0100 [ARM] 5527/1: ep93xx: core.c: trivial spelling error Fix trivial spelling error in arch/arm/mach-ep93xx/core.c Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit e3a6d01932f343c1cc0218909262f0f68b6f7db4 Author: Hartley Sweeten Date: Thu May 28 19:56:11 2009 +0100 [ARM] 5526/1: ep93xx: usb driver cleanup Cleanup the ohci-ep93xx driver. 1) Use the usb.h dbg() macro instead of pr_debug() so that the source filename is prefixed to the message and it is terminated with a linefeed. 2) Add error handling for the clk_get() call. 3) Update clkdev support so that the usb clock is matched by the dev_id instead of the con_id. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 949abd84cd54ff864efca9df822d1e02a56694ec Merge: b0958ae cd07ecc Author: Russell King Date: Fri May 29 20:03:43 2009 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel Conflicts: arch/arm/Makefile commit b0958aed1ea39825439a7848544bfb2e267273b4 Author: Kevin Hilman Date: Fri May 29 18:54:14 2009 +0100 [ARM] 5529/1: davinci: MMC platform support: DMA_32BIT_MASK --> DMA_BIT_MASK(32) Some DMA_32BIT_MASK usage snuck in with the MMC platform support. Convert these to the new preferred DMA_BIT_MASK(32). Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit b78c07d45a7e71be7b5c5d7486f922355ccf23a8 Author: Arnaldo Carvalho de Melo Date: Fri May 29 13:48:59 2009 -0300 perf_counter tools: Shorten the DSO names using cwd [acme@emilia linux-2.6-tip]$ pwd /home/acme/git/linux-2.6-tip Before (still available using -P/--full-paths) [acme@emilia linux-2.6-tip]$ perf report -P | head -10 11.48% perf: 7454 [kernel]: clear_page_c 4.89% perf: 7454 [kernel]: vsnprintf 4.61% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 4.09% perf: 7454 [kernel]: number 4.06% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__fprintf 4.00% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: symbol_filter New default: [acme@emilia linux-2.6-tip]$ perf report | head -10 11.48% perf: 7454 [kernel]: clear_page_c 4.89% perf: 7454 [kernel]: vsnprintf 4.61% perf: 7454 ./Documentation/perf_counter/perf: dso__find_symbol 4.09% perf: 7454 [kernel]: number 4.06% perf: 7454 ./Documentation/perf_counter/perf: dso__fprintf 4.00% perf: 7454 ./Documentation/perf_counter/perf: symbol_filter Suggested-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <20090529164859.GN4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit bbbee90829304d156c12b171c0ac7e6e1aba8b90 Author: Peter Zijlstra Date: Fri May 29 14:25:58 2009 +0200 perf_counter: Ammend cleanup in fork() fail When fork() fails we cannot use perf_counter_exit_task() since that assumes to operate on current. Write a new helper that cleans up unused/clean contexts. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 665c2142a94202881a3c11cbaee6506cb10ada2d Author: Peter Zijlstra Date: Fri May 29 14:51:57 2009 +0200 perf_counter: Clean up task_ctx vs interrupts Remove the local_irq_save() etc.. in routines that are smp function calls, or have IRQs disabled by other means. Then change the COMM, MMAP, and swcounter context iteration to current->perf_counter_ctxp and RCU, since it really doesn't matter which context they iterate, they're all folded. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit efb3d17240d80e27508d238809168120fe4b93a4 Author: Peter Zijlstra Date: Fri May 29 14:25:58 2009 +0200 perf_counter: Fix COMM and MMAP events for cpu wide counters Commit a63eaf34ae6 ("perf_counter: Dynamically allocate tasks' perf_counter_context struct") broke COMM and MMAP notification for cpu wide counters by dropping out early if there was no task context, thereby also not iterating the cpu context. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f04d82b7e0c63d0251f9952a537a4bc4d73aa1a9 Author: GeunSik Lim Date: Thu May 28 10:36:14 2009 +0900 sched: fix typo in sched-rt-group.txt file Fix typo about static priority's range. Kernel Space User Space =============================================================== 0(high) to 98(low) user RT priority 99(high) to 1(low) with SCHED_RR or SCHED_FIFO --------------------------------------------------------------- 99 sched_priority is not used in scheduling decisions(it must be specified as 0) --------------------------------------------------------------- 100(high) to 139(low) user nice -20(high) to 19(low) --------------------------------------------------------------- 140 idle task priority --------------------------------------------------------------- * ref) http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html Signed-off-by: GeunSik Lim CC: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 294ae4011530d008c59c4fb9847738e39228821e Author: GeunSik Lim Date: Thu May 28 10:36:11 2009 +0900 ftrace: fix typo about map of kernel priority in ftrace.txt file. Fix typo about chart to map the kernel priority to user land priorities. * About sched_setscheduler(2) Processes scheduled under SCHED_FIFO or SCHED_RR can have a (user-space) static priority in the range 1 to 99. (reference: http://www.kernel.org/doc/man-pages/online/pages/ man2/sched_setscheduler.2.html) * From: Steven Rostedt 0 to 98 - maps to RT tasks 99 to 1 (SCHED_RR or SCHED_FIFO) 99 - maps to internal kernel threads that want to be lower than RT tasks but higher than SCHED_OTHER tasks. Although I'm not sure if any kernel thread actually uses this. I'm not even sure how this can be set, because the internal sched_setscheduler function does not allow for it. 100 to 139 - maps nice levels -20 to 19. These are not set via sched_setscheduler, but are set via the nice system call. 140 - reserved for idle tasks. Signed-off-by: GeunSik Lim Acked-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 012b84dae17126d8b5d159173091eb3db5a2bc43 Author: Ingo Molnar Date: Sun May 17 11:08:41 2009 +0200 perf_counter: Robustify counter-free logic This fixes a nasty crash and highlights a bug that we were freeing failed-fork() counters incorrectly. (the fix for that will come separately) [ Impact: fix crashes/lockups with inherited counters ] Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3f4dee227348daac32f36daad9a91059efd0723e Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter: Fix cpuctx->task_ctx races Peter noticed that we are sometimes reading cpuctx->task_ctx with interrupts enabled. Noticed-by: Peter Zijlstra Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 88f3907f6f447899544beadf491dccb32015dacb Author: FUJITA Tomonori Date: Wed May 27 09:43:03 2009 +0900 dma-debug: fix debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device DMA-mapping.txt says that debug_dma_sync_sg family must be called with the _same_ one you passed into the dma_map_sg call, it should _NOT_ be the 'count' value _returned_ from the dma_map_sg call. debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device can't handle this properly; they need to use the sg_mapped_ents in struct dma_debug_entry as debug_dma_unmap_sg() does. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 884d05970bfbc3db368f23460dc4ce63257f240d Author: FUJITA Tomonori Date: Wed May 27 09:43:02 2009 +0900 dma-debug: use sg_dma_len accessor debug_dma_map_sg() and debug_dma_unmap_sg() use length in struct scatterlist while debug_dma_sync_sg_for_cpu() and debug_dma_sync_sg_for_device() use dma_length. This causes bugs warnings on some IOMMU implementations since these values are not same; the length doesn't represent the dma length. We always need to use sg_dma_len() accessor to get the dma length of a scatterlist entry. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 15aedea439c4d7dbec17c99b5e1594c01b979833 Author: FUJITA Tomonori Date: Wed May 27 09:43:01 2009 +0900 dma-debug: use sg_dma_address accessor instead of using dma_address directly Architectures might not have dma_address in struct scatterlist (PARISC doesn't). Directly accessing to dma_address in struct scatterlist is wrong; we need to use sg_dma_address() accesssor instead. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 428ff9d2e37d3a82af0f56b476f70c244cf550d1 Author: Artem Bityutskiy Date: Mon May 25 16:59:28 2009 +0300 UBIFS: remove dead code UBIFS assumes that @c->min_io_size is 8 in case of NOR flash. This is because UBIFS alignes all nodes to 8-byte boundary, and maintaining @c->min_io_size introduced unnecessary complications. This patch removes senseless constructs like: if (c->min_io_size == 1) NOR-specific code Also, few commentaries amendments. Signed-off-by: Artem Bityutskiy commit 16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9 Author: Peter Ujfalusi Date: Fri May 29 09:22:37 2009 +0300 ASoC: TWL4030: Use reg_cache in twl4030_init_chip Use the codec->reg_cache instead of the array directly in twl4030_init_chip for setting the default values. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0528c7494e67c30329d086df141d2dd691f01556 Author: Michal Marek Date: Tue May 26 17:07:52 2009 +0200 ALSA: clean up the logic for building sequencer modules Instead of mangling the CONFIG_* variables in the makefiles over and over, set a few helper variables in Kconfig. Signed-off-by: Michal Marek Signed-off-by: Takashi Iwai commit a4444da31ec92f89cd6923579c20a9c240439cfc Author: Jaroslav Kysela Date: Thu May 28 12:31:56 2009 +0200 ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value When hardware has large FIFO, it is necessary to lower jiffies margin by count of queued samples. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 13f040f9e55d41e92e485389123654971e03b819 Author: Jaroslav Kysela Date: Thu May 28 11:31:20 2009 +0200 ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed Some hardware might have bigger FIFOs and DMA pointer value will be updated in large chunks. Do not update hw_ptr_jiffies and position timestamp when hw_ptr value was not changed. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c62a01ad6e746fae9c93f51ea67e0abfd8d94b58 Author: Jaroslav Kysela Date: Thu May 28 11:21:52 2009 +0200 ALSA: PCM midlevel: introduce mask for xrun_debug() macro For debugging purposes, it is better to separate actions. Bit-values: 1: show bad PCM ring buffer pointer 2: show also stack (to debug kernel latency issues) 4: check pointer against system jiffies Example: 5: show bad PCM ring buffer pointer and do jiffies check Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 8bea869c5e56234990e6bad92a543437115bfc18 Author: Jaroslav Kysela Date: Mon Apr 27 09:44:40 2009 +0200 ALSA: PCM midlevel: improve fifo_size handling Move the fifo_size assignment to hw->ioctl callback to allow lowlevel drivers overwrite the default behaviour. fifo_size is in frames not bytes as specified in asound.h and alsa-lib's documentation, but most hardware have fixed byte based FIFOs. Introduce internal SNDRV_PCM_INFO_FIFO_IN_FRAMES. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit e93721a70263afefbac781f575bfe851c6f95d84 Merge: ae1ec5e c87d973 Author: Takashi Iwai Date: Fri May 29 11:46:10 2009 +0200 Merge branch 'fix/pcm-jiffies-check' into topic/pcm-jiffies-check commit 42f1d2e06a25628ae4ceaadccc4fa67c7787e2b4 Merge: 9af5324 77bbca1 Author: Russell King Date: Fri May 29 10:04:24 2009 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci into devel commit ad3a37de81c45f6c20d410ece86004b98f7b6d84 Author: Paul Mackerras Date: Fri May 29 16:06:20 2009 +1000 perf_counter: Don't swap contexts containing locked mutex Peter Zijlstra pointed out that under some circumstances, we can take the mutex in a context or a counter and then swap that context or counter to another task, potentially leading to lock order inversions or the mutexes not protecting what they are supposed to protect. This fixes the problem by making sure that we never take a mutex in a context or counter which could get swapped to another task. Most of the cases where we take a mutex is on a top-level counter or context, i.e. a counter which has an fd associated with it or a context that contains such a counter. This adds WARN_ON_ONCE statements to verify that. The two cases where we need to take the mutex on a context that is a clone of another are in perf_counter_exit_task and perf_counter_init_task. The perf_counter_exit_task case is solved by uncloning the context before starting to remove the counters from it. The perf_counter_init_task is a little trickier; we temporarily disable context swapping for the parent (forking) task by setting its ctx->parent_gen to the all-1s value after locking the context, if it is a cloned context, and restore the ctx->parent_gen value at the end if the context didn't get uncloned in the meantime. This also moves the increment of the context generation count to be within the same critical section, protected by the context mutex, that adds the new counter to the context. That way, taking the mutex is sufficient to ensure that both the counter list and the generation count are stable. [ Impact: fix hangs, races with inherited and PID counters ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <18975.31580.520676.619896@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 5d4e039b2cb1ca4de9774344ea7b61ad7fa1b0a1 Author: Jiri Pirko Date: Thu May 28 01:05:00 2009 +0000 bonding: allow bond in mode balance-alb to work properly in bridge -try4.3 [PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.3 (updated) changes v4.2 -> v4.3 - memcpy the address always, not just in case it differs from master->dev_addr - compare_ether_addr_64bits() is not used so there is no direct need to make new header file (I think it would be good to have bond stuff in separate file anyway). changes v4.1 -> v4.2 - use skb->pkt_type == PACKET_HOST compare rather then comparing skb dest addr against skb->dev->dev_addr The problem is described in following bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=487763 Basically here's what's going on. In every mode, bonding interface uses the same mac address for all enslaved devices (except fail_over_mac). Only balance-alb will simultaneously use multiple MAC addresses across different slaves. When you put this kind of bond device into a bridge it will only add one of mac adresses into a hash list of mac addresses, say X. This mac address is marked as local. But this bonding interface also has mac address Y. Now then packet arrives with destination address Y, this address is not marked as local and the packed looks like it needs to be forwarded. This packet is then lost which is wrong. Notice that interfaces can be added and removed from bond while it is in bridge. *** When the multiple addresses for bridge port approach failed to solve this issue due to STP I started to think other way to solve this. I returned to previous solution but tweaked one. This patch solves the situation in the bonding without touching bridge code. For every incoming frame to bonding the destination address is compared to current address of the slave device from which tha packet came. If these two match destination address is replaced by mac address of the master. This address is known by bridge so it is delivered properly. Note that the comparsion is not made directly, it's used skb->pkt_type == PACKET_HOST instead. This is "set" previously in eth_type_trans(). I experimentally tried that this works as good as searching through the slave list (v4 of this patch). Jirka Signed-off-by: Jiri Pirko Signed-off-by: Eric Dumazet Signed-off-by: Andy Gospodarek Signed-off-by: David S. Miller commit 4d5ef9f0f588045d5e53e51816bd619d82385676 Author: Florian Fainelli Date: Thu May 28 00:58:41 2009 +0000 korina: periodically poll the media This patch makes the korina driver poll the media for link change. This is actually required on Mikrotik RB532 (not RB532A) for korina to operate properly. Signed-off-by: Felix Fietkau Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 5d23a1d2a317e272f171d7818f600fde324eaceb Author: FUJITA Tomonori Date: Wed May 27 15:10:42 2009 +0000 net: replace dma_sync_single with dma_sync_single_for_cpu This replaces dma_sync_single() with dma_sync_single_for_cpu() because dma_sync_single() is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ #define dma_sync_single dma_sync_single_for_cpu #define dma_sync_sg dma_sync_sg_for_cpu Signed-off-by: FUJITA Tomonori Signed-off-by: David S. Miller commit 108bfa895cacd1a7c1767e85be105b213e5dce50 Author: Eric Dumazet Date: Thu May 28 22:35:10 2009 +0000 net: unset IFF_XMIT_DST_RELEASE in ipgre_tunnel_setup() ipgre_tunnel_xmit() might need skb->dst, so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a489e51c1a69c3aa7e7aea925f71c92be5cedbb1 Author: Eric Dumazet Date: Thu May 28 11:14:49 2009 +0000 atm: unset IFF_XMIT_DST_RELEASE in clip_setup() clip_start_xmit() needs skb->dst so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 28e72216d7e7af7050f171a87c1eecba93d01ea6 Author: Eric Dumazet Date: Thu May 28 10:44:30 2009 +0000 net: unset IFF_XMIT_DST_RELEASE in ipip_tunnel_setup() ipip_tunnel_xmit() might need skb->dst, so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cdd0db058d64f2619b08e7d098ee0014aa0a5bc1 Author: Eric Dumazet Date: Thu May 28 00:00:41 2009 +0000 net: dont update dev->trans_start Second round of drivers for Gb cards (and NIU one I forgot in the 10GB round) Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 28679751a924c11f7135641f26e99249385de5b4 Author: Eric Dumazet Date: Wed May 27 19:26:37 2009 +0000 net: dont update dev->trans_start in 10GB drivers Followup of commits 9d21493b4beb8f918ba248032fefa393074a5e2b and 08baf561083bc27a953aa087dd8a664bb2b88e8e (net: tx scalability works : trans_start) (net: txq_trans_update() helper) Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Multi queue drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers (vxge & tehuti) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3f1f39c42b24d5c20eb593ce80b9c4d5ec1e2148 Merge: dfe9a83 7481806 Author: David S. Miller Date: Fri May 29 01:41:32 2009 -0700 Merge branch 'linux-2.6.31.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186 Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Also display time-normalized stat results Add new column that normalizes counter results by 'nanoseconds spent running' unit. Before: Performance counter stats for '/home/mingo/hackbench': 10469.403605 task clock ticks (msecs) 75502 context switches (events) 9501 CPU migrations (events) 36158 pagefaults (events) 31975676185 CPU cycles (events) 26257738659 instructions (events) 108740581 cache references (events) 54606088 cache misses (events) Wall-clock time elapsed: 810.514504 msecs After: Performance counter stats for '/home/mingo/hackbench': 10469.403605 task clock ticks (msecs) 75502 context switches # 0.007 M/sec 9501 CPU migrations # 0.001 M/sec 36158 pagefaults # 0.003 M/sec 31975676185 CPU cycles # 3054.202 M/sec 26257738659 instructions # 2508.045 M/sec 108740581 cache references # 10.387 M/sec 54606088 cache misses # 5.216 M/sec Wall-clock time elapsed: 810.514504 msecs The advantage of that column is that it is characteristic of the execution workflow, regardless of runtime. Hence 'hackbench 10' will look similar to 'hackbench 15' - while the absolute counter values are very different. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 2996f5ddb7ba8889caeeac65edafe48845106eaa Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Split display into reading and printing We introduce the extra pass to allow the print-out to possibly rely on already read counters. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c04f5e5d7b523f90ee3cdd70a68c4002aaecd3fa Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Clean up builtin-stat.c's do_perfstat() [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c323d95fa4dbe0b6bf6d59e24a0b7db067dd08a7 Author: Yong Wang Date: Fri May 29 13:28:35 2009 +0800 perf_counter/x86: Always use NMI for performance-monitoring interrupt Always use NMI for performance-monitoring interrupt as there could be racy situations if we switch between irq and nmi mode frequently. Signed-off-by: Yong Wang LKML-Reference: <20090529052835.GA13657@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit da417a7537cbf4beb28a08a49adf915f2358040c Author: Mike Galbraith Date: Fri May 29 08:23:16 2009 +0200 perf_counter tools: Fix top symbol table max_ip typo Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a3ec8d70f1a55acccc4874fe9b4dadbbb9454a0f Author: Mike Galbraith Date: Fri May 29 06:46:46 2009 +0200 perf_counter tools: Fix top symbol table dump typo Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit dfe9a837987aacaffbce020fbf54d8e0afa4bde1 Author: David S. Miller Date: Thu May 28 23:31:56 2009 -0700 llc: Kill outdated and incorrect comment. This comment suggested storing two pieces of state in the LLC skb control block, and in fact we do. Someone did the implementation but never killed this todo comment :-) Signed-off-by: David S. Miller commit 528be7ff823c3d0fc08c91f31b1e84c5f2681762 Author: David S. Miller Date: Thu May 28 23:26:33 2009 -0700 irda: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit e9ab33d03eb721a632214c0bbaa18652de88aa2d Author: Jaroslav Kysela Date: Thu May 28 14:20:00 2009 +0200 ALSA: au88x0: fix wrong period_elapsed() call The period_elapsed() call should be called when position moves. The idea was taken from ALSA bug#4455. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3fd43858c7937801134bd70ef1d411e44f9c0c1c Author: Jaroslav Kysela Date: Thu May 28 14:12:27 2009 +0200 ALSA: au88x0: fix .pointer callback Appearently, the used mask in the .pointer callback is invalid. It should be in period_bytes range. The period_bytes is pow(2), so simple bitwise operation is used. Idea was taken from ALSA bug#4455. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 915219441d566f1da0caa0e262be49b666159e17 Author: David S. Miller Date: Thu May 28 21:35:47 2009 -0700 tcp: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit 435462c6e639065460e91903d6bd2af0f5762fde Merge: d7b41b1 b5c42bc Author: Benjamin Herrenschmidt Date: Fri May 29 13:54:52 2009 +1000 Merge branch 'merge' into next commit 7481806dcfd07e9a636155554f6f4b4fbd976381 Author: Inaky Perez-Gonzalez Date: Fri May 22 00:41:11 2009 -0700 wimax: a new API call was added, increment minor protocol version number As the 'state_get' API call was added, we need to increase the minor protocol version number so applications that depend on the can check it's presence. Signed-off-by: Inaky Perez-Gonzalez commit 2618ab774ea015089c6eb84787f7ede6f2a2cbd0 Author: Inaky Perez-Gonzalez Date: Fri May 8 15:51:44 2009 -0700 wimax/i2400m: usb: fix device reset on autosuspend while not yet idle When the i2400m is connected to a network, the host interface (USB) cannot be suspended. For that to happen, the device has to have negotiated with the basestation to put the link on IDLE state. If the host tries to put the device in standby while it is connected but not idle, the device resets, as the driver should not do that. To avoid triggering that, when the USB susbsytem requires the driver to autosuspend the device, the driver checks if the device is not yet idle. If it is not, the request is requested (will be retried again later on after the autosuspend timeout). At some point the device will enter idle and the request will succeed (unless of course, there is network traffic, but at that point, there is no idle neither in the link or the host interface). Signed-off-by: Inaky Perez-Gonzalez commit 7f0333eb2f98bbfece4fbfe21076d0a3e49f0bb0 Author: Paulius Zaleckas Date: Wed May 13 06:20:29 2009 -0700 wimax: Add netlink interface to get device state wimax connection manager / daemon has to know what is current state of the device. Previously it was only possible to get notification whet state has changed. Note: By mistake, the new generic netlink's number for WIMAX_GNL_OP_STATE_GET was declared inserting into the existing list of API calls, not appending; thus, it'd break existing API. Fixed by Inaky Perez-Gonzalez by moving to the tail, where we add to the interface, not modify the interface. Thanks to Stephen Hemminger for catching this. Signed-off-by: Paulius Zaleckas commit a0a4c4c9e54ee4255f46eedb572ad69ee34c77b6 Author: Inaky Perez-Gonzalez Date: Thu Apr 30 14:39:21 2009 -0700 wimax/i2400m: sdio: set the block size before enabling the function From a fix by Cindy H Kao: Block size has to be set before sending IOE enable because the firmware reads the block size register before it reads IOE register. Signed-off-by: Inaky Perez-Gonzalez commit 52a8d9630890f2289354d03e8751bf0eba2b3376 Author: Inaky Perez-Gonzalez Date: Tue May 5 21:05:16 2009 -0700 wimax: document why wimax_msg_*() operations can be used in any state Funcion documentation for wimax_msg_alloc() and wimax_msg_send() needs to clarify that they can be used in the very early stages of a wimax_dev lifecycle. Signed-off-by: Inaky Perez-Gonzalez commit 052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58 Author: Inaky Perez-Gonzalez Date: Sat May 2 02:50:03 2009 -0700 wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*() Functions i2400m_report_tlv*() are only called from i2400m_report_hook(), called in a workqueue by i2400m_report_hook_work(). The scheduler checks for device readiness before scheduling. Added an extra check for readiness in i2400m_report_hook_work(), which makes all the checks down the line redundant. Obviously the device state could change in the middle, but error handling would take care of that. Signed-off-by: Inaky Perez-Gonzalez commit 8ac1101f8cd58a62517ba86745bc000d3a21f09b Author: Inaky Perez-Gonzalez Date: Sat Apr 25 00:26:14 2009 -0700 wimax/i2400m: factor out 'state report's TLV handling to a function i2400m_report_state_hook() is going to get messier as we add handling code. Signed-off-by: Inaky Perez-Gonzalez commit 223beea23810577353c4cc71ce2f44dbba0d4e16 Author: Inaky Perez-Gonzalez Date: Mon Apr 13 10:26:34 2009 -0700 wimax/i2400m: allow kernel commands to device to be logged too By running 'echo 1 > /sys/kernel/debug/wimax:wmxX/i2400m/trace_msg_from_user', the driver will echo to user space all the commands being sent to the device from user space, along with the responses. However, this only helps with the commands being sent from user space; with this patch, the trace hook is moved to i2400m_msg_to_dev(), which is the single access point for running commands to the device (both by user space and the kernel driver). This allows better debugging by having a complete stream of commands/acks and reports. Signed-off-by: Inaky Perez-Gonzalez commit 44b849d11bf6801a642dd1aa9a70e470d046d273 Author: Inaky Perez-Gonzalez Date: Mon Mar 30 17:51:54 2009 -0700 wimax/i2400m: trace commands sent from user space on the "echo" pipe When commands are sent from user space, trace both the command sent and the answer received over the "echo" pipe instead of over the "trace" pipe when command tracing is enabled. As well, when the device sends a reports/indications, send it over the "echo" pipe. The "trace" pipe is used by the device to send firmware traces; gets confusing. Another named pipe makes it easier to split debug information. Signed-off-by: Inaky Perez-Gonzalez commit fe442683853a2c0863b700acc4328b4d73090206 Author: Inaky Perez-Gonzalez Date: Wed Apr 22 16:53:08 2009 -0700 wimax/i2400m: generate fake source MAC address with random_ether_addr() The WiMAX i2400m driver needs to generate a fake source MAC address to fake an ethernet header (for destination, the card's MAC is used). This is the source of the packet, which is the basestation it came from. The basestation's mac address is not usable for this, as it uses its own namespace and it is not always available. Currently the fake source MAC address was being set to all zeros, which was causing trouble with bridging. Use random_ether_addr() to generate a proper one that creates no trouble. Signed-off-by: Inaky Perez-Gonzalez commit de1033428baf1940bbbbf9e66b073ee0a577f5e0 Author: David S. Miller Date: Thu May 28 16:46:29 2009 -0700 econet: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit bec571ec762a4cf855ad4446f833086fc154b60e Author: David S. Miller Date: Thu May 28 16:43:52 2009 -0700 decnet: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit b6211ae7f2e56837c6a4849316396d1535606e90 Author: David S. Miller Date: Thu May 28 16:36:47 2009 -0700 atm: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit cd07ecc828486e5887113c7dc4d9f9022145811b Merge: 4c50d22 b04e897 Author: Tony Lindgren Date: Thu May 28 15:45:14 2009 -0700 Merge branch 'omap4' into for-next commit 4c50d22a0cf240918d53afbf9a8416a9d93aacee Merge: 970a724 7419045 Author: Tony Lindgren Date: Thu May 28 15:45:07 2009 -0700 Merge branch 'omap3-boards' into for-next commit 970a724d9173526512ebd8be991a4cbe18b7aace Merge: c81592b 4a899d5 Author: Tony Lindgren Date: Thu May 28 15:44:54 2009 -0700 Merge branch 'omap3-upstream' into for-next Conflicts: arch/arm/mach-omap2/serial.c commit c81592ba1b012d555d0cb7ec711afda89c327469 Merge: c912f7e 088962c Author: Tony Lindgren Date: Thu May 28 15:41:03 2009 -0700 Merge branch 'omap-upstream' into for-next Conflicts: arch/arm/mach-omap2/Makefile commit 77bbca138c64cb80259732db6f70e1668123f2a7 Author: Kevin Hilman Date: Tue May 26 07:26:13 2009 -0700 davinci: defconfig update: add EMAC DaVinci EMAC driver is now upstream. Enable it in default defconfig. Signed-off-by: Kevin Hilman commit 20e9969b3aa5166d50c8df474967c9d80bf6d481 Author: David Brownell Date: Thu May 7 09:31:42 2009 -0700 davinci: add SRAM allocator Provide a generic SRAM allocator using genalloc, and vaguely modeled after what AVR32 uses. This builds on top of the static CPU mapping set up in the previous patch, and returns DMA mappings as requested (if possible). Compared to its OMAP cousin, there's no current support for (currently non-existent) DaVinci power management code running in SRAM; and this has ways to deallocate, instead of being allocate-only. The initial user of this should probably be the audio code, because EDMA from DDR is subject to various dropouts on at least DM355 and DM6446 chips. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit 0d04eb47054f685b23033ed6ceadfb20db77c5b3 Author: David Brownell Date: Thu Apr 30 17:35:48 2009 -0700 davinci: soc-specific SRAM setup Package on-chip SRAM. It's always accessible from the ARM, so set up a standardized virtual address mapping into a 128 KiB area that's reserved for platform use. In some cases (dm6467) the physical addresses used for EDMA are not the same as the ones used by the ARM ... so record that info separately in the SOC data, for chips (unlike the OMAP-L137) where SRAM may be used with EDMA. Other blocks of SRAM, such as the ETB buffer or DSP L1/L2 RAM, may be unused/available on some system. They are ignored here. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit b79dbdefd2be0980c58b5e36fdc23eb14a7caab4 Author: David Brownell Date: Thu Apr 30 17:33:27 2009 -0700 davinci: remove remnants of IRAM allocator Remove remnants of dm6446-specific SRAM allocator, as preparation for a more generic replacement. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit 96ed299fdb572fd694d361dc49285dddc0c87da4 Author: Kevin Hilman Date: Thu Apr 30 11:20:24 2009 -0700 davinci: cleanup: move dm355 UART2 define to dm355.c Signed-off-by: Kevin Hilman commit 5570078c0ec5ecc5df0bbd7d06f43549b7127ae7 Author: Mark A. Greer Date: Wed Apr 15 12:42:06 2009 -0700 davinci: Move PINMUX defines to SoC files Different SoC have different numbers of pinmux registers and other resources that overlap with each other. To clean up the code and eliminate defines that overlap with each other, move the PINMUX defines to the SoC specific files. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 3abd5acfff0111809463bcfd7236a1bdf09e4e2d Author: Mark A. Greer Date: Wed Apr 15 12:41:54 2009 -0700 davinci: Add compare register support to timer code The Timer64p timer has 8 compare registers that can be used to generate interrupts when the timer value matches the compare reg's value. They do not disturb the timer itself. This can be useful when there is only one timer available for both clock events and clocksource. When enabled, the clocksource remains a continuous 32-bit counter but the clock event will no longer support periodic interrupts. Instead only oneshot timers will be supported and implemented by setting the compare register to the current timer value plus the period that the clock event subsystem is requesting. Compare registers support is enabled automatically when the following conditions are met: 1) The same timer is being used for clock events and clocksource. 2) The timer is the bottom half (32 bits) of the 64-bit timer (hardware limitation). 3) The the compare register offset and irq are not zero. Since the timer is always running, there is a hardware race in timer32_config() between reading the current timer value, and adding the period to the current timer value and writing the compare register. Testing on a da830 evm board with the timer clocked at 24 MHz and the processor clocked at 300 MHz, showed the number of counter ticks to do this ranged from 20-53 (~1-2.2 usecs) but usually around 41 ticks. This includes some artifacts from collecting the information. So, the minimum period should be at least 5 usecs to be safe. There is also an non-critical lower limit that the period should be since there is no point in setting an event that is much shorter than the time it takes to set the event, and get & handle the timer interrupt for that event. There can also be all sorts of delays from activities occuring elsewhere in the system (including hardware activitis like cache & TLB management). These are virtually impossible to quantify so a minimum period of 50 usecs was chosen. That will certianly be enough to avoid the actual hardware race but hopefully not large enough to cause unreasonably course-grained timers. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 0b0c4c2a6974eae7b96066cb0da35b526fe58468 Author: Mark A. Greer Date: Wed Apr 15 12:41:40 2009 -0700 davinci: Integrate cp_intc support into low-level irq code Integrate the Common Platform Interrupt Controller (cp_intc) support into the low-level irq handling for davinci and similar platforms. Do it such that support for cp_intc and the original aintc can coexist in the same kernel binary. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b14dc0f9942a9c318c6c49f29511d88b3642e2d0 Author: Mark A. Greer Date: Wed Apr 15 12:41:27 2009 -0700 davinci: Factor out emac mac address handling Factor out the code to extract that mac address from i2c eeprom. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit c97909fcf1611645f0fe235b332e39623588d84c Author: Mark A. Greer Date: Wed Apr 15 12:41:15 2009 -0700 davinci: Remove unused i2c eeprom_read/write routines The dm644x and dm646x board files have i2c eeprom read and write routines but they are not used so remove them. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 972412b648dcf0c4303dca7e515d5c24ce3cd1d5 Author: Mark A. Greer Date: Wed Apr 15 12:40:56 2009 -0700 davinci: Move emac platform_data to SoC-specific files Since most of the emac platform_data is really SoC specific and not board specific, move it to the SoC-specific files. Put a pointer to the platform_data in the soc_info structure so the board-specific code can set some of the platform_data if it needs to. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 65e866a9741126c678e6dcd5d4fa8c9eca18e945 Author: Mark A. Greer Date: Wed Mar 18 12:36:08 2009 -0500 davinci: Move serial platform_device into SoC-specific files Currently, there is one set of platform_device and platform_data structures for all DaVinci SoCs. The differences in the data between the various SoCs is handled by davinci_serial_init() by checking the SoC type. However, as new SoCs appear, this routine will become more & more cluttered. To clean up the routine and make it easier to add support for new SoCs, move the platform_device and platform_data structures into the SoC-specific code and use the SoC infrastructure to provide access to the data. In the process, fix a bug where the wrong irq is used for uart2 of the dm646x. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit a994955cc091a8a51b7d7412174d9cf6de04d26b Author: Mark A. Greer Date: Wed Apr 15 12:40:35 2009 -0700 davinci: Make GPIO code more generic The current gpio code needs to know the number of gpio irqs there are and what the bank irq number is. To determine those values, it checks the SoC type. It also assumes that the base address and the number of irqs the interrupt controller uses is fixed. To clean up the SoC checks and make it support different base addresses and interrupt controllers, have the SoC-specific code set those values in the soc_info structure and have the gpio code reference them there. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 9e09675366695405412b709e91709c1ce2925c90 Author: Mike Galbraith Date: Thu May 28 16:25:34 2009 +0200 perf_counter tools: Document '--' option parsing terminator Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit de04687f868bf98e4ef644af91ed85a3bc212ce8 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:41 2009 -0300 perf_counter tools: Convert builtin-top to use libperf symbol routines Now both perf top and report use the same routines. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175541.GG4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 69ee69f63c82e63d9c6c6081d12673af4933c51e Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:26 2009 -0300 perf_counter tools: Optionally pass a symbol filter to the dso load routines Will be used by perf top. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175526.GF4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a827c875f2ebe69c6e6db5e7f112d4beb4d80f01 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:19 2009 -0300 perf_counter tools: Consolidate dso methods to load kernel symbols Now one has just to use dso__load_kernel() optionally passing a vmlinux filename. Will make things easier for perf top that will want to pass a callback to filter some symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0085c954140d27937ada29d139c16341075d45e4 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:13 2009 -0300 perf_counter tools: struct symbol priv area When creating a dso instance allow asking that all symbols in this dso have a private area just before the symbol. perf top will use this for its counters, etc. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175513.GD4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a2928c42a5d69328c3578b41bd4d72f6658cf7dc Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:04 2009 -0300 perf_counter tools: Move symbol resolution classes from report to libperf Will be used by perf top as well. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175504.GC4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit b04e8975e70d9b2bc27c017f92b356b312692544 Author: Santosh Shilimkar Date: Thu May 28 14:16:05 2009 -0700 ARM: OMAP4: Add defconfig for 4430 SDP This patch adds the defconfig for OMAP4430 SDP platform. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 46ba0abfe1ac2bd9608d0fc9e914379be695aa5b Author: Santosh Shilimkar Date: Thu May 28 14:16:05 2009 -0700 ARM: OMAP4: Add support for 4430 SDP This patch updates the Makefile and Kconfig entries for OMAP4. The OMAP4430 SDP board file supports only minimal set of drivers. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 748303850d589038f8ff9f5c7014afb006210b1f Author: Santosh Shilimkar Date: Thu May 28 14:16:04 2009 -0700 ARM: OMAP4: Clock stubs since CLKDEV not in yet. This patch update the common clock.c file for OMAP4. The clk_get() and clk_put() functions are moved to common place in arch/arm/common/clkdev.c Since on current OMAP4 platform clk management is still not supported, the platform file is stubbed with those functions. Once the framework is ready, this WILL be replaced with a full clkdev implementation. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 44169075e6eaa87bab6a296209d8d0610879b394 Author: Santosh Shilimkar Date: Thu May 28 14:16:04 2009 -0700 ARM: OMAP4: Add minimal support for omap4 This patch adds the support for OMAP4. The platform and machine specific headers and sources updated for OMAP4430 SDP platform. OMAP4430 is Texas Instrument's SOC based on ARM Cortex-A9 SMP architecture. It's a dual core SOC with GIC used for interrupt handling and SCU for cache coherency. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 7419045016e5002b3ccee72b28e41bf53dca68f2 Author: Grazvydas Ignotas Date: Thu May 28 14:15:44 2009 -0700 ARM: OMAP3: pandora: add support for mode devices Add support for keypad, GPIO keys and LEDs. Also enable hardware debounce feature for GPIO keys. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 1bfc3738c414a34a6cb81a2f2fddea8e131afa89 Author: Syed Mohammed Khasim Date: Thu May 28 14:15:44 2009 -0700 ARM: OMAP3: Add omap3 EVM defconfig Add omap3 EVM defconfig Signed-off-by: Tony Lindgren commit 53c5ec31e775d40e428a577de561211e11b08d74 Author: Syed Mohammed Khasim Date: Thu May 28 14:13:28 2009 -0700 ARM: OMAP3: Add omap3 EVM support Add omap3 EVM support Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit b969a2873d84b832a00e575c5197d02305399fe2 Author: Vikram Pandita Date: Thu May 28 14:08:58 2009 -0700 ARM: OMAP3: Defconfig for Zoom2 board This patch adds OMAP3 Zoom2 board defconfig. Signed-off-by: Mikkel Christensen Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 577145f45487b41b4d47eeaedb9d37e494f80715 Author: Vikram Pandita Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: Add support for OMAP3 Zoom2 board This patch creates the minimal OMAP3 Zoom2 board support. Signed-off-by: Mikkel Christensen Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f52eeee83d360d536cab1c0296eae0ec5f05e4dd Author: Adrian Hunter Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: RX51: Connect VAUX3 to MMC2 Connect VAUX3 to MMC2 Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren commit 64f535a87ce103fae592f2cce0866b4a45903ed6 Author: Grazvydas Ignotas Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: pandora: setup regulator framework for MMC Setup regulators for MMC1 and MMC2 to get those SD slots working again. Signed-off-by: Grazvydas Ignotas CC: David Brownell Acked-by: David Brownell Signed-off-by: Tony Lindgren commit bb3b9d8eb97624956e7e3a9eba2c64576808b1dc Author: David Brownell Date: Thu May 28 14:04:03 2009 -0700 ARM: OMAP3: Initialize regulators for Beagle and Overo Initialize regulators for Beagle and Overo. Patch is based on earlier patches posted to linux-omap mailing list. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit b583f26d510ee1aef7348f38f1d959212f66b5e5 Author: David Brownell Date: Thu May 28 14:04:03 2009 -0700 ARM: OMAP3: mmc-twl4030 uses regulator framework Decouple the HSMMC glue from the twl4030 as the only regulator provider, using the regulator framework instead. This makes the glue's "mmc-twl4030" name become a complete misnomer ... this code could probably all migrate into the HSMMC driver now. Tested on 3430SDP (SD and low-voltage MMC) and Beagle (SD), plus some other boards (including Overo) after they were converted to set up MMC regulators properly. Eventually all boards should just associate a regulator with each MMC controller they use. In some cases (Overo MMC2 and Pandora MMC3, at least) that would be a fixed-voltage regulator with no real software control. As a temporary hack (pending regulator-next updates to make the "fixed.c" regulator become usable) there's a new ocr_mask field for those boards. Patch updated with a fix for disabling vcc_aux by Adrian Hunter Cc: Pierre Ossman Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 4a899d5e93fd974952492cd4a09e98b209d1ad58 Author: Tony Lindgren Date: Thu May 28 14:04:00 2009 -0700 ARM: OMAP3: Initialize more devices for LDP Based on an earlier patches by Stanley.Miao and Nishant Kamat . Note that at the ads7846 support still needs support for vaux_control for the touchscreen to work. Signed-off-by: Tony Lindgren commit 49adf465d2448dc15866b2267df46ea2e1ccacf1 Author: Imre Deak Date: Thu May 28 14:04:00 2009 -0700 ARM: OMAP3: ZOOM MDK: Add FB support to board file Based on an earlier patch by Stanley.Miao with board-*.c changes split to avoid conflicts with other device updates. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Stanley.Miao Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit 17a722caaef16835ab83f39046da1760cda8a578 Author: Paul Walmsley Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP3: SDRC: add timing data for Qimonda HYB18M512160AF-6 Add timing data for the Qimonda HYB18M512160AF-6 SDRAM chip, used on the OMAP3430SDP boards. Thanks to Rajendra Nayak for his help identifying the chip used on 3430SDP. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2e12bd7ef175c9dc55dc215823b62a2247865012 Author: Paul Walmsley Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP3: SDRC: add timing data for Micron MT46H32M32LF-6, v2 Add timing data for the Micron MT46H32M32LF-6 SDRAM chip, used on the OMAP3 Beagle and EVM boards. Original timing data is from the Micron datasheet PDF downloaded from: http://download.micron.com/pdf/datasheets/dram/mobile/1gb_ddr_mobile_sdram_t48m.pdf Thanks to Rajendra Nayak for his help identifying the chips used on Beagle & OMAP3EVM. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2aa57be2d9e400f498cf0f0636069a81035e06b9 Author: Vikram Pandita Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP2/3: Serial: Remove arch_initcall dependency Move platform_device_register() for serial device to omap_serial_init() There is no need to have arch_initcall() dependency in serial as already board files call the function omap_serial_init() Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit f247de346f67db1e252e4ed6c29d029a6e592398 Author: Tony Lindgren Date: Thu May 28 14:03:58 2009 -0700 ARM: OMAP2/3: Remove L4_WK_OMAP_BASE, L4_PER_OMAP_BASE, L4_EMU_BASE, L3_OMAP_BASE These are not being used right now, and the processor specific defines should be used instead by any code accessing these registers. Signed-off-by: Tony Lindgren commit 088962c243db42b9c608f30be3e3a05a5b696895 Author: Andrew de Quincey Date: Thu May 28 14:03:31 2009 -0700 ARM: OMAP1: Make 770 LCD work Make 770 LCD work by adding clk_add_alias(). Also remove the old unused functions. Note that the clk_add_alias() could probably be moved to arch/arm/clkdev.c later on. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Andrew de Quincey Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren Date: Thu May 28 13:23:53 2009 -0700 ARM: OMAP: Add some entries to MAINTAINERS Add some entries to MAINTAINERS. Also regroup all omap entries together, and remove an inactive MMC maintainers entry, and Jarkko Lavinen instead. Signed-off-by: Tony Lindgren commit 7d8e967f88006ba6bea7f998e9e6745c27b0b664 Author: Imre Deak Date: Thu May 28 13:23:53 2009 -0700 ARM: OMAP2: 2430SDP: Add FB support to board file Based on an earlier patch by Hunyue Yau with board-*.c changes split to avoid conflicts with other device updates. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Hunyue Yau Signed-off-by: Kevin Hilman Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit 1a48e1575188d4023b3428b623caeefe8c599e79 Author: Tony Lindgren Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: Add generic smc91x support when connected to GPMC Convert the board-rx51 smc91x code to be generic and make the boards to use it. This allows future recalculation of the timings when the source clock gets scaled. Also correct the rx51 interrupt to be IORESOURCE_IRQ_HIGHLEVEL. Thanks to Paul Walmsley for better GPMC timing calculations. Signed-off-by: Tony Lindgren commit aa62e90fe0700c037675926fff9f75b0b1c00d78 Author: Juha Yrjola Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: Add generic onenand support when connected to GPMC Add generic onenand support when connected to GPMC and make the boards to use it. The patch has been modified to make it more generic to support all the boards with GPMC. The patch also remove unused prototype for omap2_onenand_rephase(void). Note that board-apollon.c is currently using the MTD_ONENAND_GENERIC and setting the GPMC timings in the bootloader. Setting the GPMC timings in the bootloader will not allow supporting frequency scaling for the onenand source clock. Signed-off-by: Tony Lindgren commit 279b918d726a66c61c9dc7aec8b1fb035d40fdfc Author: Santosh Shilimkar Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: sDMA: Correct omap_request_dma_chain(), v2 Original OMAP DMA chaining design had chain_id as one of the callback parameters. Patch 538528de0cb256f65716ab2e9613d9e920f97fe2 changed it to use logical channel instead. Correct the naming for callback to also use logical channel number instead of the chain_id. More details are on this email thread: http://marc.info/?l=linux-omap&m=122961071931459&w=2 Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 0815f8eaae6d11b9dae6c2ff0202d7945f8d7cd2 Author: Tomi Valkeinen Date: Thu May 28 13:23:51 2009 -0700 ARM: OMAP2/3: DMA: implement trans copy and const fill Implement transparent copy and constant fill features for OMAP2/3. Signed-off-by: Tomi Valkeinen Signed-off-by: Tony Lindgren commit b96d31a62f714566fa6420851b3bb3615c796322 Author: Christoph Hellwig Date: Wed May 27 09:37:33 2009 -0400 cifs: clean up set_cifs_acl interfaces Signed-off-by: Christoph Hellwig Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c912f7e1eae169aaca333b4c5da3f36c98f2ccb0 Author: Kevin Hilman Date: Fri May 15 11:29:28 2009 -0700 OMAP1: PM: update and decouple from OMAP2/3 PM core Update OMAP1-specific PM infrastructure. This is a sync of what is in linux-omap for OMAP1. This mostly de-couples OMAP1 PM from OMAP2/3 PM and renames things accordingly, and removes omap2/3 specific code from OMAP1 specific headers. Original OMAP1 decoupling patch for OMAP PM branch by Paul Walmsley. Cc: Paul Walmsley Signed-off-by: Kevin Hilman commit d3fd3290c4d9f0e40d06fa3a1a8cf164d8cde801 Author: Kevin Hilman Date: Tue May 5 16:34:25 2009 -0700 OMAP3: PM: prevent module wakeups from waking IVA2 By default, prevent functional wakeups from inside a module from waking up the IVA2. Let DSP Bridge code handle this when loaded. Signed-off-by: Kevin Hilman commit b1340d17d25f9a51acf003ba4742e77aefb32071 Author: Kevin Hilman Date: Mon Apr 27 16:14:54 2009 -0700 OMAP3: PM: Clear pending PRCM reset flags on init Signed-off-by: Kevin Hilman commit 014c46db1c596299fc2c1d231cee30bb211035dc Author: Kevin Hilman Date: Mon Apr 27 07:50:23 2009 -0700 OMAP3: PM: Ensure PRCM interrupts are cleared at boot Signed-off-by: Kevin Hilman commit 94a3ef6f2888ae995a8d112e277ed8465a9457fb Author: Peter 'p2' De Schrijver Date: Mon Jan 19 19:09:22 2009 +0200 OMAP3: PM: Ensure MUSB block can idle when driver not loaded Otherwise, bootloaders may leave MUSB in a state which prevents retention. Signed-off-by: Kevin Hilman commit 01cbd4d11558e2e4c10f14bb8aecd799b22bca35 Author: Kevin Hilman Date: Tue Nov 25 21:48:28 2008 -0800 OMAP3: PM: D2D clockdomain supports SW supervised transitions Signed-off-by: Kevin Hilman commit 8111b221a275cbc974eba26059dc764680ded9a9 Author: Kevin Hilman Date: Tue Apr 28 15:27:44 2009 -0700 OMAP3: PM: Add D2D clocks and auto-idle setup to PRCM init Add D2D clocks (modem_fck, sad2d_ick, mad2d_ick) to clock framework and ensure that auto-idle bits are set for these clocks during PRCM init. Also add omap3_d2d_idle() function called durint PRCM setup which ensures D2D pins are MUX'd correctly to enable retention for standalone (no-modem) devices. Signed-off-by: Kevin Hilman commit ba87a9beae8b39894f55761f4aff5ae2ca624f81 Author: Jouni Hogander Date: Tue Dec 9 13:36:50 2008 +0200 OMAP: UART: Add sysfs interface for adjusting UART sleep timeout This patch makes it possible to change uart sleep timeout. New sysfs entry is added (/sys/devices/platform/serial8250./sleep_timeout) Writing zero will disable the timeout feature and prevent UART clocks from being disabled. Also default timeout is increased to 5 second to make serial console more usable. Original patch was written by Tero Kristo. Cc: Tero Kristo Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 4af4016c53f52b26461b8030211f8427a58fa5ed Author: Kevin Hilman Date: Wed Feb 4 10:51:40 2009 -0800 OMAP3: PM: UART: disable clocks when idle and off-mode support This patch allows the UART clocks to be disabled when the OMAP UARTs are inactive, thus permitting the chip to hit retention in idle. After the expiration of an activity timer, each UART is allowed to disable its clocks so the system can enter retention. The activity timer is (re)activated on any UART interrupt, UART wake event or any IO pad wakeup. The actual disable of the UART clocks is done in the 'prepare_idle' hook called from the OMAP idle loop. While the activity timer is active, the smart-idle mode of the UART is also disabled. This is due to a "feature" of the UART module that after a UART wakeup, the smart-idle mode may be entered before the UART has communicated the interrupt, or upon TX, an idle mode may be entered before the TX FIFOs are emptied. Upon suspend, the 'prepare_suspend' hook cancels any pending activity timers and allows the clocks to be disabled immediately. In addition, upon disabling clocks the UART state is saved in case of an off-mode transition while clocks are off. Special thanks to Tero Kristo for the initial ideas and first versions of UART idle support, and to Jouni Hogander for extra testing and bugfixes. Tested on OMAP3 (Beagle, RX51, SDP, EVM) and OMAP2 (n810) Cc: Tero Kristo Cc: Jouni Hogander Signed-off-by: Kevin Hilman commit 5a1a5abdb2e9a301f1ac62feb37228f3f4d3117c Author: Kevin Hilman Date: Fri Oct 31 11:08:42 2008 -0700 OMAP3: PM: Add wake-up bit defintiions for CONTROL_PADCONF_X Signed-off-by: Kevin Hilman commit 1155e426b7365f7909f5a32612feff7361aa0f4c Author: Kevin Hilman Date: Tue Nov 25 11:48:24 2008 -0800 OMAP3: PM: Force IVA2 into idle during bootup Signed-off-by: Kevin Hilman commit 94434535bd36ca010a81e1199f954beef2c4de64 Author: Jouni Hogander Date: Tue Feb 3 15:49:04 2009 -0800 OMAP: Add new function to check wether there is irq pending Add common omap2/3 function to check wether there is irq pending. Switch to use it in omap2 pm code instead of its own. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 8bd229492209c0c7d050e2f9a600c12f035d72f7 Author: Kevin Hilman Date: Thu May 28 10:56:16 2009 -0700 OMAP2/3: PM: push core PM code from linux-omap This patch is to sync the core linux-omap PM code with mainline. This code has evolved and been used for a while the linux-omap tree, but the attempt here is to finally get this into mainline. Following this will be a series of patches from the 'PM branch' of the linux-omap tree to add full PM hardware support from the linux-omap tree. Much of this PM core code was written by Jouni Hogander with significant contributions from Paul Walmsley as well as many others from Nokia, Texas Instruments and linux-omap community. Signed-off-by: Jouni Hogander Cc: Paul Walmsley Signed-off-by: Kevin Hilman commit 203350c1a8e23adf17fd9a96d8bfc7adf63c1ff6 Author: Mark Brown Date: Thu May 28 14:51:00 2009 +0100 ASoC: Initialise dev for the dummy S/PDIF DAI Also include the header to make sure the DAI is prototyped. Signed-off-by: Mark Brown commit 1bf4072da67c14d6b02cfeef02212aa5a6211df2 Author: Christoph Hellwig Date: Wed May 27 09:37:33 2009 -0400 cifs: reorganize get_cifs_acl Thus spake Christoph: "But this whole set_cifs_acl function is a real mess anyway and needs some splitting up." With this change too, it's possible to call acl_to_uid_mode() with a NULL inode pointer. That (or something close to it) will eventually be necessary when cifs_get_inode_info is reorganized. Signed-off-by: Christoph Hellwig Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 38736072d45488fd45f076388b6570419bbbc682 Author: H. Peter Anvin Date: Thu May 28 10:05:33 2009 -0700 x86, mce: drop "extern" from function prototypes in asm/mce.h Function prototypes don't need to be prefixed by "extern". [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit cd13adcc823aa421efa4efd995fa7004a58cf38d Author: Hidetoshi Seto Date: Wed May 27 16:57:31 2009 +0900 x86: trivial clean up for arch/x86/Kconfig Use tab. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit eb2a6ab729ac40a553797703a5a5dba3a74de004 Author: Andi Kleen Date: Tue Apr 28 23:32:56 2009 +0200 x86: trivial clean up for irq_vectors.h Fix a wrong comment. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 98a9c8c3ba13dfc3df8e6d2a126d2fa4e4621e9c Author: Hidetoshi Seto Date: Thu May 28 11:41:01 2009 +0900 x86, mce: trivial clean up for mce-inject.c Fix for: WARNING: Use #include instead of +#include WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc + if (m.cpu >= NR_CPUS || !cpu_online(m.cpu)) ERROR: trailing whitespace +/* $ Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 61a021a0700c22ee527d73d92f9acb109ff478f8 Author: Hidetoshi Seto Date: Tue Apr 14 17:09:04 2009 +0900 x86, mce: trivial clean up for mce_intel_64.c Fix for: WARNING: space prohibited between function name and open parenthesis '(' + for_each_online_cpu (cpu) { Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 34fa1967aa0827776e37feb5666df0327575a0f2 Author: Hidetoshi Seto Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: trivial clean up for mce_amd_64.c Fix for followings: WARNING: Use #include instead of +#include ERROR: Macros with multiple statements should be enclosed in a do - while loop +#define THRESHOLD_ATTR(_name, _mode, _show, _store) \ +{ \ + .attr = {.name = __stringify(_name), .mode = _mode }, \ + .show = _show, \ + .store = _store, \ +}; WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc + if (cpu >= NR_CPUS) Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 14a02530e2239f753a0f3f089847e723adbdaa47 Author: Hidetoshi Seto Date: Thu Apr 30 16:04:51 2009 +0900 x86, mce: trivial clean up for mce.c This fixs following checkpatch warnings: WARNING: Use #include instead of +#include WARNING: Use #include instead of +#include WARNING: line over 80 characters + set_bit(MCE_OVERFLOW, (unsigned long *)&mcelog.flags); WARNING: braces {} are not necessary for any arm of this statement + if (mce_notify_user()) { [...] + } else { [...] Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit cc3aec52ab8e013984270a79d1aa51f691d239b0 Author: Hidetoshi Seto Date: Thu Apr 30 15:58:22 2009 +0900 x86, mce: trivial clean up for therm_throt.c This patch removes following checkpatch warning: WARNING: Use #include instead of +#include Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 9319cec8c185e84fc5281afb6ac5d4c47a234841 Author: Hidetoshi Seto Date: Tue Apr 14 17:26:30 2009 +0900 x86, mce: use strict_strtoull Use strict_strtoull instead of simple_strtoull. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 8780e8e0f6b34862cdf2c62d4d2674d6bc3207db Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: improve documentation Document that check_interval set to 0 means no polling. Noticed by Hidetoshi Seto Also add a reference from boot options to the sysfs tunables Acked-by: Hidetoshi Seto Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b170204ddb7844ffff62d2d537b20c0eeb97725e Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: drop BKL in mce_open BKL is not needed for anything in mce_open because it has an own spinlock. Remove it. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 32561696c23028596f24b353d98f2e23b58f91f7 Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: rename and align out2 label There's only a single out path in do_machine_check now, so rename the label from out2 to out. Also align it at the first column. [ Impact: minor cleanup, no functional changes ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8be9110569aec1f65d86b08aef7ec49659137bf9 Author: Thomas Gleixner Date: Wed May 27 21:56:53 2009 +0200 x86, mce: remove mce_init unused argument Remove unused mce_init argument. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit fc016a49c2d92f2efbe22c1fb66eb7a5d2a06ed1 Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: remove unused mce_events variable Remove unused mce_events static variable. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b56f642d2bf8c1f7c6499c1e55b23311a33cc796 Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86, mce: use extended sysattrs for the check_interval attribute. Instead of using own callbacks use the generic ones provided by the sysdev later. This finally allows to get rid of the ugly ACCESSOR macros. Should also save some text size. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 88921be30296e126896ee4d30758f989d1c4ddfb Author: Andi Kleen Date: Wed May 27 21:56:51 2009 +0200 x86, mce: synchronize core after machine check handling The example code in the IA32 SDM recommends to synchronize the CPU after machine check handling. So do that here. [ Impact: Spec compliance ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5706001aacba5d3db5f224ca135e5e91a30be39c Author: H. Peter Anvin Date: Mon May 25 22:18:17 2009 -0700 x86, mce: fix comment style in mce-inject.c Fix style of winged comment in mce-inject.c. [ Impact: comment only ] Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a1ff41bfc1bb7a6d19cf958f89a9b539678781e5 Author: H. Peter Anvin Date: Mon May 25 22:16:14 2009 -0700 x86, mce: add comment about mce_chrdev_ops being writable Add a comment explaining that mce_chrdev_ops is intentionally writable. [ Impact: comment only ] Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ea149b36c7f511d17dd89fee734cb09778a91fa0 Author: Andi Kleen Date: Wed Apr 29 19:31:00 2009 +0200 x86, mce: add basic error injection infrastructure Allow user programs to write mce records into /dev/mcelog. When they do that a fake machine check is triggered to test the machine check code. This uses the MCE MSR wrappers added earlier. The implementation is straight forward. There is a struct mce record per CPU and the MCE MSR accesses get data from there if there is valid data injected there. This allows to test the machine check code relatively realistically because only the lowest layer of hardware access is intercepted. The test suite and injector are available at git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5f8c1a54cab6f449fe04d42d0661bc796fa4e73e Author: Andi Kleen Date: Wed Apr 29 19:29:12 2009 +0200 x86, mce: add MSR read wrappers for easier error injection This will be used by future patches to allow machine check error injection. Right now it's a nop, except for adding some wrappers around the MSR reads. This is early in the sequence to avoid too many conflicts. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a9862e0560866eadbc59b84867492004da436516 Author: Andi Kleen Date: Tue May 19 22:49:07 2009 +0200 Export add_timer_on for modules Needed in followon patch. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 172d899db4bf0beb7766d583379e5ed552130e4a Author: Andi Kleen Date: Tue Apr 28 23:37:02 2009 +0200 x86, mce: document new 32bit mcelog requirement in Documentation/Changes Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit de5619dfef76ddb403eb7c6de39c0130166c5dc3 Author: Andi Kleen Date: Tue Apr 28 23:34:40 2009 +0200 x86, mce: enable MCE_AMD for 32bit NEW_MCE That's very easy using the infrastructure enabled earlier for MCE_INTEL Untested. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 7856f6cce4a8cda8c1f94b99605c07d16b8d8dec Author: Andi Kleen Date: Tue Apr 28 23:32:56 2009 +0200 x86, mce: enable MCE_INTEL for 32bit new MCE Enable the 64bit MCE_INTEL code (CMCI, thermal interrupts) for 32bit NEW_MCE. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 45f458e9a8a216b02b76fe61d9e8bc40d659fbe8 Author: Andi Kleen Date: Tue Apr 28 23:18:26 2009 +0200 x86, mce: deprecate old 32bit machine check code Schedule for removal in 2.6.32 Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4efc0670baf4b14bc95502e54a83ccf639146125 Author: Andi Kleen Date: Tue Apr 28 19:07:31 2009 +0200 x86, mce: use 64bit machine check code on 32bit The 64bit machine check code is in many ways much better than the 32bit machine check code: it is more specification compliant, is cleaner, only has a single code base versus one per CPU, has better infrastructure for recovery, has a cleaner way to communicate with user space etc. etc. Use the 64bit code for 32bit too. This is the second attempt to do this. There was one a couple of years ago to unify this code for 32bit and 64bit. Back then this ran into some trouble with K7s and was reverted. I believe this time the K7 problems (and some others) are addressed. I went over the old handlers and was very careful to retain all quirks. But of course this needs a lot of testing on old systems. On newer 64bit capable systems I don't expect much problems because they have been already tested with the 64bit kernel. I made this a CONFIG for now that still allows to select the old machine check code. This is mostly to make testing easier, if someone runs into a problem we can ask them to try with the CONFIG switched. The new code is default y for more coverage. Once there is confidence the 64bit code works well on older hardware too the CONFIG_X86_OLD_MCE and the associated code can be easily removed. This causes a behaviour change for 32bit installations. They now have to install the mcelog package to be able to log corrected machine checks. The 64bit machine check code only handles CPUs which support the standard Intel machine check architecture described in the IA32 SDM. The 32bit code has special support for some older CPUs which have non standard machine check architectures, in particular WinChip C3 and Intel P5. I made those a separate CONFIG option and kept them for now. The WinChip variant could be probably removed without too much pain, it doesn't really do anything interesting. P5 is also disabled by default (like it was before) because many motherboards have it miswired, but according to Alan Cox a few embedded setups use that one. Forward ported/heavily changed version of old patch, original patch included review/fixes from Thomas Gleixner, Bert Wesarg. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d896a940ef4f12a0a6bc432853b249dcfbacabf0 Author: Andi Kleen Date: Tue Apr 28 14:25:18 2009 +0200 x86, mce: remove oops_begin() use in 64bit machine check First 32bit doesn't have oops_begin, so it's a barrier of using this code on 32bit. On closer examination it turns out oops_begin is not a good idea in a machine check panic anyways. All oops_begin does it so check for recursive/parallel oopses and implement the "wait on oops" heuristic. But there's actually no good reason to lock machine checks against oopses or prevent them from recursion. Also "wait on oops" does not really make sense for a machine check too. Replace it with a manual bust_spinlocks/console_verbose. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8e97aef5f43ec715f394bc15015ff263b80c3ad6 Author: Andi Kleen Date: Tue Apr 28 14:23:18 2009 +0200 x86, mce: remove machine check handler idle notify on 64bit i386 has no idle notifiers, but the 64bit machine check code uses them to wake up mcelog from a fatal machine check exception. For corrected machine checks found by the poller or threshold interrupts going through an idle notifier is not needed because the wake_up can is just done directly and doesn't need the idle notifier. It is only needed for logging exceptions. To be honest I never liked the idle notifier even though I signed off on it. On closer investigation the code actually turned out to be nearly. Right now machine check exceptions on x86 are always unrecoverable (lead to panic due to PCC), which means we never execute the idle notifier path. The only exception is the somewhat weird tolerant==3 case, which ignores PCC. I'll fix this in a future patch in a much cleaner way. So remove the "mcelog wakeup through idle notifier" code from 64bit. This allows to compile the 64bit machine check handler on 32bit which doesn't have idle notifiers. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d7c3c9a609563868d8a70e220399d06a25aba095 Author: Andi Kleen Date: Tue Apr 28 23:07:25 2009 +0200 x86, mce: move mce_disabled option into common 32bit/64bit code It's the same function, so let's share it. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 04b2b1a4df6cd0fdaa598f3c623a19c2d93cb48a Author: Andi Kleen Date: Tue Apr 28 22:50:19 2009 +0200 x86, mce: rename 64bit mce_dont_init to mce_disabled Give it the same name as on 32bit. This makes further merging easier. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5d7279268b654d1f8ac43b0eb6cd9598d9cf55fd Author: Andi Kleen Date: Mon Apr 27 19:25:48 2009 +0200 x86, mce: use a call vector to call the 64bit mce handler Allows to call different machine check handlers from the low level machine check entry vector. This is needed for later when it will be used for 32bit too. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 2e6f694fde0a7158590e121962ca2e3c06633528 Author: Andi Kleen Date: Mon Apr 27 18:42:48 2009 +0200 x86, mce: port K7 bank 0 quirk to 64bit mce code Various K7 have broken bank 0s. Don't enable it by default Port from the 32bit code. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 06b7a7a5ec917761969444fee967c43868a76468 Author: Andi Kleen Date: Mon Apr 27 18:37:43 2009 +0200 x86, mce: implement the PPro bank 0 quirk in the 64bit machine check code Quoting the comment: * SDM documents that on family 6 bank 0 should not be written * because it aliases to another special BIOS controlled * register. * But it's not aliased anymore on model 0x1a+ * Don't ignore bank 0 completely because there could be a valid * event later, merely don't write CTL0. This is mostly a port on the 32bit code, except that 32bit always didn't write it and didn't have the 0x1a heuristic. I checked with the CPU designers that the quirk is not required starting with this model. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3cde5c8c839bf46a7be799ed0e1d0b4780aaf794 Author: Andi Kleen Date: Mon Apr 27 18:01:31 2009 +0200 x86, mce: initial steps to make 64bit mce code 32bit clean Replace unsigned long with u64s if they need to contain 64bit values. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 01c6680a547a3ee8dd170c269ea8e037b3191b71 Author: Thomas Gleixner Date: Wed Apr 8 12:31:24 2009 +0200 x86, mce: Cleanup MCG definitions Decode more magic constants and turn them into symbols. [ Sort definitions bitwise, introduce MCG_EXT_CNT - HS ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ba2d0f2b0c56d7174a0208f7c463271f39040728 Author: Thomas Gleixner Date: Wed Apr 8 12:31:24 2009 +0200 x86, mce: Cleanup symbols in intel thermal codes Decode magic constants and turn them into symbols. [ Cleanup to use symbols already exists - HS ] [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b659294b779565c60f5e12ef505328e2b974eb62 Author: Ingo Molnar Date: Wed Apr 8 12:31:27 2009 +0200 x86, mce: print number of MCE banks The number of MCE banks supported by a CPU is a useful number to know, so print it out during CPU initialization. [ Impact: add printout ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit cb491fca55e5282f0a95ef39c55352e00d6ca75e Author: Ingo Molnar Date: Wed Apr 8 12:31:17 2009 +0200 x86, mce: Rename sysfs variables Shorten variable names. This also compacts the code a bit. device_mce => mce_dev mce_device_initialized => mce_dev_initialized mce_attribute => mce_attrs [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit dba3725d44f5dfb5711fd509fca10b5b828c43b7 Author: Ingo Molnar Date: Wed Apr 8 12:31:26 2009 +0200 x86, mce: unify move mce_64.c => mce.c and glue it up in the Makefile. Remove mce_32.c Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 711c2e481c9d1113650d09de10f61ee88ab56fda Author: Ingo Molnar Date: Wed Apr 8 12:31:26 2009 +0200 x86, mce: unify, prepare for 32-bit v2 Prepare the 64-bit mce_64.c code side to be built on 32-bit. [ includes ifdef relocation by Andi Kleen ] Signed-off-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a988d334ae8213c0e0e62327222f6e5e6e52bcf1 Author: Ingo Molnar Date: Wed Apr 8 12:31:25 2009 +0200 x86, mce: unify, prepare codes Move current 32-bit mce_32.c code into mce_64.c. [ Remove unused artifact stop/restart_mce pointed by Andi Kleen ] Signed-off-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 06b851d98266b812b2fa23d007cdf53f41194bbb Author: Ingo Molnar Date: Wed Apr 8 12:31:25 2009 +0200 x86, mce: unify, prepare 64bit in mce.h Prepare mce.h for unification, so that it will build on 32-bit x86 kernels too. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a65d086235208a3b3546e209d2210048549099b2 Author: Thomas Gleixner Date: Wed Apr 8 12:31:23 2009 +0200 x86, mce: unify Intel thermal init Mechanic unification. No change in code. [ Impact: cleanup, 32-bit / 64-bit unification ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 6cc6f3ebd19fea722c19630af5ad68af7f51d493 Author: Thomas Gleixner Date: Wed Apr 8 12:31:23 2009 +0200 x86, mce: unify Intel thermal init, prepare Prepare for unification, make two intel_init_thermal equal. [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1cb2a8e1767ab60370ecce90654c0f281c602d95 Author: Ingo Molnar Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: clean up mce_amd_64.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit cb6f3c155b0afabc48667efb9e7b1ce92ccfcab4 Author: Ingo Molnar Date: Wed Apr 8 12:31:19 2009 +0200 x86, mce: clean up therm_throt.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit bdbfbdd5e8f0efb9bfef2e597f8ac673c36317ab Author: Ingo Molnar Date: Wed Apr 8 12:31:20 2009 +0200 x86, mce: clean up non-fatal.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 91425084f74c0ad087b3fb6bdad79a825f952720 Author: Ingo Molnar Date: Wed Apr 8 12:31:22 2009 +0200 x86, mce: clean up winchip.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit efee4ca80980f97b60e91e3322c3342f19623eff Author: Ingo Molnar Date: Wed Apr 8 12:31:20 2009 +0200 x86, mce: clean up k7.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ea2566ff80e096eeecc0918fb5d5a4612d8f62ef Author: Ingo Molnar Date: Wed Apr 8 12:31:19 2009 +0200 x86, mce: clean up p6.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ed8bc7ed9a2ad875617b24d2ba09e49ee886638c Author: Ingo Molnar Date: Wed Apr 8 12:31:21 2009 +0200 x86, mce: clean up p5.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit c5aaf0e0702513637278ca4e27a156caa9392817 Author: Ingo Molnar Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: clean up p4.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3b58dfd04bdfa52e717ead8f3c7622610eb7f950 Author: Ingo Molnar Date: Wed Apr 8 12:31:21 2009 +0200 x86, mce: clean up mce_32.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit e9eee03e99d519599eb615c3e251d5f6cc4be57d Author: Ingo Molnar Date: Wed Apr 8 12:31:17 2009 +0200 x86, mce: clean up mce_64.c This file has been modified many times along the years, by multiple authors, so the general style and structure has diverged in a number of areas making this file hard to read. So fix the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 13503fa9137d9708d52214e9506c671dbf2fbdce Author: Hidetoshi Seto Date: Thu Mar 26 17:39:20 2009 +0900 x86, mce: Cleanup param parser - Fix the comment formatting. - The error path does not return 0, and printk lacks level and "\n". - Move __setup("nomce") next to mcheck_disable(). - Improve readability etc. [ Impact: cleanup ] Signed-off-by: Hidetoshi Seto Acked-by: Andi Kleen LKML-Reference: <49CB3F38.7090703@jp.fujitsu.com> Signed-off-by: Ingo Molnar Signed-off-by: H. Peter Anvin commit 83cce2b69eaa4bc7535f98f75b79397baf277470 Merge: c1eee67 2e8b569 736501e 47bccd6 Author: Joerg Roedel Date: Thu May 28 18:23:56 2009 +0200 Merge branches 'amd-iommu/fixes', 'amd-iommu/debug', 'amd-iommu/suspend-resume' and 'amd-iommu/extended-allocator' into amd-iommu/2.6.31 Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit 47bccd6bb2b866449d3ecf2ba350ac1c7473b2b8 Author: Joerg Roedel Date: Fri May 22 12:40:54 2009 +0200 amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS This will test the automatic aperture enlargement code. This is important because only very few devices will ever trigger this code path. So force it under CONFIG_IOMMU_STRESS. Signed-off-by: Joerg Roedel commit f5e9705c6429d24dee832b2edd7f4848d432ea03 Author: Joerg Roedel Date: Fri May 22 12:31:53 2009 +0200 amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS This forces testing of on-demand page table allocation code. Signed-off-by: Joerg Roedel commit fe16f088a88fb73161bba8784375c829f7e87b54 Author: Joerg Roedel Date: Fri May 22 12:27:53 2009 +0200 amd-iommu: disable round-robin allocator for CONFIG_IOMMU_STRESS Disabling the round-robin allocator results in reusing the same dma-addresses again very fast. This is a good test if the iotlb flushing is working correctly. Signed-off-by: Joerg Roedel commit d9cfed925448f097ec7faab80d903eb7e5f99712 Author: Joerg Roedel Date: Tue May 19 12:16:29 2009 +0200 amd-iommu: remove amd_iommu_size kernel parameter This parameter is not longer necessary when aperture increases dynamically. Signed-off-by: Joerg Roedel commit 11b83888ae729457b5cfb936dbd498481f6408df Author: Joerg Roedel Date: Tue May 19 10:23:15 2009 +0200 amd-iommu: enlarge the aperture dynamically By dynamically increasing the aperture the extended allocator is now ready for use. Signed-off-by: Joerg Roedel commit 00cd122ae5e5e7c60cce2af3c35b190d4c3f2d0d Author: Joerg Roedel Date: Tue May 19 09:52:40 2009 +0200 amd-iommu: handle exlusion ranges and unity mappings in alloc_new_range This patch makes sure no reserved addresses are allocated in an dma_ops domain when the aperture is increased dynamically. Signed-off-by: Joerg Roedel commit 9cabe89b99773e682538a8809abc7d4000c77083 Author: Joerg Roedel Date: Mon May 18 16:38:55 2009 +0200 amd-iommu: move aperture_range allocation code to seperate function This patch prepares the dynamic increasement of dma_ops domain apertures. Signed-off-by: Joerg Roedel commit 803b8cb4d9a93b90c67aba2aab7f2c54d595b5b9 Author: Joerg Roedel Date: Mon May 18 15:32:48 2009 +0200 amd-iommu: change dma_dom->next_bit to dma_dom->next_address Simplify the code a little bit by using the same unit for all address space related state in the dma_ops domain structure. Signed-off-by: Joerg Roedel commit 384de72910a7bf96a02a6d8023fe9e16d872beb2 Author: Joerg Roedel Date: Fri May 15 12:30:05 2009 +0200 amd-iommu: make address allocator aware of multiple aperture ranges This patch changes the AMD IOMMU address allocator to allow up to 32 aperture ranges per dma_ops domain. Signed-off-by: Joerg Roedel commit 53812c115cda1f660b286c939669154a56976f6b Author: Joerg Roedel Date: Tue May 12 12:17:38 2009 +0200 amd-iommu: handle page table allocation failures in dma_ops code The code will be required when the aperture size increases dynamically in the extended address allocator. Signed-off-by: Joerg Roedel commit 8bda3092bcfa68f786d94549ae026e8db1eff041 Author: Joerg Roedel Date: Tue May 12 12:02:46 2009 +0200 amd-iommu: move page table allocation code to seperate function This patch makes page table allocation usable for dma_ops code. Signed-off-by: Joerg Roedel commit c3239567a20e90e3026ac5453d5267506ef7b030 Author: Joerg Roedel Date: Tue May 12 10:56:44 2009 +0200 amd-iommu: introduce aperture_range structure This is a preperation for extended address allocator. Signed-off-by: Joerg Roedel commit 736501ee000757082a4f0832826ae1eda7ea106e Author: Joerg Roedel Date: Tue May 12 09:56:12 2009 +0200 amd-iommu: implement suspend/resume This patch puts everything together and enables suspend/resume support in the AMD IOMMU driver. Signed-off-by: Joerg Roedel commit 05f92db9f47f852ff48bbed1b063b8ab8ad00285 Author: Joerg Roedel Date: Tue May 12 09:52:46 2009 +0200 amd_iommu: un __init functions required for suspend/resume This patch makes sure that no function required for suspend/resume of AMD IOMMU driver is thrown away after boot. Signed-off-by: Joerg Roedel commit 7d7a110c6127b7fc683dc6d764555f2dbd22b054 Author: Joerg Roedel Date: Tue May 5 15:48:10 2009 +0200 amd-iommu: add function to flush tlb for all devices This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit bfd1be1857e5a3385bf146e02e6dc3dd4241bec1 Author: Joerg Roedel Date: Tue May 5 15:33:57 2009 +0200 amd-iommu: add function to flush tlb for all domains This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit 92ac4320af6ed4294c2c221dd4ccbfd9026a3aa7 Author: Joerg Roedel Date: Tue May 19 19:06:27 2009 +0200 amd-iommu: add function to disable all iommus This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit d91cecdd796c27df46339e80ed436a980c56fcad Author: Joerg Roedel Date: Mon May 4 18:51:00 2009 +0200 amd-iommu: remove support for msi-x Current hardware uses msi instead of msi-x so this code it not necessary and can not be tested. The best thing is to drop this code. Signed-off-by: Joerg Roedel commit fab6afa30954a0684ef8ac1d9a606e74a6215ab6 Author: Joerg Roedel Date: Mon May 4 18:46:34 2009 +0200 amd-iommu: drop pointless iommu-loop in msi setup code It is not necessary to loop again over all IOMMUs in this code. So drop the loop. Signed-off-by: Joerg Roedel commit 58492e128892e3b55f1a6ef0cf3c3ab4ce7cc214 Author: Joerg Roedel Date: Mon May 4 18:41:16 2009 +0200 amd-iommu: consolidate hardware initialization to one function This patch restructures the AMD IOMMU initialization code to initialize all hardware registers with one single function call. This is helpful for suspend/resume support. Signed-off-by: Joerg Roedel commit 3bd221724adb9d642270df0e78b0105fb61e4a1c Author: Joerg Roedel Date: Mon May 4 15:06:20 2009 +0200 amd-iommu: introduce for_each_iommu* macros This patch introduces the for_each_iommu and for_each_iommu_safe macros to simplify the developers life when having to iterate over all AMD IOMMUs in the system. Signed-off-by: Joerg Roedel commit c1eee67b2d8464781f5868a34168df61e40e85a6 Author: Chris Wright Date: Thu May 21 00:56:58 2009 -0700 amd iommu: properly detach from protection domain on ->remove Some drivers may use the dma api during ->remove which will cause a protection domain to get reattached to a device. Delay the detach until after the driver is completely unbound. [ joro: added a little merge helper ] [ Impact: fix too early device<->domain removal ] Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 0bc252f430d6a3ac7836d40f00d0ae020593b11b Author: Joerg Roedel Date: Fri May 22 12:48:05 2009 +0200 amd-iommu: make sure only ivmd entries are parsed The bug never triggered. But it should be fixed to protect against broken ACPI tables in the future. [ Impact: protect against broken ivrs acpi table ] Signed-off-by: Joerg Roedel commit 7455aab1f95f6464c5af3fbdee28744e73f38564 Author: Neil Turton Date: Thu May 14 14:08:11 2009 +0100 amd-iommu: fix the handling of device aliases in the AMD IOMMU driver. The devid parameter to set_dev_entry_from_acpi is the requester ID rather than the device ID since it is used to index the IOMMU device table. The handling of IVHD_DEV_ALIAS used to pass the device ID. This patch fixes it to pass the requester ID. [ Impact: fix setting the wrong req-id in acpi-table parsing ] Signed-off-by: Neil Turton Signed-off-by: Joerg Roedel commit 421f909c803d1c397f6c66b75653f238696c39ee Author: Neil Turton Date: Thu May 14 14:00:35 2009 +0100 amd-iommu: fix an off-by-one error in the AMD IOMMU driver. The variable amd_iommu_last_bdf holds the maximum bdf of any device controlled by an IOMMU, so the number of device entries needed is amd_iommu_last_bdf+1. The function tbl_size used amd_iommu_last_bdf instead. This would be a problem if the last device were a large enough power of 2. [ Impact: fix amd_iommu_last_bdf off-by-one error ] Signed-off-by: Neil Turton Signed-off-by: Joerg Roedel commit 2e8b569614b89c9b1b85cba37db36daeeeff744e Author: Joerg Roedel Date: Fri May 22 12:44:03 2009 +0200 amd-iommu: disable device isolation with CONFIG_IOMMU_STRESS With device isolation disabled we can test better for race conditions in dma_ops related code. Signed-off-by: Joerg Roedel commit 2be69c79e9a46a554fc3ff57d886e65e7a73eb72 Author: Joerg Roedel Date: Fri May 22 12:15:49 2009 +0200 x86/iommu: add IOMMU_STRESS Kconfig entry This Kconfig option is intended to enable various code paths or parameters in IOMMU implementations to stress test the code and/or the hardware. This can also be done by disabling optimizations in the code when this option is switched on. Signed-off-by: Joerg Roedel Cc: David Woodhouse Cc: FUJITA Tomonori commit b3b99ef8b4f80f3f093a72110e7697c2281ae45d Author: Joerg Roedel Date: Fri May 22 12:02:48 2009 +0200 amd-iommu: move protection domain printk to dump code This information is only helpful for debugging. Don't print it anymore unless explicitly requested. Signed-off-by: Joerg Roedel commit 02acc43a294098c2a4cd22cf24e9c988644f9f7f Author: Joerg Roedel Date: Wed May 20 16:24:21 2009 +0200 amd-iommu: print ivmd information to dmesg when requested Add information about device memory mapping requirements for the IOMMU as described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit 42a698f40a0946f5517308411b9e003ae031414d Author: Joerg Roedel Date: Wed May 20 15:41:28 2009 +0200 amd-iommu: print ivhd information to dmesg when requested Add information about devices belonging to an IOMMU as described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit 9c72041f719e2864d4208a89341c36b316dbf893 Author: Joerg Roedel Date: Wed May 20 13:53:57 2009 +0200 amd-iommu: add dump for iommus described in ivrs table Add information about IOMMU devices described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit fefda117ddb324b872312f1f061230e627c9f5ee Author: Joerg Roedel Date: Wed May 20 12:21:42 2009 +0200 amd-iommu: add amd_iommu_dump parameter This kernel parameter will be useful to get some AMD IOMMU related information in dmesg that is not necessary for the default user but may be helpful in debug situations. Signed-off-by: Joerg Roedel commit 0573cb5f45f1b98b74348c3f1ed4f26e56e774e5 Author: Valentin Longchamp Date: Thu May 28 16:46:21 2009 +0200 mx31: correct csi_clk parent (v2) changes since v1: we now check if the parent configuration bit was changed since reset and change the parent when needed. csi_clk parent was defined with ahb_clk. However, according to the m31 reference manual, it should be serial_pll_clk. Guennadi always used a 20 MHz clock that was by chance changed to a 45 MHz that fits in the mt9t031 spec. Now the clocks are computed and output correctly (measured on oscillo). Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 0b0ef442958d74e5749c460b0ae68606e317fe01 Author: Fabio Estevam Date: Wed May 27 13:51:24 2009 -0700 MX3: Add missing entry in devices.h Add missing mxc_rnga_device entry in devices.h (mxc-master tree). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit ed888aef427365d19f887c271a3a906d16422d24 Author: Joerg Roedel Date: Fri May 22 17:16:04 2009 +0200 dma-debug: re-add dma memory leak detection This is basically a revert of commit 314eeac9 but now in a fixed version. Signed-off-by: Joerg Roedel commit c5077ec42303e07c2c685b0f6cb8eee0f2c7751c Author: Steve French Date: Thu May 28 15:09:04 2009 +0000 [CIFS] Update readme to indicate change to default mount (serverino) Signed-off-by: Steve French commit a0c9217f64ee3cd1e534966da8c5f05768e1ab09 Author: Jeff Layton Date: Wed May 27 15:40:47 2009 -0400 cifs: make serverino the default when mounting Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bd433d4cf4d8593a5f1764776b91f1794fce5a77 Author: Jeff Layton Date: Wed May 27 09:37:34 2009 -0400 cifs: rename cifs_iget to cifs_root_iget The current cifs_iget isn't suitable for anything but the root inode. Rename it with a more appropriate name. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit c4a2c08db7d976c2e23a97da5d69ec7c9701034d Author: Jeff Layton Date: Wed May 27 09:37:33 2009 -0400 cifs: make cnvrtDosUnixTm take a little-endian args and an offset The callers primarily end up converting the args from le anyway. Also, most of the callers end up needing to add an offset to the result. The exception to these rules is cnvrtDosCifsTm, but there are no callers of that function, so we might as well remove it. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit 07119a4df8c8c77d888f2f46964ea9512ea84ff8 Author: Jeff Layton Date: Wed May 27 09:37:33 2009 -0400 cifs: have cifs_NTtimeToUnix take a little-endian arg ...and just have the function call le64_to_cpu. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit be461ba836770263826457624bc4a5173a1f5040 Author: Chaithrika U S Date: Thu May 28 05:10:50 2009 -0400 ASoC: Add dummy S/PDIF codec support McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed. This patch provides stub codec that can be used in these configurations. On DM646x EVM the McASP1 is connected to the S/PDIF out. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit e03cdade0ca945a04e982525e50fef275190b77b Author: Russell King Date: Thu May 28 14:16:52 2009 +0100 [ARM] smp: use new cpumask functions Convert cpu_*_mask bit twiddling to the new set_cpu_*() API. Signed-off-by: Russell King commit c93f7669098eb97c5376e5396e3dfb734c17df4f Author: Paul Mackerras Date: Thu May 28 22:18:17 2009 +1000 perf_counter: Fix race in attaching counters to tasks and exiting Commit 564c2b21 ("perf_counter: Optimize context switch between identical inherited contexts") introduced a race where it is possible that a counter being attached to a task could get attached to the wrong task, if the task is one that has inherited its context from another task via fork. This happens because the optimized context switch could switch the context to another task after find_get_context has read task->perf_counter_ctxp. In fact, it's possible that the context could then get freed, if the other task then exits. This fixes the problem by protecting both the context switch and the critical code in find_get_context with spinlocks. The context switch locks the cxt->lock of both the outgoing and incoming contexts before swapping them. That means that once code such as find_get_context has obtained the spinlock for the context associated with a task, the context can't get swapped to another task. However, the context may have been swapped in the interval between reading task->perf_counter_ctxp and getting the lock, so it is necessary to check and retry. To make sure that none of the contexts being looked at in find_get_context can get freed, this changes the context freeing code to use RCU. Thus an rcu_read_lock() is sufficient to ensure that no contexts can get freed. This part of the patch is lifted from a patch posted by Peter Zijlstra. This also adds a check to make sure that we can't add a counter to a task that is exiting. There is also a race between perf_counter_exit_task and find_get_context; this solves the race by moving the get_ctx that was in perf_counter_alloc into the locked region in find_get_context, so that once find_get_context has got the context for a task, it won't get freed even if the task calls perf_counter_exit_task. It doesn't matter if new top-level (non-inherited) counters get attached to the context after perf_counter_exit_task has detached the context from the task. They will just stay there and never get scheduled in until the counters' fds get closed, and then perf_release will remove them from the context and eventually free the context. With this, we are now doing the unclone in find_get_context rather than when a counter was added to or removed from a context (actually, we were missing the unclone_ctx() call when adding a counter to a context). We don't need to unclone when removing a counter from a context because we have no way to remove a counter from a cloned context. This also takes out the smp_wmb() in find_get_context, which Peter Zijlstra pointed out was unnecessary because the cmpxchg implies a full barrier anyway. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Mike Galbraith Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18974.33033.667187.273886@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit af73110d23fb54f940197d93a410e9fa0cee66e2 Author: Catalin Marinas Date: Mon May 18 16:26:27 2009 +0100 [ARM] 5516/1: Flush the D-cache after initialising the SCU On MP systems, the data loaded by CPU0 before the SCU was initialised may not be visible to the other CPUs. Signed-off-by: Catalin Marinas Signed-off-by: Russell King This also includes the following compile fix: This patch includes 'asm/cacheflush.h' which is needed to use 'flush_cache_all()' function. Signed-off-by: Santosh Shilimkar Signed-off-by: Russell King commit 7d96fd41cadc55f4e00231c8c71b8e25c779f122 Author: Petr Tesarik Date: Mon May 25 11:02:02 2009 +0200 x86: move rdtsc_barrier() into the TSC vread method The *fence instructions were moved to vsyscall_64.c by commit cb9e35dce94a1b9c59d46224e8a94377d673e204. But this breaks the vDSO, because vread methods are also called from there. Besides, the synchronization might be unnecessary for other time sources than TSC. [ Impact: fix potential time warp in VDSO ] Signed-off-by: Petr Tesarik LKML-Reference: <9d0ea9ea0f866bdc1f4d76831221ae117f11ea67.1243241859.git.ptesarik@suse.cz> Signed-off-by: Thomas Gleixner Cc: commit b4f8b5e2f5c7d71ae0cf18659e361088b812de1b Merge: b21fadb 1812e67 Author: Takashi Iwai Date: Thu May 28 13:12:48 2009 +0200 Merge branch 'fix/hda' into topic/hda commit b21fadb9c1852c91622ca1dccfeb144bc535e36e Author: Takashi Iwai Date: Thu May 28 12:26:15 2009 +0200 ALSA: hda - Add more register bits definitions Added some missing register bits definitions to reduce magic numbers. Also renamed some to follow the names on the datasheet. Signed-off-by: Takashi Iwai commit b05a7d4fed7e51dca37d0a31baf1466de30b1f01 Author: Takashi Iwai Date: Thu May 28 11:59:12 2009 +0200 ALSA: hda - Always sync writes in single_cmd mode In the single_cmd mode, the hardware cannot store the multiple replies like on RIRB, thus each verb has to sync and wait for the response no matter whether the return value is needed or not. Otherwise it may result in a wrong return value from the previous verb. Signed-off-by: Takashi Iwai commit 449bd54dcbd0b60070ce4129fedaf0f4ae044099 Author: Roel Kluin Date: Wed May 27 17:08:39 2009 -0700 ASoC: correct print specifiers for unsigneds Unsigned variables should use `%u' rather than `%d'. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Mark Brown commit 5d85d3247cc3555215d7d11c78576a396c98e4d9 Author: Mike Snitzer Date: Thu May 28 11:04:53 2009 +0200 block: export blk_stack_limits() DM needs to use blk_stack_limits(), so it needs to be exported. Acked-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 63299f057fbce47da895e8865cba7e9c3eb01a20 Author: Ingo Molnar Date: Thu May 28 10:52:00 2009 +0200 perf_counter tools: report: Add help text for --sort Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ca8cdeef9ca2ff89ee8a21d6f6ff3dfb60286041 Author: Peter Zijlstra Date: Thu May 28 11:08:33 2009 +0200 perf_counter tools: report: Implement header output for --sort variants Implement this style of header: # # Overhead Command File: Symbol # ........ ....... ............ # for the various --sort variants as well. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit d3e78ee3d015dac1794433abb6403b6fc8e70e10 Author: Ingo Molnar Date: Thu May 28 11:41:50 2009 +0200 perf_counter: Fix perf_counter_init_task() on !CONFIG_PERF_COUNTERS Pointed out by compiler warnings: tip/include/linux/perf_counter.h:644: warning: no return statement in function returning non-void Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 46c37672d7fff0097385eb0cbd01aa0254dad0aa Author: David S. Miller Date: Thu May 28 01:22:57 2009 -0700 rtl8187: Remove pointless check in rtl8187_rx_cb(). First of all, it exposes the SKB list implementation. Second of all it's not needed. If we get called here, we successfully enqueued the URB with the linked SKB and such a completion only gets called one time on such an SKB. Signed-off-by: David S. Miller commit a1091aae19b1d9c85d91c86915a611387f67a26b Author: David S. Miller Date: Thu May 28 00:48:16 2009 -0700 p54: Use SKB list handling helpers instead of by-hand code. Signed-off-by: David S. Miller commit 13b297d943828c4594527a2bd9c30ecd04e37886 Author: Tetsuo Handa Date: Tue May 26 14:18:07 2009 +0900 smack: Remove redundant initialization. We don't need to explicitly initialize to cap_* because it will be filled by security_fixup_ops(). Signed-off-by: Tetsuo Handa Acked-by: Serge Hallyn Acked-by: Casey Schaufler Signed-off-by: James Morris commit ae71fabbe55552afc01f2bc797bee6838db22485 Author: David S. Miller Date: Wed May 27 17:27:01 2009 -0700 wavelan: Remove bogus debugging on skb->next being non-NULL. This eliminates explicit references to the SKB list handling implementation. Signed-off-by: David S. Miller commit 438263ac58f8c2a3a409b7d4e68a37725bd95818 Author: David S. Miller Date: Wed May 27 17:09:44 2009 -0700 aoe: Remove superfluous clearing of skb fields in new_skb(). This code uses alloc_skb() which clears them out for us. Signed-off-by: David S. Miller commit abfe0af9813153bae8c85d9bac966bafcb8ddab1 Author: Yinghai Lu Date: Wed May 20 00:37:40 2009 -0700 x86: enable_update_mptable should be a macro instead of declaring one variant as an inline function... because other case is a variable Signed-off-by: Yinghai Lu LKML-Reference: <4A13B344.7030307@kernel.org> Signed-off-by: Ingo Molnar commit 5615968a70845157adaffc11062c997d045339ee Author: David S. Miller Date: Wed May 27 16:56:47 2009 -0700 appletalk: Add proper locking around IPDDP routing table. Signed-off-by: David S. Miller commit 14dba5331b90c20588ae6504fea8049c7283028d Author: Mimi Zohar Date: Wed May 27 09:31:52 2009 -0400 integrity: nfsd imbalance bug fix An nfsd exported file is opened/closed by the kernel causing the integrity imbalance message. Before a file is opened, there normally is permission checking, which is done in inode_permission(). However, as integrity checking requires a dentry and mount point, which is not available in inode_permission(), the integrity (permission) checking must be called separately. In order to detect any missing integrity checking calls, we keep track of file open/closes. ima_path_check() increments these counts and does the integrity (permission) checking. As a result, 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 calling ima_path_check(). In nfsv3 permission checking is done once, followed by multiple reads, which do an open/close for each read. The integrity (permission) checking call should be in nfsd_permission() after the inode_permission() call, but as there is no correlation between the number of permission checking and open calls, the integrity checking call should not increment the counters, but defer it to when the file is actually opened. This patch adds: - integrity (permission) checking for nfsd exported files in nfsd_permission(). - a call to increment counts for files opened by nfsd. This patch has been updated to return the nfs error types. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit f2aebaee653a35b01c3665de2cbb1e31456b8ea8 Author: Zhaolei Date: Wed May 27 21:36:02 2009 +0800 ftrace: don't convert function's local variable name in macro "call" is an argument of macro, but it is also used as a local variable name of function in macro. We should keep this local variable name distinct from any CPP macro parameter name if both are in the same macro scope, although it hasn't caused any problem yet. [ Impact: robustify macro ] Signed-off-by: Zhao Lei Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 5b6045a906f48d37591365c5dcdd6d1d146bfd4a Author: Heiko Carstens Date: Tue May 26 17:28:02 2009 +0200 trace: disable preemption before taking raw spinlocks s390 code uses smp_processor_id() in __raw_spin_lock() code which reveals that a (raw) spinlock is taken without preemption disabled. This can potentially deadlock. To fix this explicitly disable and enable preemption. BUG: using smp_processor_id() in preemptible [00000000] code: cat/2278 caller is trace_find_cmdline+0x40/0xfc CPU: 0 Not tainted 2.6.30-rc7-dirty #39 Process cat (pid: 2278, task: 000000003faedb68, ksp: 000000003b33b988) 000000003b33b988 000000003b33bae0 0000000000000002 0000000000000000 000000003b33bb80 000000003b33baf8 000000003b33baf8 00000000000175d6 0000000000000001 000000003b33b988 000000003f9b0000 000000000000000b 000000000000000c 000000003b33bb40 000000003b33bae0 0000000000000000 0000000000000000 00000000000175d6 000000003b33bae0 000000003b33bb28 Call Trace: ([<00000000000174b2>] show_trace+0x112/0x170) [<0000000000017582>] show_stack+0x72/0x100 [<0000000000441538>] dump_stack+0xc8/0xd8 [<000000000025c350>] debug_smp_processor_id+0x114/0x130 [<00000000000bf0e4>] trace_find_cmdline+0x40/0xfc [<00000000000c35d4>] trace_print_context+0x58/0xac [<00000000000bb676>] print_trace_line+0x416/0x470 [<00000000000bc8fe>] s_show+0x4e/0x428 [<000000000013834e>] seq_read+0x36a/0x5d4 [<0000000000112a78>] vfs_read+0xc8/0x174 [<0000000000112c58>] SyS_read+0x74/0xc4 [<000000000002c7ae>] sysc_noemu+0x10/0x16 [<000002000012436c>] 0x2000012436c 1 lock held by cat/2278: #0: (&p->lock){+.+.+.}, at: [<0000000000138056>] seq_read+0x72/0x5d4 [ Impact: fix preempt-unsafe raw spinlock ] Signed-off-by: Heiko Carstens Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 385a154cac8763284f65cdfa25f6796c9eb1ca21 Author: Jiri Pirko Date: Wed May 27 15:48:07 2009 -0700 net: correct a comment for the final #endif Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 2a91525c20d3aae15b33c189514b9e20e30ef8a8 Author: Eric Dumazet Date: Wed May 27 11:30:05 2009 +0000 net: net/core/sock.c cleanup Pure style cleanup patch. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 553e2335625e6c96cb6d76c0d63cfc1034747614 Author: Eric Dumazet Date: Wed May 27 10:34:50 2009 +0000 net: use netdev stats in b44, sundance, via-rhine and via-velocity Use struct net_device_stats provided in struct net_device instead of private ones. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1ce8e7b57b3a4527ef83da1c5c7bd8a6b9d87b56 Author: Eric Dumazet Date: Wed May 27 04:42:37 2009 +0000 net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv() Use ALIGN() and PTR_ALIGN() macros instead of handcoding them. Get rid of NETDEV_ALIGN_CONST ugly define Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0bb32417ff0f6ac385e4eec3ef6641950bbb3694 Author: Jiri Pirko Date: Wed May 27 00:55:08 2009 +0000 bridge: avoid an extra space in br_fdb_update() Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 824fb38e99cd5334629b340a2ae1ba0917cc35ab Author: Florian Fainelli Date: Tue May 26 23:38:10 2009 +0000 r6040: check and update media status This patch removes the not-that-useful message in the r6040_timer which prints the PHY status. Instead replace it with a call to mii_check_media which will update the link status and print it on startup. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 3026c19a14ba71ccd4dc4925abab9395ea12839c Author: Steve Wise Date: Wed May 27 14:43:39 2009 -0700 RDMA/cxgb3: Limit fast register size based on T3 limitations T3 firmware only supports one WRs worth of page list for fast register work requests. The driver currently allows 2 WRs worth, which doesn't work for T3, so reduce the limit in the driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 7ab1a2b31d4a8b4f519ccff5a84c53a5b87fd1be Author: Steve Wise Date: Wed May 27 14:42:36 2009 -0700 RDMA/cxgb3: Report correct port state and MTU Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ab6bf42e2339580b5d87746d0ff4da4b1578b03e Author: Eli Cohen Date: Wed May 27 14:38:34 2009 -0700 mlx4_core: Add module parameter for number of MTTs per segment The current MTT allocator uses kmalloc() to allocate a buffer for its buddy allocator, and thus is limited in the amount of MTT segments that it can control. As a result, the size of memory that can be registered is limited too. This patch uses a module parameter to control the number of MTT entries that each segment represents, allowing more memory to be registered with the same number of segments. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c1f67a88bf62fac0f4151c007b361199c2cd1988 Author: Eli Cohen Date: Wed May 27 14:36:16 2009 -0700 IB/mthca: Add module parameter for number of MTTs per segment The current MTT allocator uses kmalloc() to allocate a buffer for its buddy allocator, and thus is limited in the amount of MTT segments that it can control. As a result, the size of memory that can be registered is limited too. This patch uses a module parameter to control the number of MTT entries that each segment represents, allowing more memory to be registered with the same number of segments. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 55717314c4e3a5180a54228a2f97e50f3496de4c Author: Ingo Molnar Date: Wed May 27 22:13:17 2009 +0200 pref_counter: tools: report: Robustify in case of weird events This error condition: aldebaran:~/linux/linux/Documentation/perf_counter> perf report dso__load_sym: cannot get elf header. failed to open: /etc/ld.so.cache problem processing PERF_EVENT_MMAP, bailing out caused the profile to be very short - as the error was at the beginning of the file and we bailed out completely. Be more permissive and consider the event broken instead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ea8b27ad0cc2573776c6cd87617a37aaf603b8bd Author: Jon Smirl Date: Wed May 27 01:06:19 2009 -0400 ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout() The function signature for spin_event_timeout() has changed in version V9. Adjust the mpc5200 AC97 driver to use the new function. Signed-off-by: Jon Smirl Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 2d65537ee7cd4a0818ea80a97ab7932368fff5cd Author: Ingo Molnar Date: Wed May 27 21:36:22 2009 +0200 pref_counter: tools: report: Add header printout & prettify Old default output: 3.12% perf-report [.] ./perf-report: dsos__find 2.44% perf-report [k] kernel: kallsyms_expand_symbol 2.28% :4483 [.] : 2.05% :4174 [k] kernel: _spin_lock_irqsave 2.01% perf-report [k] kernel: vsnprintf 1.92% perf-report [k] kernel: format_decode 1.92% :4438 [k] kernel: _spin_lock New default output: # # Overhead Command File: Symbol # ........ ....... ............ # 6.54% perf [k] kernel: kallsyms_expand_symbol 6.26% perf [.] /home/mingo/tip/Documentation/perf_counter/perf: dso__insert_symbol 4.76% perf [.] /home/mingo/tip/Documentation/perf_counter/perf: hex2long 4.55% perf [k] kernel: number 4.48% perf [k] kernel: format_decode 4.09% perf [k] kernel: vsnprintf Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.229504802@chello.nl> Signed-off-by: Ingo Molnar commit 55e5ec41a9de46b6ca06031f4fbdfdfc76dc24dc Author: Peter Zijlstra Date: Wed May 27 20:20:28 2009 +0200 pref_counter: tools: report: Add dso sorting Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.229504802@chello.nl> Signed-off-by: Ingo Molnar commit 992444b173f35997f96f5cbb214f0de81d1b97ff Author: Peter Zijlstra Date: Wed May 27 20:20:27 2009 +0200 perf_counter: tools: report: Add comm sorting Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.129302022@chello.nl> Signed-off-by: Ingo Molnar commit 37f440cba299bb479cf45d12eef923f0979dbcaf Author: Peter Zijlstra Date: Wed May 27 20:20:26 2009 +0200 pref_counter: tools: report: Add --sort option option parsing for dynamic sorting. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.041817692@chello.nl> Signed-off-by: Ingo Molnar commit 1aa167382323eeeeb38368cab85cf17979793cbe Author: Peter Zijlstra Date: Wed May 27 20:20:25 2009 +0200 perf_counter: tools: report: Dynamic sort/print bits Make the sorting and printing dynamic. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.921953817@chello.nl> Signed-off-by: Ingo Molnar commit e7fb08b1d06a6b37263c765205de5614a2273aeb Author: Peter Zijlstra Date: Wed May 27 20:20:24 2009 +0200 perf_counter: tools: report: Rework histogram code In preparation for configurable sorting, rework the histgram code a bit. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.796410098@chello.nl> Signed-off-by: Ingo Molnar commit 450aaa2b2a1b006870ba68251fbb40b2387caade Author: Peter Zijlstra Date: Wed May 27 20:20:23 2009 +0200 perf_counter: tools: report: Add vmlinux support Allow to use vmlinux instead of kallsyms. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.740018486@chello.nl> Signed-off-by: Ingo Molnar commit a17c859849402315613a0015ac8fbf101acf0cc1 Author: Pablo Neira Ayuso Date: Wed May 27 17:50:35 2009 +0200 netfilter: conntrack: add support for DCCP handshake sequence to ctnetlink This patch adds CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ that exposes the u64 handshake sequence number to user-space. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit f2e21c9610991e95621a81407cdbab881226419b Author: Eero Nurkkala Date: Mon May 25 09:57:37 2009 +0300 NOHZ: Properly feed cpufreq ondemand governor A call from irq_exit() may occasionally pause the timing info for cpufreq ondemand governor. This results in the cpufreq ondemand governor to fail to calculate the system load properly. Thus, relocate the checks for this particular case to keep the governor always functional. Signed-off-by: Eero Nurkkala Reported-by: Tero Kristo Acked-by: Rik van Riel Acked-by: Venkatesh Pallipadi Signed-off-by: Thomas Gleixner commit cbf806dd9302f3ff27ba496dae474b9da6b58873 Author: Sebastian Andrzej Siewior Date: Wed May 27 06:22:58 2009 -0700 Input: ucb1400 - move static function from header into core it's a little too large for static line. The ts is currently the only mainline user but Marek Vasut claims that there is a battery driver in an ARM tree which also needs this function. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Dmitry Torokhov commit b7a16eac5e679fb5f531b9eeff7db7952303e77d Author: Peter Zijlstra Date: Wed May 27 13:35:35 2009 +0200 perf_counter: tools: /usr/lib/debug%s.debug support Some distros seem to store debuginfo in weird places. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3c4198e874cde694f5ea1463706873e7907bdb18 Author: Kiyoshi Ueda Date: Wed May 27 14:50:02 2009 +0200 block: fix no diskstat problem The commit below in 2.6-block/for-2.6.31 causes no diskstat problem because the blk_discard_rq() check was added with '&&'. It should be 'blk_fs_request() || blk_discard_rq()'. This patch does it and fixes the no diskstat problem. Please review and apply. ------ /proc/diskstat without this patch ------------------------------------- 8 0 sda 0 0 0 0 0 0 0 0 0 0 0 ------------------------------------------------------------------------------ ----- /proc/diskstat with this patch applied --------------------------------- 8 0 sda 4186 303 373621 61600 9578 3859 107468 169479 2 89755 231059 ------------------------------------------------------------------------------ -------------------------------------------------------------------------- commit c69d48540c201394d08cb4d48b905e001313d9b8 Author: Jens Axboe Date: Fri Apr 24 08:12:19 2009 +0200 block: include discard requests in IO accounting We currently don't do merging on discard requests, but we potentially could. If we do, then we need to include discard requests in the IO accounting, or merging would end up decrementing in_flight IO counters for an IO which never incremented them. So enable accounting for discard requests. static inline int blk_do_io_stat(struct request *rq) { - return rq->rq_disk && blk_rq_io_stat(rq) && blk_fs_request(rq); + return rq->rq_disk && blk_rq_io_stat(rq) && blk_fs_request(rq) && + blk_discard_rq(rq); } -------------------------------------------------------------------------- Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit ba396a6c104682dfe5c8b4fbbf5974d5ac9f3687 Author: James Bottomley Date: Wed May 27 14:17:08 2009 +0200 block: fix oops with block tag queueing commit e8939a50466fd963eb1ba9118c34b9ffb7ff6aa6 Author: Tejun Heo Date: Fri May 8 11:54:16 2009 +0900 block: implement and enforce request peek/start/fetch Added a BUG_ON(blk_queued_rq(req)) to the top of blk_finish_req(). Unfortunately, this checks whether req->queuelist is empty. This list is doing double duty both as the queue list and the tag list, so tagged requests come in here with this not empty and boom (the tag list is emptied by blk_queue_end_tag() lower down). Fix this by moving the BUG_ON to below the end tag we also seem vulnerable to this in blk_requeue_request() as well. I think all uses of blk_queued_rq() need auditing because the check is clearly wrong in the tagged case. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit d716fba49c7445ec87c3f045c59624fac03ee3f2 Author: Ingo Molnar Date: Wed May 27 13:19:59 2009 +0200 perf report: Remove include Pekka reported build failure in builtin-report.c: CC builtin-report.o In file included from builtin-report.c:7: /usr/include/ctype.h:102: error: expected expression before token And observed: | Removing #include from builtin-report.c makes the problem | go away. I am running Ubuntu 9.04 that has gcc 4.3.3 and libc 2.9. Reported-by: Pekka J Enberg Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ef65b2a0b3a2f82850144df6e6a7796f6d66da6b Author: Mike Galbraith Date: Wed May 27 10:10:51 2009 +0200 perf record: Fix the profiling of existing pid or whole box Perf record bails if no command argument is provided, so you can't use naked -a or -p to profile a running task or the whole box. Allow foreground profiling of an existing pid or the entire system. [ Impact: fix command option handling bug ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit a2a804cddfe65f18f903985e8a8d04c7c9eec354 Author: Herbert Xu Date: Tue May 26 18:50:34 2009 +0000 tcp: Do not check flush when comparing options for GRO There is no need to repeatedly check flush when comparing TCP options for GRO as it will be false 99% of the time where it matters. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9aaa156cf9b7e9d9ed899f254283b91c4e3c36c8 Author: Herbert Xu Date: Tue May 26 18:50:33 2009 +0000 gro: Store shinfo in local variable in skb_gro_receive This patch stores the two shinfo pointers in local variables because they're used over and over again in skb_gro_receive. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66e92fcf1ded5dd0da30d016ed47882eb183ec71 Author: Herbert Xu Date: Tue May 26 18:50:32 2009 +0000 gro: Nasty optimisations for page frags in skb_gro_receive This patch reverses the direction of the frags array copy in skb_gro_receive in order simplify the loop conditional. It also avoids touching the first element of the original frags array. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb18978cbf454c236db5e4191a12ef71eef9b3a0 Author: Herbert Xu Date: Tue May 26 18:50:31 2009 +0000 gro: Open-code final pskb_may_pull As we know the only packets which need the final pskb_may_pull are completely non-linear, and have all the required bits in frag0, we can perform a straight memcpy instead of going through pskb_may_pull and doing skb_copy_bits. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1075f3f65d0e0f49351b7d4310e9f94483972a51 Author: Herbert Xu Date: Tue May 26 18:50:29 2009 +0000 ipv4: Use 32-bit loads for ID and length in GRO This patch optimises the IPv4 GRO code by using 32-bit loads (instead of 16-bit ones) on the ID and length checks in the receive function. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a5b1cf288d4200506ab62fbb86cc81ace948a306 Author: Herbert Xu Date: Tue May 26 18:50:28 2009 +0000 gro: Avoid unnecessary comparison after skb_gro_header For the overwhelming majority of cases, skb_gro_header's return value cannot be NULL. Yet we must check it because of its current form. This patch splits it up into multiple functions in order to avoid this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7489594cb249aeb178287c9a43a9e4f366044259 Author: Herbert Xu Date: Tue May 26 18:50:27 2009 +0000 gro: Optimise length comparison in skb_gro_header By caching frag0_len, we can avoid checking both frag0 and the length separately in skb_gro_header. This helps as skb_gro_header is called four times per packet which amounts to a few million times at 10Gb/s. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 30a3ae30c775e2723f86ef70746ad3cb4404a4c9 Author: Herbert Xu Date: Tue May 26 18:50:26 2009 +0000 tcp: Optimise len/mss comparison Instead of checking len > mss || len == 0, we can accomplish both by checking (len - 1) > mss using the unsigned wraparound. At nearly a million times a second, this might just help. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4a9a2968a17eae42ef5dffca8b37534c864e30cc Author: Herbert Xu Date: Tue May 26 18:50:25 2009 +0000 tcp: Remove unnecessary window comparisons for GRO The window has already been checked as part of the flag word so there is no need to check it explicitly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 745898eaf0eb7a04a56dec1188d9148259510863 Author: Herbert Xu Date: Tue May 26 18:50:24 2009 +0000 tcp: Optimise GRO port comparisons Instead of doing two 16-bit operations for the source/destination ports, we can do one 32-bit operation to take care both. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 78d3fd0b7de844a6dad56e9620fc9d2271b32ab9 Author: Herbert Xu Date: Tue May 26 18:50:23 2009 +0000 gro: Only use skb_gro_header for completely non-linear packets Currently skb_gro_header is used for packets which put the hardware header in skb->data with the rest in frags. Since the drivers that need this optimisation all provide completely non-linear packets, we can gain extra optimisations by only performing the frag0 optimisation for completely non-linear packets. In particular, we can simply test frag0 (instead of skb_headlen) to see whether the optimisation is in force. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 67147ba99aeb48f2863e03b68e090088a34c1b5d Author: Herbert Xu Date: Tue May 26 18:50:22 2009 +0000 gro: Localise offset/headlen in skb_gro_offset This patch stores the offset/headlen in local variables as they're used repeatedly in skb_gro_offset. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 78a478d0efd9e86e5345b436e130497b4e5846e8 Author: Herbert Xu Date: Tue May 26 18:50:21 2009 +0000 gro: Inline skb_gro_header and cache frag0 virtual address The function skb_gro_header is called four times per packet which quickly adds up at 10Gb/s. This patch inlines it to allow better optimisations. Some architectures perform multiplication for page_address, which is done by each skb_gro_header invocation. This patch caches that value in skb->cb to avoid the unnecessary multiplications. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 42da6994ca6d20ad1d4e30255dee98047db454e7 Author: Herbert Xu Date: Tue May 26 18:50:19 2009 +0000 gro: Open-code frags copy in skb_gro_receive gcc does a poor job at generating code for the memcpy of the frags array in skb_gro_receive, which is the primary purpose of that function when merging frags. In particular, it can't utilise the alignment information of the source and destination. This patch open-codes the copy so we process words instead of bytes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 08d15f034e94251606479d7ca9070994c2e2fcf0 Author: Mark Brown Date: Sat May 23 10:41:05 2009 +0100 ASoC: Switch FSL SSI DAI over to symmetric_rates The effect of symmetric_constraints should provide a standard way to enforce the use of the same sample rate for both directions. Signed-off-by: Mark Brown Acked-by: Timur Tabi commit a930d2c0d0a685ab955472b08baad041cc5edb4a Author: Ingo Molnar Date: Wed May 27 09:50:13 2009 +0200 perf_counter tools: Add built-in pager support Add Git's pager.c (and sigchain) code. A command only has to call setup_pager() to get paged interactive output. Non-interactive (redirected, command-piped, etc.) uses are not affected. Update perf-report to make use of this. [ Impact: new feature ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 23ac9cbed82b00ca3520bb81dbe9ea3b7a936a1b Author: Ingo Molnar Date: Wed May 27 09:33:18 2009 +0200 perf_counter tools: Rename output.perf to perf.data output.perf is only output to perf-record - it's input to perf-report. So change it to a more direction-neutral name. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 16f762a2ac5ecf8a11f6f0332e46cc3459220da5 Author: Ingo Molnar Date: Wed May 27 09:10:38 2009 +0200 perf_counter tools: Introduce stricter C code checking Tighten up our C code requirements: - disallow warnings - disallow declarations-mixed-with-statements - require proper prototypes - require C99 (with gcc extensions) Fix up a ton of problems these measures unearth: - unused functions - needlessly global functions - missing prototypes - code mixed with declarations Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 815e777f913ed54ddb449d2854015c65b4ecbfe3 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:46:14 2009 -0300 perf report: Show the IP only in --verbose mode perf: report should show the IP only in --verbose mode [acme@emilia ~]$ perf report | head 4.95 find [k] _spin_lock 2.19 find [k] ext3fs_dirhash [ext3] 1.87 find [k] __rcu_read_lock 1.86 find [k] _atomic_dec_and_lock 1.86 find [.] /lib64/libc-2.5.so: __GI_strlen 1.85 find [k] __kmalloc 1.62 find [.] /lib64/libc-2.5.so: vfprintf 1.59 find [k] __rcu_read_unlock 1.55 find [k] __d_lookup Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526224614.GK4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit af83632f98aefd1ae4d8ca3c7c285ccf6a7d3956 Author: Ingo Molnar Date: Wed May 27 08:38:48 2009 +0200 perf report: Only load text symbols from kallsyms, fix - allow 'W' symbols too - Convert initializations to C99 style - whitespace cleanups Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 03f6316d32738ec5eda2e6f628c12d1c01e61a87 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:21:55 2009 -0300 perf report: Only load text symbols from kallsyms Just like we do for userspace when reading the symtab, reducing the number of entries we insert on the symbols rbtree. Before: [acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 218.138382 task clock ticks (msecs) 4 context switches (events) 8 CPU migrations (events) 2136 pagefaults (events) 32746212 CPU cycles (events) (scaled from 67.04%) 11961102 instructions (events) (scaled from 66.19%) 49841 cache references (events) (scaled from 21.96%) 13777 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 218.702477 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 11.06 perf [.] 0x00000000000057cb /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 9.15 perf [.] 0x00000000000056a0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 8.72 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 8.51 perf [.] 0x0000000000006672 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 3.83 perf [k] 0xffffffff811cfc5a vsnprintf 3.40 perf [.] 0x0000000000005e33 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 3.40 perf [.] 0x0000000000005ec7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 3.19 perf [k] 0xffffffff811ce1c1 number 2.77 perf [.] 0x0000000000006869 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew 2.77 perf [.] 0x000000000000fde3 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color [acme@emilia ~]$ After: acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 190.228511 task clock ticks (msecs) 4 context switches (events) 7 CPU migrations (events) 1625 pagefaults (events) 29578745 CPU cycles (events) (scaled from 66.92%) 10516914 instructions (events) (scaled from 66.47%) 44015 cache references (events) (scaled from 22.04%) 8248 cache misses (events) (scaled from 22.07%) Wall-clock time elapsed: 190.816096 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 15.99 perf [.] 0x00000000000057a9 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 10.87 perf [.] 0x000000000000674d /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 8.74 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 5.54 perf [.] 0x0000000000005e42 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 4.48 perf [.] 0x0000000000005ebe /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 4.48 perf [k] 0xffffffff811cfba0 vsnprintf 3.84 perf [.] 0x00000000000056b4 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 3.62 perf [.] 0x00000000000068d0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew 3.20 perf [k] 0xffffffff811ce0b3 number 2.56 perf [.] 0x0000000000006d78 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: __cmd_report [acme@emilia ~]$ [ Impact: optimization ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit d8d1656ee15d3085e0085a87e70f9093a0a102c5 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:20:57 2009 -0300 perf report: Use hex2long instead of sscanf Before: [acme@emilia ~]$ perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 245.414985 task clock ticks (msecs) 6 context switches (events) 6 CPU migrations (events) 2108 pagefaults (events) 37493013 CPU cycles (events) (scaled from 67.04%) 13576789 instructions (events) (scaled from 66.76%) 57931 cache references (events) (scaled from 21.96%) 12263 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 246.575587 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 12.15 perf [.] 0x000000000005432a /lib64/libc-2.5.so: _IO_vfscanf_internal 9.38 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 8.53 perf [.] 0x00000000000056b8 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 6.61 perf [.] 0x00000000000057cb /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 5.33 perf [k] 0xffffffff811ce082 number 4.69 perf [.] 0x0000000000034829 /lib64/libc-2.5.so: ____strtoull_l_internal 4.48 perf [.] 0x0000000000006505 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 3.41 perf [.] 0x000000000000fce6 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color 3.20 perf [k] 0xffffffff811cfc01 vsnprintf 2.99 perf [k] 0xffffffff811ce5e8 format_decode After: [acme@emilia ~]$ perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 218.186805 task clock ticks (msecs) 4 context switches (events) 7 CPU migrations (events) 2133 pagefaults (events) 32735365 CPU cycles (events) (scaled from 67.04%) 11952309 instructions (events) (scaled from 66.26%) 50314 cache references (events) (scaled from 21.96%) 13228 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 218.810451 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 10.68 perf [.] 0x000000000000578d /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 9.62 perf [.] 0x00000000000065f7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 9.40 perf [.] 0x00000000000056b4 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 9.19 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 5.13 perf [.] 0x0000000000005ec7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 4.49 perf [k] 0xffffffff81083808 kallsyms_expand_symbol 3.85 perf [k] 0xffffffff811ce2c1 number 3.63 perf [.] 0x0000000000005e81 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 2.99 perf [.] 0x000000000000fd5b /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color 2.99 perf [k] 0xffffffff811cf251 string [acme@emilia ~]$ [ Impact: optimization ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222057.GI4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit d6a1cd4975a5ffaa21a961be04a469519edf50d6 Author: Bob Moore Date: Thu May 21 11:06:53 2009 +0800 ACPICA: Update version to 20090521. Update version number. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b1cd843be74ba0dcc6c42db7b11b76d63be149f6 Author: Bob Moore Date: Thu May 21 11:05:03 2009 +0800 ACPICA: Disable preservation of SCI enable bit (SCI_EN) Preserving this bit breaks some machines. Not preserving this bit seems to work OK in all cases, even though this goes against the ACPI spec. http://bugzilla.kernel.org/show_bug.cgi?id=13289 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0fb2787bf2fa5dbe02ffd61ca3ce842c50769573 Author: Peter P Waskiewicz Jr Date: Tue May 26 21:41:18 2009 -0700 ixgbe: Fix build warning This patch fixes a build warning due to an unused label. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 3362a6badb4fe75e198885b125b21ccf846861b4 Author: Lin Ming Date: Thu May 21 11:03:29 2009 +0800 ACPICA: Region deletion: Ensure region object is removed from handler list Prevents a possible fault when a dynamic operation region is deleted. ACPICA BZ 507. http://acpica.org/bugzilla/show_bug.cgi?id=507 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit c446eed6187addf9f76ee0028abed32393aef27e Author: Alex Chiang Date: Thu May 21 10:59:15 2009 +0800 ACPICA: Eliminate extra call to NsGetParentNode Was called twice in the same function with the same parameter. Alex Chiang. Signed-off-by: Alex Chiang Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f5407af3f271ed4cd6655cf30d419d77e0f8bfaa Author: Bob Moore Date: Thu May 21 10:56:52 2009 +0800 ACPICA: Simplify internal operation region interface Changed address parameter to a simple offset. This removes the need for the caller to access the region object to obtain the physical address. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 3c59f96081259358d9d5d677f4839c36391806b6 Author: Bob Moore Date: Thu May 21 10:51:53 2009 +0800 ACPICA: Update Load() to use operation region interfaces Replace memory mapping with region access calls. Now, all region accesses go through the region handler as they should. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b2f7ddcfcb9c2436896cb339a7ff70245648f033 Author: Lin Ming Date: Thu May 21 10:42:09 2009 +0800 ACPICA: New: AcpiInstallMethod - install a single control method This interface enables the override or creation of a single control method. Useful to repair a bug or install a missing method. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit e0be6f5a9863b626c19f0be04946c6285cc9db56 Author: Lin Ming Date: Thu May 21 10:32:02 2009 +0800 ACPICA: Invalidate DdbHandle after table unload Mark the DdbHandle as invalid after the table it refers to is unloaded. This is needed because the handle itself may not be deleted after the table unload, depending on whether it has been stored in a named object by the caller. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 06366c149232f64c89f513f188ccc6783d0e444f Author: Lin Ming Date: Thu May 21 10:29:28 2009 +0800 ACPICA: Fix reference count issues for DdbHandle object Fix a problem where the DdbHandle could be prematurely deleted, possibly causing a fault. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 8c725bf93706db976e9de495579ca625d493e809 Author: Bob Moore Date: Thu May 21 10:27:51 2009 +0800 ACPICA: Simplify and optimize NsGetNextNode function Reduced parameter count and reduced code for this frequently used function. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 474caffdc1ab35e9bcb1f88768442e3a4079a10d Author: Bob Moore Date: Thu May 21 10:10:16 2009 +0800 ACPICA: Additional validation of _PRT packages (resource mgr) Fixes a possible fault when parsing an ill-formed _PRT package. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a76b7727364ebb77b25983427623757d2c99bbc3 Author: Bob Moore Date: Thu May 21 10:06:19 2009 +0800 ACPICA: Fix DebugObject output for DdbHandle objects Was putting several extra spaces on the next line. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 315c728887f198d12eb6ec7ef9d88483018c11cb Author: Bob Moore Date: Thu May 21 10:04:33 2009 +0800 ACPICA: Fix allowable release order for ASL mutex objects The ACPI 4.0 specification has been changed to make the SyncLevel for mutex objects more useful. When releasing a mutex, the synclevel of the mutex must now be the same as the current sync level. This makes more sense. This change updates the code to match the spec. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 10a3b461a258f52b17fb8e35edf3625726eca9a8 Author: Bob Moore Date: Thu May 21 10:02:34 2009 +0800 ACPICA: Mutex support: Fix release ordering issue and current sync level Fixes a problem where if multiple mutexes of the same sync level are acquired but then not released in strict opposite order, the current sync level becomes confused and can cause errors. ACPICA BZ 471. http://acpica.org/bugzilla/show_bug.cgi?id=471 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ba9e2ae443feb7231d9631ea0f62b63e26cfb9b1 Author: Bob Moore Date: Fri Apr 24 10:43:43 2009 +0800 ACPICA: Update version to 20090422. Version 20090422. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e0c437bcca6926b541c738b5c64445654750b365 Author: Bob Moore Date: Wed Apr 22 13:39:47 2009 +0800 ACPICA: Linux OSL: cleanup/update/merge Merge the OSL with the actual file used by Linux, so that the file does not require patching when integrated with Linux. General cleanup and some restructuring. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2b09ce98a25e467455ecd81354cc18381628be75 Author: Bob Moore Date: Wed Apr 22 13:22:38 2009 +0800 ACPICA: Fix implementation of AML BreakPoint operator (break to debugger) The AML BreakPoint opcode will now cause a break into the AML debugger if it is present/configured. This matches the expected behavior per the ACPI specification. Previously, only a message was output. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ba9c3f550e5792fbce2bbd7a429bf6f6d1f45fda Author: Bob Moore Date: Wed Apr 22 13:13:48 2009 +0800 ACPICA: Fix miscellaneous warnings under gcc 4+ Some possible warnings with gcc 4+, especially with extended warnings enabled Signed-off-by: Bob Moore Signed-off-by: Lin Ming commit e4c1ebfc65c125b1289144f5815715f238367683 Author: Bob Moore Date: Wed Apr 22 13:02:06 2009 +0800 ACPICA: Miscellaneous lint changes Unused variables/headers, casting, etc. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 65259094c3e038519a2d8fa6fbc6256f04ad6535 Author: Bob Moore Date: Wed Apr 22 12:57:40 2009 +0800 ACPICA: Fix possible dereference of null pointer Fix dereference of possibly null pointer "Predefined" in the case where the method is not one of the predefined methods. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b21245a85e62ea7eeb5b7562ce98cf8b0aecbd26 Author: Bob Moore Date: Wed Apr 22 12:52:51 2009 +0800 ACPICA: Fix printf format warnings for 64-bit build Fix warnings caused by size_t and ACPI_SIZE changing to 64 bits. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 35d7c1cfe5262480d3d8e6ccd7e4caf3a9c8ab39 Author: Bob Moore Date: Wed Apr 22 12:41:27 2009 +0800 ACPICA: Cleanup byte/word/dword extraction macros, fix possible warnings Removed unnecessary masking. For the 64-bit macros, removed the structure overlay. Fixes aliasing warnings seen with gcc 4+ compilers. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 10b6575b5d84d21e2eab01df2284288e5fdf7887 Author: Bob Moore Date: Wed Apr 22 11:39:10 2009 +0800 ACPICA: Fix possible warnings for ACPI_THREAD_ID on 64-bit build Warnings can be generated for printf-like statements that output the ACPI_THREAD_ID on 64-bit builds, since this type can expand to 64-bits depending on how it is defined. Use the %p format specifier to allow the output to automatically expand to 64 bits. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 41bdd8e9809665d6a13e49137661a8f2e5a7dc51 Author: Bob Moore Date: Wed Apr 22 10:51:06 2009 +0800 ACPICA: Remove unused global variables Remove two unused/obsolete variables. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 33a1d461d294722dd15ffe17651bdd48b5763883 Author: Bob Moore Date: Wed Apr 22 10:48:57 2009 +0800 ACPICA: Change behavior of object copy for mutex/event objects When copying these internal objects, cannot simply copy the underlying OS object. A new OS object must be created. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8eb7b2477c4e4fec4788605e4edb5f7acafb59ff Author: Bob Moore Date: Wed Apr 22 10:28:22 2009 +0800 ACPICA: Fix a few warnings for gcc 3.4.4 Mostly for acpiexec, one in the core subsystem. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b74be6119e9e38390395f08767b7c84de9023b38 Author: Bob Moore Date: Wed Apr 22 10:20:23 2009 +0800 ACPICA: Update error/warning interfaces Moved the module name and line number to the end of the message. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8e401eccd3a62fb57f117bb09b7c1fc70ab19e8c Author: David S. Miller Date: Tue May 26 21:16:25 2009 -0700 phy: Eliminate references to BUS_ID_SIZE. Just use the constant 20 to keep things working. If someone is so motivated, this can be converted over to dynamic strings. I tried and it's a lot of work. But for now this is good enough. Signed-off-by: David S. Miller commit 079e24ed80c8a91dd2884b88820bac6f340aaa83 Author: David S. Miller Date: Tue May 26 21:15:00 2009 -0700 nl80211: Eliminate reference to BUS_ID_SIZE. It's going away. Just leave the constant "20" here so that behavior doesn't change. Signed-off-by: David S. Miller commit 0a372eb91f9d507701a901c2f62ed31ca67fd66c Author: David S. Miller Date: Tue May 26 21:11:09 2009 -0700 sh_eth: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE instead. Signed-off-by: David S. Miller commit 21a8cfe120c581091722fb146540a2033af16a57 Author: David S. Miller Date: Tue May 26 21:10:22 2009 -0700 cpmac: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE. Signed-off-by: David S. Miller commit 0e53c7f954a1e616df74723630dc844c211f6be5 Author: David S. Miller Date: Tue May 26 21:09:33 2009 -0700 ixp4xx_eth: Remove references to BUS_ID_SIZE. Use MII_BUS_ID_SIZE instead. Signed-off-by: David S. Miller commit 2b0cc7f78ba55e831c16fb8cb5c204d9d2ecc398 Author: David S. Miller Date: Tue May 26 21:05:19 2009 -0700 net: Remove bogus reference to BUS_ID_SIZE in sysfs code. BUS_ID_SIZE is really no more, and device names are dynamically allocated and thus can be any necessary size. So remove the BUG check here making sure BUS_ID_SIZE is at least as large as IFNAMSIZ. Signed-off-by: David S. Miller commit f21b75e9d6471d7f4e2110774819be7beafc86d5 Author: Jean Delvare Date: Tue May 26 20:54:48 2009 -0700 r8169: Use a different default for each family The r8169 driver supports 3 different families of network chips (RTL8169, RTL8168 and RTL8101). When an unknown version is found, the driver currently always defaults to the RTL8169 variant. This has very little chance to ever work for chips of the other families. So better define a per-family default. Signed-off-by: Jean Delvare Acked-by: Francois Romieu Signed-off-by: David S. Miller commit 3d6593e9cc40d0eacc03f75f90834794a4a477df Author: Kevin Hao Date: Tue May 26 20:49:03 2009 -0700 net/ucc_geth: allow to set mac address on running device Inspired by the patch for 8139too (bda6a15a). Currently we can't set mac address on a running ucc_geth device. But this is needed when you use this device as a bonding slave in bonding device in balance-alb mode. So add this feature for ucc_geth device. Signed-off-by: Kevin Hao Signed-off-by: David S. Miller commit 9c5cd6708008fcc3dbced6e4b97aa5ecd0634a85 Author: Tanli Chang Date: Tue May 26 20:45:50 2009 -0700 niu: Add support for C10NEM This patch is for supporting C10NEM. C10NEM is a switch module, which has back-to-back XAUI link connected to blades. Signed-off-by: Tanli Chang Signed-off-by: David S. Miller commit 8ca783ab78e3fa518885c4fef93d0972e450a4de Author: Don Skidmore Date: Tue May 26 20:40:47 2009 -0700 ixgbe: fix 82598 SFP initialization after driver load. If we loaded the driver with out a SFP module plugged in it would leave it in a state that make it later unable to link when a module was plugged in. This patch corrects that by: ixgbe_probe() - moving the check for IXGBE_ERR_SFP_NOT_PRESENT from after get_invariants() to after reset_hw() as now reset_hw() is where this condition will be indentified. ixgbe_reset_hw_82598() - Enable this function to now return IXGBE_ERR_SFP_NOT_PRESENT. ixgbe_identify_sfp_module_generic() - This where the lack of SFP module is detected. Modifications are added to allow a different return value for modules that just haven't been plugged in yet. Other functions were updated to allow correct logging. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f7c86a3252af7f1222f9ebce66f3654ad3aa9ff0 Author: Peter P Waskiewicz Jr Date: Tue May 26 20:40:09 2009 -0700 ixgbe: Remove device ID 0x10d8 Device ID 0x10d8 is the default silicon device ID for 82599. However, the device will not be functional without an EEPROM, so we want to prevent the driver from loading on the device. Otherwise, the driver will load, but no PHY setup or PCIe setup will occur, causing the device to be unusable. To prevent users from encountering this, just remove the device ID. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cbe7a81a7370e2c4560b48e42e741bd1476bc700 Author: Alexander Duyck Date: Tue May 26 13:51:05 2009 +0000 igb/e1000e: update PSSR_MDIX value to reflect correct bit The phy port status register has the MDI-X status bit on bit 11, not bit 3 as is currently setup in the define. This patch corrects that so the correct bit is checked on igp PHY types. Signed-off-by: Alexander Duyck Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3ea73afafb8cd237a823ec5d0a0a2f2396b03b33 Author: Jesper Dangaard Brouer Date: Tue May 26 13:50:48 2009 +0000 igb: Record host memory receive overflow in net_stats Based on previous patch from Jesper Dangaard Brouer. The RNBC (Receive No Buffers Count) register for the 82576, indicate that frames were received when there were no available buffers in host memory to store those frames (receive descriptor head and tail pointers were equal). The packet is still received by the NIC if there is space in the FIFO on the NIC. As the RNBC value is not a packet drop, the driver stores this value in net_stats.rx_fifo_errors to indicate that there were no system buffers available for the incoming packet. Actual dropped packets are counted in the MPC value. Saving the stats in dev->net_stats makes it visible via /proc/net/dev as "fifo", and thus viewable to ifconfig as "overruns" and 'netstat -i' as "RX-OVR". The Receive No Buffers Count (RNBC) can already be queried by ethtool -S as "rx_no_buffer_count". Signed-off-by: Jeff Kirsher CC: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 8c0ab70ab9cc849af59ef6592bd652a938b21c79 Author: Jesper Dangaard Brouer Date: Tue May 26 13:50:31 2009 +0000 igb: Implement reading of reg RQDPC (Receive Queue Drop Packet Count) Based on the previous patches from Jesper Dangaard Brouer Implement reading the per queue drop stats register RQDPC (Receive Queue Drop Packet Count). It counts the number of packets dropped by a queue due to lack of descriptors available. Notice RQDPC (Receive Queue Drop Packet Count) stats only gets incremented, if the DROP_EN bit it set (in the SRRCTL register for that queue). If DROP_EN bit is NOT set, then the some what equivalent count is stored in RNBC (not per queue basis). The RQDPC register is only 12 bit, thus the precision might suffer due to overrun in-netween the watchdog polling interval. Signed-off-by: Jeff Kirsher CC: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 3c514ce2f9ae20c06fb17c7ccff40cad1516cc41 Author: Jeff Kirsher Date: Tue May 26 13:50:15 2009 +0000 igb: add RQDPC (Receive Queue Drop Packet Count) register macro Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b93d584772347323334253d5b21c4d720718d7da Author: Alexander Beregalov Date: Tue May 26 12:35:27 2009 +0000 8139*: convert printk() to pr_() Also convert DPRINTK to pr_debug and dev_printk to dev_. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 39738e161f7315bfa8f31a91d2262f93d818a7cd Author: Alexander Beregalov Date: Tue May 26 12:35:26 2009 +0000 3c5xx: convert printk() to pr_() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 646cdb32831eebe8c2f742c293d0d266326854d9 Author: Alexander Beregalov Date: Tue May 26 12:35:25 2009 +0000 3c50x: convert printk() to pr_() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 76b0187525f024cb391c8043adf2e359b2adb988 Author: Tetsuo Handa Date: Tue May 26 14:16:31 2009 +0900 rootplug: Remove redundant initialization. We don't need to explicitly initialize to cap_* because it will be filled by security_fixup_ops(). Signed-off-by: Tetsuo Handa Acked-by: Serge Hallyn Signed-off-by: James Morris commit a330bd4750bc84aebb28faddd525d0bcbdde262d Author: Kevin Hilman Date: Wed May 6 15:53:25 2009 -0700 Revert "ARM: OMAP: Mask interrupts when disabling interrupts, v2" This reverts commit 5461af5af5c6a7fee78978aafe720541bf3a2f55. Adding a disable hook to the irq_chip is not the way to fix the problem being addressed by this patch. Instead, we need to fix support for [enable|disable]_irq_wake(). Signed-off-by: Kevin Hilman commit 096324873f9c7172a17aff9db1356f4f01b77afe Author: Eric Sandeen Date: Sat May 23 14:30:12 2009 -0500 xfs: fix overflow in xfs_growfs_data_private In the case where growing a filesystem would leave the last AG too small, the fixup code has an overflow in the calculation of the new size with one fewer ag, because "nagcount" is a 32 bit number. If the new filesystem has > 2^32 blocks in it this causes a problem resulting in an EINVAL return from growfs: # xfs_io -f -c "truncate 19998630180864" fsfile # mkfs.xfs -f -bsize=4096 -dagsize=76288719b,size=3905982455b fsfile # mount -o loop fsfile /mnt # xfs_growfs /mnt meta-data=/dev/loop0 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=2 data = bsize=4096 blocks=3905982455, imaxpct=5 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument Reported-by: richard.ems@cape-horn-eng.com Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 88b6f7eb9b4a06fbfe27f2d98e249577f4cfdaef Merge: 8f9ccfe 7971687 Author: Tony Lindgren Date: Tue May 26 14:41:35 2009 -0700 Merge branch 'omap-clock-upstream' of git://git.pwsan.com/linux-2.6 into for-next commit f55ed1a83d099f275c9560ad7d4c4700d1e54bdd Author: Jeff Layton Date: Tue May 26 16:28:11 2009 -0400 cifs: tighten up default file_mode/dir_mode The current default file mode is 02767 and dir mode is 0777. This is extremely "loose". Given that CIFS is a single-user protocol, these permissions allow anyone to use the mount -- in effect, giving anyone on the machine access to the credentials used to mount the share. Change this by making the default permissions restrict write access to the default owner of the mount. Give read and execute permissions to everyone else. These are the same permissions that VFAT mounts get by default so there is some precedent here. Note that this patch also removes the mandatory locking flags from the default file_mode. After having looked at how these flags are used by the kernel, I don't think that keeping them as the default offers any real benefit. That flag combination makes it so that the kernel enforces mandatory locking. Since the server is going to do that for us anyway, I don't think we want the client to enforce this by default on applications that just want advisory locks. Anyone that does want this behavior can always enable it by setting the file_mode appropriately. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 46a7574caf5bc533c24b315800ed323c187614f5 Author: Jeff Layton Date: Sun May 24 18:45:17 2009 -0400 cifs: fix artificial limit on reading symlinks There's no reason to limit the size of a symlink that we can read to 4000 bytes. That may be nowhere near PATH_MAX if the server is sending UCS2 strings. CIFS should be able to read in a symlink up to the size of the buffer. The size of the header has already been accounted for when creating the slabcache, so CIFSMaxBufSize should be the correct size to pass in. Fixes samba bug #6384. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0c0e09e21a9e7bc6ca54e06ef3d497255ca26383 Author: Mark Brown Date: Tue May 26 21:14:59 2009 +0100 ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved These drivers use spin_event_timeout() which is only present in the PowerPC tree at present and which is undergoing some API revisions so temporarily mark them as BROKEN until these issues are sorted out. Signed-off-by: Mark Brown commit 6ffee43ecf8bfbe0bd74c9084c9772a59097d53b Author: Jon Smirl Date: Tue May 26 08:34:14 2009 -0400 ASoC: Fabric bindings for STAC9766 on the Efika Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit a9262c4fd404654acd3684699047fa63206518c8 Author: Jon Smirl Date: Tue May 26 08:34:12 2009 -0400 ASoC: Support for AC97 on Phytec pmc030 base board. A wm9712 AC97 codec is used. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit 20d0e1520ed1ba8aad05f416245446de0f7ec4bb Author: Jon Smirl Date: Tue May 26 08:34:10 2009 -0400 ASoC: AC97 driver for mpc5200 I've implemented retries for when the AC97 hardware doesn't reset on first try. About 10% of the time both the Efika and pcm030 AC97 codecs don't reset on first try and need to be poked multiple times. Failure is indicated by not having the link clock start ticking. Every once in a while even five pokes won't get the link started and I have to power cycle. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit dbcc34756234596993a3b1304636f032e66d401f Author: Jon Smirl Date: Tue May 26 08:34:08 2009 -0400 ASoC: Main rewite of the mpc5200 audio DMA code Rewrite the mpc5200 audio DMA code to support both I2S and AC97. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 3a4b8cc70b7473a0b9f26f5b4ddc6579b5e214be Author: Arnaldo Carvalho de Melo Date: Tue May 26 16:19:04 2009 -0300 perf report: Sort output by symbol usage [acme@emilia ~]$ perf record find / > /dev/null 2>&1 [acme@emilia ~]$ perf stat perf report | head -20 4.95 find [k] 0xffffffff81393d65 _spin_lock 3.89 find [.] 0x000000000000af89 /usr/bin/find: 2.19 find [k] 0xffffffffa00518e0 ext3fs_dirhash 1.87 find [k] 0xffffffff810a6cea __rcu_read_lock 1.86 find [k] 0xffffffff811c7312 _atomic_dec_and_lock 1.86 find [.] 0x00000000000782ab /lib64/libc-2.5.so: __GI_strlen 1.85 find [k] 0xffffffff810fedfb __kmalloc 1.62 find [.] 0x00000000000430ff /lib64/libc-2.5.so: vfprintf 1.59 find [k] 0xffffffff810a6d6d __rcu_read_unlock 1.55 find [k] 0xffffffff81119395 __d_lookup 1.39 find [.] 0x0000000000071b40 /lib64/libc-2.5.so: _int_malloc 1.30 find [k] 0xffffffffa031c4fc nfs_do_filldir 1.21 find [k] 0xffffffff811876a5 avc_has_perm_noaudit 1.15 find [k] 0xffffffff810fef62 kmem_cache_alloc 1.07 find [k] 0xffffffff811d03fb copy_user_generic_string 1.03 find [k] 0xffffffffa0043882 ext3_htree_store_dirent 0.99 find [k] 0xffffffff81393ebb _spin_lock_bh 0.98 find [k] 0xffffffffa03319a2 nfs3_decode_dirent 0.97 find [k] 0xffffffff8100bf20 system_call 0.92 find [k] 0xffffffff8139437e _spin_unlock Performance counter stats for 'perf': 244.278972 task clock ticks (msecs) 8 context switches (events) 9 CPU migrations (events) 2104 pagefaults (events) 35329669 CPU cycles (events) (scaled from 75.40%) 13740366 instructions (events) (scaled from 75.49%) 59073 cache references (events) (scaled from 24.60%) 196 cache misses (events) (scaled from 24.51%) Wall-clock time elapsed: 246.060717 msecs [acme@emilia ~]$ [acme@emilia ~]$ grep "model name" /proc/cpuinfo | head -1 model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz [acme@emilia ~]$ grep "model name" /proc/cpuinfo | wc -l 8 [acme@emilia ~]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090526191904.GH4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit c2adae0970ca1db8adb92fb56ae3bcabd916e8bd Author: Steven Rostedt Date: Wed May 20 19:56:19 2009 -0400 tracing: convert irq events to use __print_symbolic The recording of the names at trace time is inefficient. This patch implements the softirq event recording to only record the vector and then use the __print_symbolic interface to print out the names. [ Impact: faster recording of softirq events ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 0f4fc29dd68dfab9c6ddd5d087d34a5b6818cb00 Author: Steven Rostedt Date: Wed May 20 19:21:47 2009 -0400 tracing: add __print_symbolic to trace events This patch adds __print_symbolic which is similar to __print_flags but works for an enumeration type instead. That is, there is only a one to one mapping between the values and the symbols. When a match is made, then it is printed, otherwise the hex value is outputed. [ Impact: add interface for showing symbol names in events ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 62ba180e80f4194a498585ac0e4c07daa8ca08d1 Author: Steven Rostedt Date: Fri May 15 16:16:30 2009 -0400 tracing: add flag output for kmem events This patch changes the output for gfp_flags from being a simple hex value to the actual names. gfp_flags=GFP_ATOMIC instead of gfp_flags=00000020 And even gfp_flags=GFP_KERNEL instead of gfp_flags=000000d0 (Thanks to Frederic Weisbecker for pointing out that the first version had a bad order of GFP masks) [ Impact: more human readable output from tracer ] Acked-by: Eduard - Gabriel Munteanu Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 937cdb9db7f59278d0cb1582e6e64e3dfd73b4fc Author: Steven Rostedt Date: Fri May 15 10:51:13 2009 -0400 tracing: add previous task state info to sched switch event It is useful to see the state of a task that is being switched out. This patch adds the output of the state of the previous task in the context switch event. [ Impact: see state of switched out task in context switch ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit be74b73a57645cc253d881ab0c1014eb64b9cf22 Author: Steven Rostedt Date: Tue May 26 20:25:22 2009 +0200 tracing: add __print_flags for events Developers have been asking for the ability in the ftrace event tracer to display names of bits in a flags variable. Instead of printing out c2, it would be easier to read FOO|BAR|GOO, assuming that FOO is bit 1, BAR is bit 6 and GOO is bit 7. Some examples where this would be useful are the state flags in a context switch, kmalloc flags, and even permision flags in accessing files. [ v2 changes include: Frederic Weisbecker's idea of using a mask instead of bits, thus we can output GFP_KERNEL instead of GPF_WAIT|GFP_IO|GFP_FS. Li Zefan's idea of allowing the caller of __print_flags to add their own delimiter (or no delimiter) where we can get for file permissions rwx instead of r|w|x. ] [ v3 changes: Christoph Hellwig's idea of using an array instead of va_args. ] [ Impact: better displaying of flags in trace output ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 6142f9ec108a4ddbf0d5904c3daa5fdcaa618792 Author: Peter Zijlstra Date: Tue May 26 20:51:47 2009 +0200 perf report: More robust error handling Don't let funny events confuse us, stick to what we know and try to find sensible data again. If we find an unknown event, check we're still u64 aligned, and increment by one u64. This ensures we're bound to happen upon a valid event soon. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f49515b157e2d3ca3633eb0664fc46c42f6cb37e Author: Ingo Molnar Date: Tue May 26 19:03:36 2009 +0200 perf report: add more debugging Add the offset of the file we are analyzing, and the size of the record. In case of problems it's easier to see where the parser lost track. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Signed-off-by: Ingo Molnar commit 3e70611460fe74ad32534fa9791774f6bbdd4159 Author: Ingo Molnar Date: Tue May 26 18:53:17 2009 +0200 perf report: add counter for unknown events Add a counter for unknown event records. [ Impact: improve debugging ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 97b07b699b11d4bd1218a841e5dfed16bd53de06 Author: Ingo Molnar Date: Tue May 26 18:48:58 2009 +0200 perf report: add --dump-raw-trace option To help the inspection of various data files, implement an ASCII dump method that just dumps the records as they are read in - then we exit. [ Impact: new feature ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit aae80dc24aeddec4e2b6e182a43491942f8667d3 Author: Takashi Iwai Date: Tue May 26 18:35:27 2009 +0200 ALSA: ctxfi - Add missing module parameter definitions Added missing module_param*() and MODULE_PARM*(). Signed-off-by: Takashi Iwai commit abd54f68629fa73ed4fa040d433196211a9bbed2 Author: Arnaldo Carvalho de Melo Date: Tue May 26 12:21:34 2009 -0300 perf: Don't assume /proc/kallsyms is ordered perf: Don't assume /proc/kallsyms is ordered Since we _are_ ordering it by the symbol start, just traverse the freshly built rbtree setting the prev->end members to curr->start - 1. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090526152134.GF4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit aa2936f5fe060e95ae06685149645b234085a468 Author: Takashi Iwai Date: Tue May 26 16:07:57 2009 +0200 ALSA: hda - Support sync after writing a verb This patch adds a debug mode to make the codec communication synchronous. Define SND_HDA_SUPPORT_SYNC_WRITE in hda_codec.c, and the call of snd_hda_codec_write*() will become synchronous, i.e. wait for the reply from the codec at each time issuing a verb. Signed-off-by: Takashi Iwai commit 951d6f6d703110790256abfce03ced117d2dcc6b Author: Mark A. Greer Date: Wed Apr 15 12:40:21 2009 -0700 davinci: Add watchdog base address flexibility The watchdog code currently hardcodes the base address of the timer its using. To support new SoCs, make it support timers at any address. Use the soc_info structure to do this. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit f64691b3ab795268072e76ddb89290b6277cdf33 Author: Mark A. Greer Date: Wed Apr 15 12:40:11 2009 -0700 davinci: Add base address and timer flexibility The davinci timer code currently hardcodes the timer register base addresses, the timer irq numbers, and the timers to use for clock events and clocksource. This won't work for some a new SoC so put those values into the soc_info structure and set them up in the SoC-specific files. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 673dd36f0d0cf8893d6b46d524ad80e81076b885 Author: Mark A. Greer Date: Wed Apr 15 12:40:00 2009 -0700 davinci: Move interrupt ctlr info to SoC infrastructure Use the SoC infrastructure to hold the interrupt controller information (i.e., base address, default priorities, interrupt controller type, and the number of IRQs). The interrupt controller base, although initially put in the soc_info structure's intc_base field, is eventually put in the global 'davinci_intc_base' so the low-level interrupt code can access it without a dereference. These changes enable the SoC default irq priorities to be put in the SoC-specific files, and the interrupt controller to be at any base address. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 0e585952ac6a06b3c77d6b8eadb9c359766a700d Author: Mark A. Greer Date: Wed Apr 15 12:39:48 2009 -0700 davinci: Move pinmux setup info to SoC infrastructure The pinmux register base and setup can be different for different SoCs so move the pinmux reg base, pinmux table (and its size) to the SoC infrastructure. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit d81d188cafecbc9e01df51527ac4c84a5b19e033 Author: Mark A. Greer Date: Wed Apr 15 12:39:33 2009 -0700 davinci: Add support for multiple PSCs The current code to support the DaVinci Power and Sleep Controller (PSC) assumes that there is only one controller. This assumption is no longer valid so expand the support to allow greater than one PSC. To accomplish this, put the base addresses for the PSCs in the SoC infrastructure so it can be referenced by the PSC code. This also requires adding an extra parameter to davinci_psc_config() to specify the PSC that is to be enabled/disabled. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 66e0c3991c5a1735dd8add77ab8aff5005f57681 Author: Mark A. Greer Date: Wed Apr 15 12:39:23 2009 -0700 davinci: Add clock init call to common init routine All of the davinci SoCs need to call davinci_clk_init() so put the call in the common init routine. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b9ab12797e74d93a3656ea0bf5591f8b3e094fd5 Author: Mark A. Greer Date: Wed Apr 15 12:39:09 2009 -0700 davinci: Support JTAG ID register at any address The Davinci cpu_is_davinci_*() macros use the SoC part number and variant retrieved from the JTAG ID register to determine the type of cpu that the kernel is running on. Currently, the code to read the JTAG ID register assumes that the register is always at the same base address. This isn't true on some newer SoCs. To solve this, have the SoC-specific code set the JTAG ID register base address in soc_info structure and add a 'cpu_id' member to it. 'cpu_id' will be used by the cpu_is_davinci_*() macros to match the cpu id. Also move the info used to identify the cpu type into the SoC-specific code to keep all SoC-specific code together. The common code will read the JTAG ID register, search through an array of davinci_id structures to identify the cpu type. Once identified, it will set the 'cpu_id' member of the soc_info structure to the proper value and the cpu_is_davinci_*() macros will now work. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 79c3c0b729647a6246c120408f36e6804dab244e Author: Mark A. Greer Date: Wed Apr 15 12:38:58 2009 -0700 davinci: Encapsulate SoC-specific data in a structure Create a structure to encapsulate SoC-specific information. This will assist in generalizing code so it can be used by different SoCs that have similar hardware but with minor differences such as having a different base address. The idea is that the code for each SoC fills out a structure with the correct information. The board-specific code then calls the SoC init routine which in turn will call a common init routine that makes a copy of the structure, maps in I/O regions, etc. After initialization, code can get a pointer to the structure by calling davinci_get_soc_info(). Eventually, the common init routine will make a copy of all of the data pointed to by the structure so the original data can be made __init_data. That way the data for SoC's that aren't being used won't consume memory for the entire life of the kernel. The structure will be extended in subsequent patches but initially, it holds the map_desc structure for any I/O regions the SoC/board wants statically mapped. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 5582b0648de6248c67c0b47fa170e5fb15ab4bf1 Author: Paul Mundt Date: Wed May 27 00:12:58 2009 +0900 sh: pci-sh7780: Fix up for PCI_DISABLE_MWI changes. This fixes a build error where references to pci_cache_line_size are undefined, as this ceases to be exported when PCI_DISABLE_MWI is enabled, as is now the default. Signed-off-by: Paul Mundt commit 464c9e10376b24f04402fa8ef72b66257561bffa Merge: b7e2ac6 61ce539 Author: Paul Mundt Date: Tue May 26 23:50:40 2009 +0900 Merge branch 'sh/clkfwk' commit f6eb53498ee8f725832f3a0fffca90566bb118a6 Author: Steven Whitehouse Date: Tue May 26 15:50:25 2009 +0100 GFS2: Remove args subdir from gfs2 sysfs files Since we can cat /proc/mounts there is no need to have this subdirectory in the gfs2 sysfs files. In fact this does not reflect the full range of possible mount argumenmts, where as /proc/mounts does. There was only one userland user of this set of sysfs files and it will function perfectly well without these files being present (in fact that subcommand of gfs2_tool is obsolete anyway). The tune/* subdirectory is also considered mostly obsolete, but there are a few uses of this until mount arguments can be added for the last few functions for which there are no equivalents currently. However the tune/* directory is still in my sights and new code should avoid using it. Only the gfs2_quota and gfs2_tool programs are know to use tune/* at the moment. Signed-off-by: Steven Whitehouse commit 4b2368ffd6e3563b73b8391c133822a58b1b432a Author: Michal Simek Date: Tue May 26 16:30:32 2009 +0200 microblaze_mmu_v2: Makefiles Signed-off-by: Michal Simek commit a116f6d5db4476d0c941b495a6122b0130bbf20b Author: Michal Simek Date: Tue May 26 16:30:31 2009 +0200 microblaze_mmu_v2: Kconfig update Signed-off-by: Michal Simek commit 8b3f7d5c0ba7600222744588126388b225c61f18 Author: Michal Simek Date: Tue May 26 16:30:31 2009 +0200 microblaze_mmu_v2: stat.h MMU update Signed-off-by: Michal Simek commit e57a221f15fd62921d845ddb37ce048fc7a38fd6 Author: Michal Simek Date: Tue May 26 16:30:30 2009 +0200 microblaze_mmu_v2: Elf update Signed-off-by: Michal Simek commit dcffc1b29115cc26686b8ae62b587e63f0e139f0 Author: Michal Simek Date: Tue May 26 16:30:29 2009 +0200 microblaze_mmu_v2: Update dma.h for MMU Signed-off-by: Michal Simek commit 46fb9be93b15bd8315622ad2f85f9516c064a785 Author: Michal Simek Date: Tue May 26 16:30:28 2009 +0200 microblaze_mmu_v2: Update cacheflush.h Signed-off-by: Michal Simek commit 8b28626a6b1522b39f75d0bf80d5dec23c931f5a Author: Michal Simek Date: Tue May 26 16:30:28 2009 +0200 microblaze_mmu_v2: Update signal returning address Signed-off-by: Michal Simek commit 17f3324c3eb271882b9e6b8fc3b1698290121801 Author: Michal Simek Date: Tue May 26 16:30:27 2009 +0200 microblaze_mmu_v2: Traps MMU update Signed-off-by: Michal Simek commit 65504a47e02e4e6e58884376f4a700f83cc8234f Author: Michal Simek Date: Tue May 26 16:30:26 2009 +0200 microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU Signed-off-by: Michal Simek commit d4c1285ef0d6b005f4e7651ee1e7cf304b4e97dc Author: Michal Simek Date: Tue May 26 16:30:24 2009 +0200 microblaze_mmu_v2: Update linker script for MMU Signed-off-by: Michal Simek commit 4bb73c3de752dc386958be32dc7e1d9fefdcbbf0 Author: Michal Simek Date: Tue May 26 16:30:24 2009 +0200 microblaze_mmu_v2: Add MMU related exceptions handling Signed-off-by: Michal Simek commit 0d6de9532663a4120ce35f507f16b72df382e360 Author: Michal Simek Date: Tue May 26 16:30:23 2009 +0200 microblaze_mmu_v2: uaccess MMU update Signed-off-by: Michal Simek commit 7db29dde731db02143418cfa008b7b77ccb2fa57 Author: Michal Simek Date: Tue May 26 16:30:22 2009 +0200 microblaze_mmu_v2: Update exception handling - MMU exception Signed-off-by: Michal Simek commit ca54502bd52a5d483f7ba076b613ad2ee43941da Author: Michal Simek Date: Tue May 26 16:30:21 2009 +0200 microblaze_mmu_v2: entry.S, entry.h Signed-off-by: Michal Simek commit 23cfc369337fa106d08cbed0dc86527c67966ff2 Author: Michal Simek Date: Tue May 26 16:30:20 2009 +0200 microblaze_mmu_v2: Add CURRENT_TASK for entry.S Signed-off-by: Michal Simek commit 627cef44f4f4dfc22bebf3a68378bf3e3bedd21e Author: Michal Simek Date: Tue May 26 16:30:19 2009 +0200 microblaze_mmu_v2: MMU asm offset update Signed-off-by: Michal Simek commit 45be7d46a9928c6b8ed747e020748500da7e66f1 Author: Michal Simek Date: Tue May 26 16:30:18 2009 +0200 microblaze_mmu_v2: Update tlb.h and tlbflush.h Signed-off-by: Michal Simek commit 5233806dfe6f88fb1a01db3729eeda78f65bcbd1 Author: Michal Simek Date: Tue May 26 16:30:18 2009 +0200 microblaze_mmu_v2: Update process creation for MMU Signed-off-by: Michal Simek commit 1f84e1ea0e87ad659cd6f6a6285d50c73a8d1a24 Author: Michal Simek Date: Tue May 26 16:30:17 2009 +0200 microblaze_mmu_v2: pgalloc.h and page.h Signed-off-by: Michal Simek commit dc95be1f7188f0718ac922b6b6b72406c294d250 Author: Michal Simek Date: Tue May 26 16:30:16 2009 +0200 microblaze_mmu_v2: io.h MMU update Signed-off-by: Michal Simek commit 15902bf63c8332946e5a1f48a72e3ae22874b11b Author: Michal Simek Date: Tue May 26 16:30:15 2009 +0200 microblaze_mmu_v2: Page table - ioremap - pgtable.c/h, section update Signed-off-by: Michal Simek commit fc34d1eb1ca09d3450508e2cf9cf511364c2c460 Author: Michal Simek Date: Tue May 26 16:30:14 2009 +0200 microblaze_mmu_v2: Context handling - mmu_context.c/h Signed-off-by: Michal Simek commit 5de96121009f4de43ffeb7160109e23132278c07 Author: Michal Simek Date: Tue May 26 16:30:13 2009 +0200 microblaze_mmu_v2: Page fault handling high level - fault.c Signed-off-by: Michal Simek commit 23098649e0f8861ea69fac62cf6ba721b83065dc Author: Michal Simek Date: Tue May 26 16:30:12 2009 +0200 microblaze_mmu_v2: mmu.h update Signed-off-by: Michal Simek commit 4dc60832f516c4ccfd1e6aa07d92cc0f6d21bacb Author: Michal Simek Date: Tue May 26 16:30:12 2009 +0200 microblaze_mmu_v2: MMU initialization Signed-off-by: Michal Simek commit 3f50425c0c9815411b760e36b48e18958819a304 Author: Michal Simek Date: Tue May 26 16:30:10 2009 +0200 microblaze_mmu_v2: TLB low level code Signed-off-by: Michal Simek commit a43acfbbc8653f70b8da4c64ec534fb45065a2ee Author: Michal Simek Date: Tue May 26 16:30:10 2009 +0200 microblaze_mmu_v2: Alocate TLB for early console Signed-off-by: Michal Simek commit 5846cc608fd42cd3645ff9f841888832c6ef9b6e Author: Michal Simek Date: Tue May 26 16:30:09 2009 +0200 microblaze_mmu_v2: MMU update for startup code Signed-off-by: Michal Simek commit 2c65b4665f3f1651a7ef652d86eeb23be95dcdb9 Author: Michal Simek Date: Tue May 26 16:30:07 2009 +0200 microblaze_mmu_v2: Add mmu_defconfig Signed-off-by: Michal Simek commit 2f3a499e6b803802880aea1fb8d3b46f1959494f Author: Michal Simek Date: Tue May 26 10:14:49 2009 +0200 microblaze: Fix size of __kernel_mode_t to short This patches solve problem with inconsistency between kernel and glibc Signed-off-by: Michal Simek commit 0945f98b4a844b488d4e42a43f90a3c3aef281af Author: Edgar E. Iglesias Date: Sun May 10 14:39:05 2009 +0200 microblaze: Add audit and seccomp thread flags. Signed-off-by: Edgar E. Iglesias commit e1b28aab5804aa477c33d19855d6747607a885fd Author: Steven Whitehouse Date: Tue May 26 15:41:27 2009 +0100 GFS2: Remove lockstruct subdir from gfs2 sysfs files The lockstruct sub directory contained two entries, both of which are duplicated elsewhere in the gfs2 sysfs files as well as being available via /proc/mounts. There is no userland program using either of them, so this patch removes them. Signed-off-by: Steven Whitehouse commit 59d81029b6804c3d5895d07cad77d7dfddc6b5b2 Author: Arnaldo Carvalho de Melo Date: Tue May 26 11:14:27 2009 -0300 perf report: Fix kernel symbol resolution kallsyms have just the symbol start, so we need to read two lines to get the len. [ Impact: fix incorrect kernel symbol display in perf report ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f17e04afaff84b5cfd317da29ac4d764908ff833 Author: Peter Zijlstra Date: Tue May 26 15:30:22 2009 +0200 perf report: Fix ELF symbol parsing [ Impact: fix DSO symbol output in perf report ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ac7b75b5bbbfd60b752869a22daa3be99b5b4f99 Author: Kevin Hilman Date: Thu May 7 06:19:40 2009 -0700 davinci: EMAC platform support Add SoC and platform-specific data and init for DaVinci EMAC network driver. Signed-off-by: Kevin Hilman commit 2dbf56aeb7986b54651c93ed171877e8179289bc Author: Kevin Hilman Date: Mon May 11 15:55:03 2009 -0700 davinci: MMC platform support Add SoC and platform-specific data and init for MMC driver. Signed-off-by: Kevin Hilman commit 35652fe1858e664707cfa32e80547b210cc41f78 Author: Kevin Hilman Date: Wed May 20 16:44:44 2009 -0700 davinci: update davinci_all_defconfig for dm355, dm6467 Signed-off-by: Kevin Hilman commit e38d92fdcd04c79d28679682f63a83487c4c4c05 Author: Kevin Hilman Date: Wed Apr 29 17:44:58 2009 -0700 davinci: DM646x: add base SoC and board support Add support for DM646x SoC (a.k.a DaVinci HD) and its Evalution Module (EVM.) Original support done by Sudhakar Rajashekhara. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 95a3477fe57e0669dcb531516f2930fe1cf27e6b Author: Kevin Hilman Date: Wed Apr 29 12:10:55 2009 -0700 davinci: DM355: add base SoC and board support In addition, add board support for the DM355 Evaluation Module (EVM) and the DM355 Leopard board. Original DM355 EVM support done by Sandeep Paulraj, with significant updates and improvements by David Brownell. DM355 Leopord support done by Koen Kooi. Signed-off-by: Sandeep Paulraj Signed-off-by: Koen Kooi Cc: David Brownell Signed-off-by: Kevin Hilman commit f5ce6a67a78357da5e88782b1cf1cc10b36f102c Author: Hugo Villeneuve Date: Wed Apr 29 16:46:57 2009 -0700 davinci: DM644x: add support for SFFSDR board Signed-off-by: Hugo Villeneuve Signed-off-by: Kevin Hilman commit fb6313879caa46831d71a316b97b51d37d100269 Author: Kevin Hilman Date: Wed Apr 29 16:23:59 2009 -0700 davinci: add platform support for watchdog timer Signed-off-by: Kevin Hilman commit 0521444d497ee1f8a31314d2ce3c6b9edab25b51 Author: Sergei Shtylyov Date: Wed Mar 11 19:49:05 2009 +0400 davinci: INTC: add support for TI cp_intc Add support for Texas Instuments Common Platform Interrupt Controller (cp_intc) used on DA830/OMAP-L137. Signed-off-by: Steve Chen Signed-off-by: Mark Greer Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 27428e39da8e45f861c79e7dcec32d38965afeb3 Author: Mark A. Greer Date: Wed Feb 18 14:00:36 2009 -0700 davinci: support different UART bases for zImage uncompress The davinci pre-kernel boot code assumes that all platforms use the same UART base address for the console. That assumption is not longer valid with some newer SoCs so determine the console UART base address from the machine number passed in from bootloader. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit ce8ccaf0efeb43cd23393a9590365587ad879b2a Author: Troy Kisky Date: Mon Feb 11 14:44:07 2008 -0700 davinci: interrupts: get_irqnr_and_base: save an instruction Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman commit 17eb15704142dc1b302a3f0cd632c426ee326b6d Author: Chaithrika U S Date: Mon Jan 19 14:13:05 2009 +0530 davinci: use 32-bit accesses for low-level debug macros This patch defines debug macros for low-level debugging for Davinci based platforms Tested on : - DM644x DaVinci EVM - DM646X DaVinciHD EVM - DM355 EVM This patch attempts to solve the low-level debug issue in DM646x. The UART on DM646x SoC allows only 32-bit access. The existing debug-macro.S uses the macros from debug-8250.S file. This led to garbage serial out in the case of DM646x. The inclusion of debug-8250.S does not allow for run time fix for this issue. There are compile time errors due to multiple definitions of the macros. Also when building a single image for multiple DaVinci Platforms, the ifdefs cannot be relied upon. The solution below does not include the debug-8250.S file and defines the necessary macros. This solution was arrived at after observing that word access does not affect the low-level debug messages on DM644x/DM355. The other approach to this issue is to use the UART module information available in the peripheral registers to decide the access mechanism. But this will have to be done for every access of UART specifically for DM646x. Also this calls for a modification of the debug-8250.S file. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit dc75602628472d7fbc4cb43f010bf0257e95ab71 Author: Kevin Hilman Date: Mon May 11 11:04:53 2009 -0700 davinci: fixups for banked GPIO interrupt handling This patch seems to get me much more reliable performance using the GPIO banked interrupts on dm355 for the dm9000 driver. Changes include: - init GPIO handling along with normal GPIO init - mask the level-sensitive bank IRQ during handling Signed-off-by: Kevin Hilman commit df4aab46a8256ac0f0c2701b3fe23b7dd05e6b48 Author: David Brownell Date: Mon May 4 13:14:27 2009 -0700 davinci: gpio irq enable tweaks Fix two IRQ triggering bugs affecting GPIO IRQs: - Make sure enabling with IRQ_TYPE_NONE ("default, unspecified") isn't a NOP ... default to both edges, at least one must work. - As noted by Kevin Hilman, setting the irq trigger type for a banked gpio interrupt shouldn't enable irqs that are disabled. Since GPIO IRQs haven't been used much yet, it's not clear these bugs could have affected anything. The few current users don't seem to have been obviously suffering from these issues. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit b7e2ac619465f1774b827d9997109ceef4a61851 Author: Paul Mundt Date: Tue May 26 23:13:13 2009 +0900 sh: pci: Disable MWI and make pci_dma_burst_advice() a bit more accurate. None of the SH PCI controllers support MWI, it is always treated as a direct memory write, so simply disable it outright. In the case of the PCI cache line size, consult that for the pci_dma_burst_advice() strategy, and switch over to PCI_DMA_BURST_MULTIPLE, as PPC64. Signed-off-by: Paul Mundt commit d076d2bd0d9379314df5f2ab8b9c83f617c70923 Author: Paul Mundt Date: Tue May 26 23:10:15 2009 +0900 sh: pci-sh7751: Initialize io_map_base in controller definition. As there is only a single controller and remapping has no impact for the address range in question, just initialize it directly in the controller definition. This fixes up boot time warnings about not having the field initialized. Signed-off-by: Paul Mundt commit db20c0031288ff524d82b1f240f35f85d4a052eb Author: Mike Galbraith Date: Tue May 26 15:25:34 2009 +0200 perf top: fix typo in -d option Clean up copy/paste options parsing conversion error. [ Impact: reactivate -d option ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f91183fe3780d44849110a1653dfe8af7bc67aa4 Author: Mike Galbraith Date: Tue May 26 15:25:34 2009 +0200 perf top: Remove leftover NMI/IRQ bits 79202b removed IRQ/NMI mode selection, so remove it from perf top as well. [ Impact: cleanup ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8174086167d43d0fd7b21928074145ae1d15bbab Author: Takashi Iwai Date: Tue May 26 15:22:00 2009 +0200 ALSA: hda - Allow concurrent RIRB access in single_cmd mode In the single_cmd mode, the current driver code doesn't do any update for RIRB just for any safety reason. But, actually the RIRB and single_cmd mode don't conflict. Unsolicited events can be delivered even while using the single_cmd mode. This patch allows the handling of unsolicited events with single_cmd mode, just always checking RIRB independent from single_cmd flag. Signed-off-by: Takashi Iwai commit 20e91c575088337cb94f2ed48380efc305dcb81d Merge: 86d190e 461c6c3 Author: Takashi Iwai Date: Tue May 26 15:19:56 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 86d190e77c44cb057742dcc871b12ebd4633c387 Author: Takashi Iwai Date: Tue May 26 15:18:58 2009 +0200 ALSA: hda - Minor clean up of patch_sigmatel.c - Remove unneeded semicolons - Introduce spec->gpio_led to specify the GPIO bit for LED control Signed-off-by: Takashi Iwai commit db1005ec6ff8f250bccbc87387a955078891bfe4 Author: Takashi Iwai Date: Tue May 26 13:55:42 2009 +0200 ALSA: riptide - Fix joystick resource handling The current code doesn't handle the multiple gameports properly, and uses unnecessary global static variables to store the data. This patch changes the probe / remove routines to use the driver data assigned to the dedicated pci device, and adds the support of multiple devices. Signed-off-by: Takashi Iwai commit 0bec253c813fbb067db4dfd9f5b6cec1bd2ef026 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf report: Add help/manpage Add a (minimal) manpage for perf report. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 53cb8bc2a3d976efd1a800c3de4640a7220afbb3 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf record: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f3e08c5341c528284460530b546608f27232f737 Author: Peter Zijlstra Date: Fri May 22 15:34:54 2009 +0200 perf report: Fix segfault on unknown symbols Ingo reported: > Program received signal SIGSEGV, Segmentation fault. > 0x0000003e25080f80 in strlen () from /lib64/libc.so.6 > Missing separate debuginfos, use: debuginfo-install elfutils.x86_64 > glibc.x86_64 zlib.x86_64 > (gdb) bt > #0 0x0000003e25080f80 in strlen () from /lib64/libc.so.6 > #1 0x0000003e2506954e in fputs () from /lib64/libc.so.6 > #2 0x00000000004059e8 in cmd_report (argc=, > argv=) at builtin-report.c:521 > #3 0x0000000000402dad in handle_internal_command (argc=1, argv=0x7fffe1218e30) > at perf.c:226 > #4 0x0000000000402f6d in main (argc=1, argv=0x7fffe1218e30) at perf.c:324 > (gdb) Signed-off-by Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce7e43653b08db094326f378958bc293a68e8e5b Author: Arnaldo Carvalho de Melo Date: Tue May 19 09:30:23 2009 -0300 perf_counter: Use rb_tree for symhists and threads in report Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 040e6034124c504d536736ce08e4643e640cd7c2 Author: Arnaldo Carvalho de Melo Date: Mon May 18 16:25:31 2009 -0300 perf_counter: Add our private copy of list.h Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 35a50c8a20eea22c141e05c5667ac21c48b8b65d Author: Arnaldo Carvalho de Melo Date: Mon May 18 16:24:49 2009 -0300 perf_counter: Use rb_trees in perf report Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 62eb93905b3b43cea407cfbc061cc7b40ae1c6e9 Author: Arnaldo Carvalho de Melo Date: Mon May 18 14:28:47 2009 -0300 perf_counter: Implement dso__load using libelf Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit fd4242bb35b70557eee8d0c79f82dacc3f3b89e0 Author: Ingo Molnar Date: Wed May 20 12:45:34 2009 +0200 perf_counter tools: remove the standalone perf-report utility With a built-in 'perf report' command now available, remove the standalone implementation for good. Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 8fa66bdcc81dd4fc2c91228074d0a4698120c5a2 Author: Arnaldo Carvalho de Melo Date: Mon May 18 12:45:42 2009 -0300 perf_counter: First part of 'perf report' conversion to C + elfutils Integrate perf-report into 'perf', as builtin-report.c. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit a693a26fe0807c3c406d6b5295d222b646677288 Author: Takashi Iwai Date: Tue May 26 12:58:58 2009 +0200 ALSA: riptide - Code clean up A code clean up, coding style fixes. The firmware loading routine is split to an own function to improve the readability. Signed-off-by: Takashi Iwai commit 4e0f088106c28d0ed8e827338b42404d236deda0 Author: Alberto Panizzo Date: Mon May 25 22:35:38 2009 +0200 ARM MXC: Atmark Armadillo 500 board support. On Mon, 25 May 2009 18:33:28 +0200 Valentin Longchamp wrote: > Hello, > > I have updated my mxc git tree and given a compilation spin to your > board support and I have comments. See below. > > > What's the point of declaring this new function, if all it does is > calling the already existing one ? Furthermore, in the current > mxc-master tree, mxc_map_io() does not exist anymore, it should be > mx31_map_io (this breaks compilation for your board). > This patch solve those two issues. Until now i based my patches to vanilla tree. This evening I cloned the mxc-master tree so i could update the armadillo 500 support within recent platform changes. The patch: From e986a8dc262e5292350d95bf65ead75baf3272d7 Mon Sep 17 00:00:00 2001 From: Alberto Panizzo Date: Mon, 25 May 2009 22:24:03 +0200 Subject: [PATCH] Armadillo 500 removing useless function armadillo5x0_map_io and use machine specific io mapping Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit b456bae0ff4f3cf91639dd32b2bfc49b1c30b4b0 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf top: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 4193d2d2d7c8307803d035932d5e33d848a96951 Author: Daniel Mack Date: Wed May 20 19:54:39 2009 +0200 ARM: MX3: add I2C support for lilly-1131 Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 38160e0b0126565947e986701ae1bdbff01f121d Author: Daniel Mack Date: Wed May 20 19:54:38 2009 +0200 ARM: MX3: add NOR flash support for lilly-1131 Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit b99238721bf62c216d556b4ba63bdf410e068284 Author: Daniel Mack Date: Wed May 20 19:54:37 2009 +0200 ARM: MX3: add framebuffer support for lilly1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit d0b1eabc7b255daa978849229703b4d70a4c0555 Author: Daniel Mack Date: Wed May 20 19:54:36 2009 +0200 ARM: MX3: add MMC suuport for lilly1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit cbaa6ca1f5af59ec8d0d104c1f02b65a6cf0a8aa Author: Daniel Mack Date: Wed May 20 19:54:35 2009 +0200 ARM: MX3: add lilly-1131 ethernet support This adds support for the SMSC911x chip found on the lilly-1131 module. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 1bc34f7964b1e8dee8d49d83cba8dad0a010df92 Author: Daniel Mack Date: Wed May 20 19:54:34 2009 +0200 ARM: MX3: add skeleton for lilly-1131 development board Support code for lilly-1131 is implemented in a module/baseboard fashion. All code specific to peripherals found on the development board will go to this file. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 65b1aa13f2a14e113d1139ecf7cb2507a3cfa8b8 Author: Daniel Mack Date: Wed May 20 19:54:33 2009 +0200 ARM: MX3: basic support for lilly-1131 board This patch adds basic support for INCO startec's LILLY-1131 iMX31 based modules. The module needs a baseboard support to work which will be added in the next patch. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 5242519b0296d128425368fc6ab17f541d5fa775 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf stat: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Extend the event parser library with the extensions that were in perf-stat before. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ddbd3b61708483f73dbcc62a94d16cc7db928cba Author: Artem Bityutskiy Date: Sat May 23 13:44:09 2009 +0300 UBI: fix race condition This patch fixes a minor problem where we may fail to wake upe the UBI background thread. This is not fatal at all, it may just result at sligtly worse performace for a short period of time, just because the thread will be woken up when real I/O on the UBI starts. Anywey, the issue is the race condition between 'ubi_attach_mtd_dev()' and 'ubi_thread()'. If we do not serialize them, the 'wake_up_process()' call may be done before 'ubi_thread()' went seep, but after it checked 'ubi->thread_enabled'. This issue was spotted by Shin Hong Signed-off-by: Artem Bityutskiy commit 7c83f5cb551b2e5c4934933fda006636f7424123 Author: Artem Bityutskiy Date: Mon May 25 19:23:04 2009 +0300 UBIFS: use anonymous device UBIFS has erroneuosly set 'sb->s_dev' to the UBI volume character device major/minor. This may lead to clashes if there is another FS mounted to a block device with the same major/minor numbers. User-space programs which use 'stat->st_dev' may get confused because of this. This problem was found by Al Viro. He also pointed the way to fix the problem - use 'set_anon_super()' and 'kill_anon_super()' VFS helpers. Signed-off-by: Artem Bityutskiy commit 8ad8db3788fd9a449941fb2392ca85af4ee1cde1 Author: Ingo Molnar Date: Tue May 26 11:10:09 2009 +0200 perf_counter tools: Librarize event string parsing Extract the event string parser from builtin-record.c, and librarize it - to be reused in other commands. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0e9b20b8a1cab6c6ab4f98f917a2d98783103969 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf record: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Git's library (util/parse-options.[ch]) constructs help texts and error messages automatically, and has a number of other convenience features as well. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f9e2b97dc2cf832ccceea2a2e6eccc4bc9af72cf Author: Paul Mundt Date: Tue May 26 17:12:20 2009 +0900 sh: Add a KBUILD_DEFCONFIG for sh64. Signed-off-by: Paul Mundt commit 61ce5393e4c8914c46ec99cbda76823515109709 Author: Magnus Damm Date: Mon May 25 08:10:45 2009 +0000 sh: remove clk_ops->build_rate_table() This patch removes the ->build_rate_table() callback, ->recalc() may instead be used for this purpose. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit df109e630f82de63ec82eebbfec2a57852517f28 Author: Magnus Damm Date: Mon May 25 08:10:36 2009 +0000 sh: use shared frequency tables on sh7785 This patch converts the sh7785 clock code to make use of clk_rate_table_build() and clk_rate_table_round(). The ->build_rate_table() callback is removed, the table building is instead handled in ->recalc(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c94a85746f7bdc13035acdf88c130d7b6fa41bde Author: Magnus Damm Date: Mon May 25 08:10:28 2009 +0000 sh: add shared clock framework frequency table code Add SuperH-specific clock framework helper functions: - clk_rate_table_build() - build cpufreq table from divisors/multipliers - clk_rate_table_round() - use cpufreq table to find matching frequency Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c9904dd15922f349b5f06839e34b1723d4a75940 Author: Magnus Damm Date: Mon May 25 08:10:19 2009 +0000 sh: add pll_clk to sh7785 This patch converts the sh7785 pll implementation from the all-in-one code in frqmr_recalc() and frqmr_build_rate_table() to a separate struct clk. This allows us to remove the processor specific multiplier and use generic rate table functions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4e97ddf09ee3ce715fc334399bae4cc0c0a13057 Author: Ingo Molnar Date: Tue May 26 10:07:44 2009 +0200 perf stat: Remove unused variable [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 69aa48ab82e17299efe2be6c21795945731a6c17 Author: Ingo Molnar Date: Tue May 26 09:02:27 2009 +0200 perf record: Straighten out argv types [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 5b25ab29bad3114f798b136b4147f255a5d5742f Author: Paul Mundt Date: Tue May 26 17:02:18 2009 +0900 sh: Record ms7724se in mach-types. Signed-off-by: Paul Mundt commit 287c129716c2d4b75f3d8dd6e68732a3cd326ee6 Author: Kuninori Morimoto Date: Tue May 26 07:04:52 2009 +0000 sh: Add ms7724se (SH7724) board support This adds preliminary support for the ms7724se solution engine board. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 329d876d6fd326109f191ae0fb2798b8834fb70b Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter: Initialize ->oncpu properly This shouldnt matter normally (and i have not seen any misbehavior), because active counters always have a proper ->oncpu value - but nevertheless initialize the field properly to -1. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit aaba98018b8295dfa2119345d17f833d74448cd0 Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter, x86: Make NMI lockups more robust We have a debug check that detects stuck NMIs and returns with the PMU disabled in the global ctrl MSR - but i managed to trigger a situation where this was not enough to deassert the NMI. So clear/reset the full PMU and keep the disable count balanced when exiting from here. This way the box produces a debug warning but stays up and is more debuggable. [ Impact: in case of PMU related bugs, recover more gracefully ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 79202ba9ff8cf570a75596f42e011167734d1c4b Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter, x86: Fix APIC NMI programming My Nehalem box locks up in certain situations (with an always-asserted NMI causing a lockup) if the PMU LVT entry is programmed between NMI and IRQ mode with a high frequency. Standardize exlusively on NMIs instead. [ Impact: fix lockup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8a7b8cb91f26a671f22cedc7fd54508667f2d9b9 Author: Paul Mackerras Date: Tue May 26 16:27:59 2009 +1000 perf_counter: powerpc: Implement interrupt throttling This implements interrupt throttling on powerpc. Since we don't have individual count enable/disable or interrupt enable/disable controls per counter, this simply sets the hardware counter to 0, meaning that it will not interrupt again until it has counted 2^31 counts, which will take at least 2^30 cycles assuming a maximum of 2 counts per cycle. Also, we set counter->hw.period_left to the maximum possible value (2^63 - 1), so we won't report overflows for this counter for the forseeable future. The unthrottle operation restores counter->hw.period_left and the hardware counter so that we will once again report a counter overflow after counter->hw.irq_period counts. [ Impact: new perfcounters robustness feature on PowerPC ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18971.35823.643362.446774@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit d3f65f7c3cf11b036bbc01f22ac5c958570e724c Author: Eric Dumazet Date: Mon May 25 23:48:43 2009 -0700 atl1: use netdev->stats Get rid of private struct net_device_stats in "struct atl1e_adapter", and use one provided in struct net_device instead. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 08baf561083bc27a953aa087dd8a664bb2b88e8e Author: Eric Dumazet Date: Mon May 25 22:58:01 2009 -0700 net: txq_trans_update() helper We would like to get rid of netdev->trans_start = jiffies; that about all net drivers have to use in their start_xmit() function, and use txq->trans_start instead. This can be done generically in core network, as suggested by David. Some devices, (particularly loopback) dont need trans_start update, because they dont have transmit watchdog. We could add a new device flag, or rely on fact that txq->tran_start can be updated is txq->xmit_lock_owner is different than -1. Use a helper function to hide our choice. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65ac8851490ec97a96759af729132c96f925a795 Author: Yoshihiro Shimoda Date: Sun May 24 23:54:30 2009 +0000 net: sh_eth: Add support SH7724 Signed-off-by: Yoshihiro Shimoda Signed-off-by: Kuninori Morimoto Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 380af9e390ec81e74a2fd7fad948a8b12eeec7da Author: Yoshihiro Shimoda Date: Sun May 24 23:54:21 2009 +0000 net: sh_eth: CPU dependency code collect to "struct sh_eth_cpu_data" This improves readability by collecting CPU dependency code. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 862df49750e7ca9369c04d8d8105b3cc5d976e0d Author: Yoshihiro Shimoda Date: Sun May 24 23:53:40 2009 +0000 net: sh_eth: fix receive desciptor loop Fix the problem that this driver not update rxdesc in sh_eth_rx. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 0029d64af5d72049e2170e4609fa83bd1f3f07cd Author: Yoshihiro Shimoda Date: Sun May 24 23:53:20 2009 +0000 net: sh_eth: fix TX/RX descriptor not set physical memory Fix the probrem that TX/RX descirptor not set physical memory. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit e88aae7bb1dc50457489d1d7c81dcf4db23ccf94 Author: Yoshihiro Shimoda Date: Sun May 24 23:52:35 2009 +0000 net: sh_eth: fix cache coherency issue Fix the problem that may not work receive process by cache coherency issue. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit a1dcb6628b9489504a3be2515580fc4de891f94a Author: Jarek Poplawski Date: Mon May 25 22:47:01 2009 -0700 pkt_sched: gen_estimator: Fix signed integers right-shifts. Right-shifts of signed integers are implementation-defined so unportable. With feedback from: Eric Dumazet Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit dfa9264fe1a0c1b46e11c6a4cd3251cd5e1afb71 Author: Gabriel Paubert Date: Mon May 25 22:46:19 2009 -0700 net: Remove obsolete MV64360 config option Signed-off-by: Gabriel Paubert Signed-off-by: David S. Miller commit d0fc1d5e3fe869f8a32a2bc1dd02d8383a057164 Author: Zhu Yi Date: Mon May 25 22:41:51 2009 -0700 iwmc3200wifi: fix link error when CFG80211 is not selected The patch makes iwmc3200wifi select CFG80211 instead of LIB80211. This fixed module link error reported by Randy Dunlap when compiling iwmc3200wifi without cfg80211 selected. WIRELESS_EXT is also selected by iwmc3200wifi. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 3709ab8dfa23cab553ea9ffea3372c8e0a28f332 Author: Paul Mundt Date: Tue May 26 13:52:28 2009 +0900 sh: irq: Fix up imask build warnings. Signed-off-by: Paul Mundt commit 0e907c99391362385c8e3af2c43b904dd1fd5d73 Author: Zhaolei Date: Mon May 25 18:13:59 2009 +0800 ftrace: clean up of using ftrace_event_enable_disable() Always use ftrace_event_enable_disable() to enable/disable an event so that we can factorize out the event toggling code. [ Impact: factorize and cleanup event tracing code ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4A14FDFE.2080402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit b11c53e12f94a46b50bccc7a1a953d7ca1d54a31 Author: Zhaolei Date: Mon May 25 18:11:59 2009 +0800 ftrace: Add task_comm support for trace_event If we enable a trace event alone without any tracer running (such as function tracer, sched switch tracer, etc...) it can't output enough task command information. We need to use the tracing_{start/stop}_cmdline_record() helpers which are designed to keep track of cmdlines for any tasks that were scheduled during the tracing. Before this patch: # echo 1 > debugfs/tracing/events/sched/sched_switch/enable # cat debugfs/tracing/trace # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | <...>-2289 [000] 526276.724790: sched_switch: task bash:2289 [120] ==> sshd:2287 [120] <...>-2287 [000] 526276.725231: sched_switch: task sshd:2287 [120] ==> bash:2289 [120] <...>-2289 [000] 526276.725452: sched_switch: task bash:2289 [120] ==> sshd:2287 [120] <...>-2287 [000] 526276.727181: sched_switch: task sshd:2287 [120] ==> swapper:0 [140] -0 [000] 526277.032734: sched_switch: task swapper:0 [140] ==> events/0:5 [115] <...>-5 [000] 526277.032782: sched_switch: task events/0:5 [115] ==> swapper:0 [140] ... After this patch: # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | bash-2269 [000] 527347.989229: sched_switch: task bash:2269 [120] ==> sshd:2267 [120] sshd-2267 [000] 527347.990960: sched_switch: task sshd:2267 [120] ==> bash:2269 [120] bash-2269 [000] 527347.991143: sched_switch: task bash:2269 [120] ==> sshd:2267 [120] sshd-2267 [000] 527347.992959: sched_switch: task sshd:2267 [120] ==> swapper:0 [140] -0 [000] 527348.531989: sched_switch: task swapper:0 [140] ==> events/0:5 [115] events/0-5 [000] 527348.532115: sched_switch: task events/0:5 [115] ==> swapper:0 [140] ... Changelog: v1->v2: Update Kconfig to select CONTEXT_SWITCH_TRACER in ENABLE_EVENT_TRACING v2->v3: v2 can solve problem that was caused by config EVENT_TRACING alone, but when CONFIG_FTRACE is off and CONFIG_TRACING is selected by other config, compile fail happened again. This version solves it. [ Impact: fix incomplete output of event tracing ] Signed-off-by: Zhao Lei Cc: Tom Zanussi Cc: Steven Rostedt LKML-Reference: <4A14FDFE.2080402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 29fcefba8a2f0fea11e2b721fe174a1832801284 Author: Pekka Enberg Date: Sun May 24 11:13:17 2009 +0300 kmemtrace: fix kernel parameter documentation The kmemtrace.enable kernel parameter no longer works. To enable kmemtrace at boot-time, you must pass "ftrace=kmemtrace" instead. [ Impact: remove obsolete kernel parameter documentation ] Cc: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: Frederic Weisbecker commit b0aae68cc5508f3c2fbf728988c954db4c8b8a53 Author: Li Zefan Date: Thu May 21 13:59:18 2009 +0800 tracing/events: change the type of __str_loc_item to unsigned short When defining a dynamic size string, we add __str_loc_##item to the trace entry, and it stores the location of the actual string in entry->_str_data[] 'unsigned short' should be sufficient to store this information, thus we save 2 bytes per dyn-size string in the ring buffer. [ Impact: reduce memory occupied by dyn-size strings in ring buffer ] Signed-off-by: Li Zefan Cc: Steven Rostedt LKML-Reference: <4A14EDB6.2050507@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 4f5359685af6de7dca101393dc606620adbe963f Author: Lai Jiangshan Date: Mon May 18 19:35:34 2009 +0800 tracing: add trace_event_read_lock() I found that there is nothing to protect event_hash in ftrace_find_event(). Rcu protects the event hashlist but not the event itself while we use it after its extraction through ftrace_find_event(). This lack of a proper locking in this spot opens a race window between any event dereferencing and module removal. Eg: --Task A-- print_trace_line(trace) { event = find_ftrace_event(trace) --Task B-- trace_module_remove_events(mod) { list_trace_events_module(ev, mod) { unregister_ftrace_event(ev->event) { hlist_del(ev->event->node) list_del(....) } } } |--> module removed, the event has been dropped --Task A-- event->print(trace); // Dereferencing freed memory If the event retrieved belongs to a module and this module is concurrently removed, we may end up dereferencing a data from a freed module. RCU could solve this, but it would add latency to the kernel and forbid tracers output callbacks to call any sleepable code. So this fix converts 'trace_event_mutex' to a read/write semaphore, and adds trace_event_read_lock() to protect ftrace_find_event(). [ Impact: fix possible freed memory dereference in ftrace ] Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt LKML-Reference: <4A114806.7090302@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 0127c3ea082ee9f1034789b978dfc7fd83254617 Author: Ingo Molnar Date: Mon May 25 22:03:26 2009 +0200 perf_counter: fix warning & lockup - remove bogus warning - fix wakeup from NMI path lockup - also fix up whitespace noise in perf_counter.h Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit 53b441a565bf4036ab49c8ea04c5ad06ace7dd6b Author: Ingo Molnar Date: Mon May 25 21:41:28 2009 +0200 Revert "perf_counter, x86: speed up the scheduling fast-path" This reverts commit b68f1d2e7aa21029d73c7d453a8046e95d351740. It is causing problems (stuck/stuttering profiling) - when mixed NMI and non-NMI counters are used. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit a78ac3258782f3e64cb40beb5990808e1febcc0c Author: Peter Zijlstra Date: Mon May 25 17:39:05 2009 +0200 perf_counter: Generic per counter interrupt throttle Introduce a generic per counter interrupt throttle. This uses the perf_counter_overflow() quick disable to throttle a specific counter when its going too fast when a pmu->unthrottle() method is provided which can undo the quick disable. Power needs to implement both the quick disable and the unthrottle method. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit 48e22d56ecdeddd1ffb42a02fccba5c6ef42b133 Author: Peter Zijlstra Date: Mon May 25 17:39:04 2009 +0200 perf_counter: x86: Remove interrupt throttle remove the x86 specific interrupt throttle Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.616671838@chello.nl> Signed-off-by: Ingo Molnar commit ff99be573e02e9f7edc23b472c7f9a5ddba12795 Author: Peter Zijlstra Date: Mon May 25 17:39:03 2009 +0200 perf_counter: x86: Expose INV and EDGE bits Expose the INV and EDGE bits of the PMU to raw configs. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.494709027@chello.nl> Signed-off-by: Ingo Molnar commit 8f9ccfeeb2cecb54dd093119291ab271ab0fd94a Author: Santosh Shilimkar Date: Mon May 25 11:26:48 2009 -0700 ARM: OMAP: Remove unnecessary omap2_globals. This patch removes unnecessary omap2_globals and pass the global structures directly as function argument. The proposed cleanup was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit da7a0649bc8f3f65a01cb14e8b5c97e2ff40098a Author: Santosh Shilimkar Date: Mon May 25 11:26:48 2009 -0700 ARM: OMAP: Remove useless omap_sram_error function. This patch removes fixes omap_sram_error() function and replace the error paths with BUG_ON. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit ce8a17fd3f19baac0171611a73d5ac2072f45c7a Author: Santosh Shilimkar Date: Mon May 25 11:26:47 2009 -0700 ARM: OMAP: Remove unwanted type casts and fix the compiler warning. This patch fixes the compiler warning "assignment from incompatible pointer type" in dmtimer.c and removes the tye casts. These warnings were suppressed by type catsing. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit d76076636bc69fc28269076b867fc72031634357 Author: Tony Lindgren Date: Mon May 25 11:26:47 2009 -0700 ARM: OMAP2/3: Reorganize Makefile to add omap4 support We don't necessarily want to compile in irq.o and sdrc.o for omap4. Also, clock and prcm may not be implemented initially. Signed-off-by: Tony Lindgren commit ef6685a6ded6a20ff33a868cc2c0dba0505b7e4c Author: Tony Lindgren Date: Mon May 25 11:26:46 2009 -0700 ARM: OMAP2/3: Remove OMAP_CM_REGADDR Processor specific macros should be used instead. Signed-off-by: Tony Lindgren commit 07b95d000d48bd44e6f573566c1eba985ef25ed4 Author: Tony Lindgren Date: Mon May 25 11:26:46 2009 -0700 ARM: OMAP2/3: Remove OMAP2_PRCM_BASE It's currently unused, and processor specific defines should be used instead. Signed-off-by: Tony Lindgren commit 2e693f841f70508a082ded0276a33b2e503d98b7 Author: Tony Lindgren Date: Mon May 25 11:26:45 2009 -0700 ARM: OMAP2/3: Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Signed-off-by: Tony Lindgren commit 8e3bd351d1d2505e17d0b10c17bf8d7655eb9faf Author: Tony Lindgren Date: Mon May 25 11:26:42 2009 -0700 ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE Remove OMAP_PRM_REGADDR and use processor specific defines instead. Also fold in a patch from Kevin Hilman to add _OFFSET #defines for the PRCM registers to be used with the prm_[read|write]_* macros. These are used extensively in the forthcoming OMAP PM support. Also remove now unused OMAP2_PRM_BASE. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit a4ab0d836bbdbbfdb892135a92b339107530b710 Author: Tony Lindgren Date: Mon May 25 11:26:41 2009 -0700 ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE Use processor specific defines instead. As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK calling sched_clock before we have things initialized: http://patchwork.kernel.org/patch/15810/ Signed-off-by: Tony Lindgren commit ebe3b0e787a538638410088227e0a87e3b4b6c00 Author: Tony Lindgren Date: Mon May 25 11:08:44 2009 -0700 ARM: OMAP1: Misc clean-up Remove unnecessary Kconfig line and allow compile of MBOX_FWK. Also allow building USB on Nokia 770. Signed-off-by: Tony Lindgren commit ddf25dfe3a744d4e11a73e1508121f74267dda68 Author: Jarkko Nikula Date: Mon May 25 11:08:43 2009 -0700 ARM: OMAP: Update contact address of I2C registration helper This email address is going to expire soon so update it. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit d6d834b010908380c9054d8ad339a902833a3bab Author: Eero Nurkkala Date: Mon May 25 11:08:42 2009 -0700 ARM: OMAP: McBSP: Fix legacy interrupts to clear their status If XSYNCERR or RSYNCERR interrupts are enabled, they are never cleared causing the IRQ handler to be continuously called. This patch clears the IRQs in question in the event they are enabled and taken. Signed-off-by: Eero Nurkkala Signed-off-by: Tony Lindgren commit e85c205ac1427f2405021a36f083280ff0d0a35e Author: Mans Rullgard Date: Mon May 25 11:08:41 2009 -0700 ARM: OMAP: Increase VMALLOC_END to allow 256MB RAM This increases VMALLOC_END to 0x18000000, making room for 256MB RAM with the default 128MB vmalloc region. Note that after this patch there's no longer a hole between vmalloc space and the beginning of IO space on omap2 as the first virtual mapping starts at 0xd8000000. Also fold in a related change from Paul Walmsley to change the OMAP2_SRAM addresses accordingly. Signed-off-by: Mans Rullgard Signed-off-by: Paul Walmsley Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 00aeeffffadab39dcbd8d2360a1f2dc4469f4f1a Author: Santosh Shilimkar Date: Mon May 25 11:08:37 2009 -0700 ARM: OMAP: Remove unnecessary omap2_globals. This patch removes unnecessary omap2_globals and pass the global structures directly as function argument. The proposed cleanup was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit af5703f2beb490fc700a30d0b87e84da0cf42086 Author: Santosh Shilimkar Date: Mon May 25 11:08:37 2009 -0700 ARM: OMAP: Remove useless omap_sram_error function. This patch removes fixes omap_sram_error() function and replace the error paths with BUG_ON. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit aea2a5b03c6476175c6f498a72cfbe73f7f47528 Author: Santosh Shilimkar Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP: Remove unwanted type casts and fix the compiler warning. This patch fixes the compiler warning "assignment from incompatible pointer type" in dmtimer.c and removes the tye casts. These warnings were suppressed by type catsing. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit a9a418d4553290b824f95df65bd20097d7691233 Author: Tony Lindgren Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP2/3: Reorganize Makefile to add omap4 support We don't necessarily want to compile in irq.o and sdrc.o for omap4. Also, clock and prcm may not be implemented initially. Signed-off-by: Tony Lindgren commit eb0d0ee1c256492edd56e55c2704bbb1fe1d8bc0 Author: Tony Lindgren Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP2/3: Remove OMAP_CM_REGADDR Processor specific macros should be used instead. Signed-off-by: Tony Lindgren commit c28150ee688df25861bb8eeff445ed95baf29321 Author: Tony Lindgren Date: Mon May 25 11:08:35 2009 -0700 ARM: OMAP2/3: Remove OMAP2_PRCM_BASE It's currently unused, and processor specific defines should be used instead. Signed-off-by: Tony Lindgren commit 8a424bb3c92b2df17008dfa17ac55b602290267b Author: Tony Lindgren Date: Mon May 25 11:08:35 2009 -0700 ARM: OMAP2/3: Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Signed-off-by: Tony Lindgren commit 23b7dd3166fcd88d82ada7e13478fbe4c2231ddf Author: Tony Lindgren Date: Mon May 25 11:08:34 2009 -0700 ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE Remove OMAP_PRM_REGADDR and use processor specific defines instead. Also fold in a patch from Kevin Hilman to add _OFFSET #defines for the PRCM registers to be used with the prm_[read|write]_* macros. These are used extensively in the forthcoming OMAP PM support. Also remove now unused OMAP2_PRM_BASE. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit bed8b97d88b56fdad5677585262e20c5f0a1a8e2 Author: Tony Lindgren Date: Mon May 25 11:08:33 2009 -0700 ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE Use processor specific defines instead. As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK calling sched_clock before we have things initialized: http://patchwork.kernel.org/patch/15810/ Signed-off-by: Tony Lindgren commit 4fcd39207f4c91185cc89e3e6a28cbb643034ff1 Author: Takashi Iwai Date: Mon May 25 18:34:52 2009 +0200 ALSA: hda - Reset CORB/RIRB at retrying the verb communication When a codec communication error occurs, the CORB/RIRB counters should be reset first before re-issuing the verb. Simply call azx_free_cmd_io() and azx_init_cmd_io() to achieve that. Signed-off-by: Takashi Iwai commit 88b6edd17c62b7d346d21f4087893ce7d4ef828a Author: Theodore Ts'o Date: Mon May 25 11:50:39 2009 -0400 ext4: Clean up calls to ext4_get_group_desc() If the caller isn't planning on modifying the block group descriptors, there's no need to pass in a pointer to a struct buffer_head. Nuking this saves a tiny amount of CPU time and stack space usage. Signed-off-by: "Theodore Ts'o" commit 759d427aa5a9d88a81afd11817cdeb40aea85234 Author: Theodore Ts'o Date: Mon May 25 11:51:00 2009 -0400 ext4: remove unused function __ext4_write_dirty_metadata The __ext4_write_dirty_metadata() function was introduced by commit 0390131b, "ext4: Allow ext4 to run without a journal", but nothing ever used the function, either then or since. So let's remove it and save a bit of space. Cc: Frank Mayhar Signed-off-by: "Theodore Ts'o" commit 10989fb2451763fae6f42d85fa6106c8fd010cf5 Author: Peter Zijlstra Date: Mon May 25 14:45:28 2009 +0200 perf_counter: Fix PERF_COUNTER_CONTEXT_SWITCHES for cpu counters Ingo noticed that cpu counters had 0 context switches, even though there was plenty scheduling on the cpu. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.419025548@chello.nl> Signed-off-by: Ingo Molnar commit 6ab423e0eaca827fbd201ca4ae7d4f8573a366b2 Author: Peter Zijlstra Date: Mon May 25 14:45:27 2009 +0200 perf_counter: Propagate inheritance failures down the fork() path Fail fork() when we fail inheritance for some reason (-ENOMEM most likely). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.324656474@chello.nl> Signed-off-by: Ingo Molnar commit 771d7cde144d87f2d1fbee4da3c6234d61f7e42a Author: Peter Zijlstra Date: Mon May 25 14:45:26 2009 +0200 perf_counter: Make pctrl() affect inherited counters too Paul noted that the new ptcrl() didn't work on child counters. Reported-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.203151469@chello.nl> Signed-off-by: Ingo Molnar commit e527ea312f31e88a7fa5472b71db71c565b0d44f Author: Peter Zijlstra Date: Mon May 25 14:45:25 2009 +0200 perf_counter: Remove unused ABI bits extra_config_len isn't used for anything, remove it. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.116035832@chello.nl> Signed-off-by: Ingo Molnar commit 266dfb0b58bc4181b6158ee63a0069abaa9f3a98 Author: Peter Zijlstra Date: Mon May 25 14:45:24 2009 +0200 perf_counter: Fix perf-$cmd invokation Fix: $ perf-top fatal: cannot handle -top internally Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124559.995591577@chello.nl> Signed-off-by: Ingo Molnar commit d3f4b3855ba87caff8f35e738c7e7e3bad0a6ab1 Author: Ingo Molnar Date: Mon May 25 14:40:01 2009 +0200 perf stat: flip around ':k' and ':u' flags This output: $ perf stat -e 0:1:k -e 0:1:u ./hello Performance counter stats for './hello': 140131 instructions (events) 1906968 instructions (events) Is quite confusing - as :k means "user instructions", :u means "kernel instructions". Flip them around - as the 'exclude' property is not intuitive in the flag naming. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 9af5324a070e0b2dcb6e22c89e17424eba245fcc Merge: 56a4593 9733bb8 Author: Russell King Date: Mon May 25 13:35:46 2009 +0100 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel commit 9733bb8e9ce0078f55405ce470a62ec0a551fe99 Author: Krzysztof Hałasa Date: Mon May 25 13:25:34 2009 +0200 IXP4xx: Change QMgr function names to qmgr_stat_*_watermark and clean the comments. Signed-off-by: Krzysztof Hałasa commit e4cbb4e3ac8b09fdb11e39e5a5611bfab0a7cd1a Author: Ingo Molnar Date: Tue May 19 15:50:30 2009 +0200 perf_counter: Move child perfcounter init to after scheduler init Initialize a task's perfcounters (inherit from parent, etc.) after the child task's scheduler fields have been initialized already. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit d94b943054721c346b0881865d645f000cd19880 Author: Mike Galbraith Date: Mon May 25 09:57:56 2009 +0200 perf top: Reduce display overhead Iterate over the symbol table once per display interval, and copy/sort/tally/decay only those symbols which are active. Before: top - 10:14:53 up 4:08, 17 users, load average: 1.17, 1.53, 1.49 Tasks: 273 total, 5 running, 268 sleeping, 0 stopped, 0 zombie Cpu(s): 6.9%us, 38.2%sy, 0.0%ni, 19.9%id, 0.0%wa, 0.0%hi, 35.0%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 28504 root 20 0 1044 260 164 S 58 0.0 0:04.19 2 netserver 28499 root 20 0 1040 412 316 R 51 0.0 0:04.15 0 netperf 28500 root 20 0 1040 408 316 R 50 0.0 0:04.14 1 netperf 28503 root 20 0 1044 260 164 S 50 0.0 0:04.01 1 netserver 28501 root 20 0 1044 260 164 S 49 0.0 0:03.99 0 netserver 28502 root 20 0 1040 412 316 S 43 0.0 0:03.96 2 netperf 28468 root 20 0 1892m 325m 972 S 16 10.8 0:10.50 3 perf 28467 root 20 0 1892m 325m 972 R 2 10.8 0:00.72 3 perf After: top - 10:16:30 up 4:10, 17 users, load average: 2.27, 1.88, 1.62 Tasks: 273 total, 6 running, 267 sleeping, 0 stopped, 0 zombie Cpu(s): 2.5%us, 39.7%sy, 0.0%ni, 24.6%id, 0.0%wa, 0.0%hi, 33.3%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 28590 root 20 0 1040 412 316 S 54 0.0 0:07.85 2 netperf 28589 root 20 0 1044 260 164 R 54 0.0 0:07.84 0 netserver 28588 root 20 0 1040 412 316 R 50 0.0 0:07.89 1 netperf 28591 root 20 0 1044 256 164 S 50 0.0 0:07.82 1 netserver 28587 root 20 0 1040 408 316 R 47 0.0 0:07.61 0 netperf 28592 root 20 0 1044 260 164 R 47 0.0 0:07.85 2 netserver 28378 root 20 0 8732 1300 860 R 2 0.0 0:01.81 3 top 28577 root 20 0 1892m 165m 972 R 2 5.5 0:00.48 3 perf 28578 root 20 0 1892m 165m 972 S 2 5.5 0:00.04 3 perf [ Impact: optimization ] Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0f89bdcac61536c5cb2a095a514657019573afb4 Author: Peter Ujfalusi Date: Mon May 25 11:12:13 2009 +0300 ASoC: TWL4030: HandsfreeL/R mute DAPM switch Add DAPM switch for HeadsetL/R mute. Since all bits are are needed for the HFL/R pop removal to work the switch is using the SW_SHADOW no HW register for the HandsfreeL/R mute. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f3b5d3002d5b43d277dedc1e044d02f2a40a43c5 Author: Peter Ujfalusi Date: Mon May 25 11:12:12 2009 +0300 ASoC: TWL4030: Add shadow register Shadow, non HW register for dealing with the HandsfreeL/R muting. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5a2e9a48b1d6de35ae5efea35d117133c3eb30f2 Author: Peter Ujfalusi Date: Mon May 25 11:12:11 2009 +0300 ASoC: TWL4030: Handsfree pop removal redesign Move the HandsfreeL/R (IHFL/R) pop removal code from the DAPM_MUX_E to a more appropriate DAPM_PGA_E widget. Also fix the power-up sequence to match with the TRM. The power-down sequence is not described in the TRM, so do it in a way, which seams like the correct sequence. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 04f9890df1bad2115665b7027e664aaffa44088d Author: Clemens Ladisch Date: Mon May 25 10:11:29 2009 +0200 sound: virtuoso: add Xonar Essence ST support Add support for the Asus Xonar Essence ST and its daughterboard. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b990ae963a3f80a659b30562c1e3214b386ecce3 Author: Clemens Ladisch Date: Mon May 25 10:06:22 2009 +0200 sound: virtuoso: enable HDAV S/PDIF input The Xonar HDAV1.3 has a digital input jack, so enable the corresponding device. This is not related to the HDMI stuff, which stays unsupported. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 53bb705d12e0f642c131cdcab2c8e3be7364e505 Author: Clemens Ladisch Date: Mon May 25 10:05:43 2009 +0200 sound: virtuoso: add another DX PCI ID Add another PCI ID for a second revision of the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 345c03ef0f2bd0c933a1eca27732af7edf5e8d4d Author: Clemens Ladisch Date: Mon May 25 10:05:00 2009 +0200 sound: oxygen: reset DMA when stream is closed When a PCM stream is closed, flush the corresponding DMA channel. Otherwise, the DMA controller would continue to output the last sample which would result in a DC offset on the output. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 8eec2f36fb869f1e6d81d834bbbd487941222fc8 Author: Corentin Chary Date: Mon May 25 08:49:10 2009 +0200 UBIFS: return proper error code if the compr is not present If the compressor is not present, mount_ubifs need to return an error code. This way ubifs_fill_super will stop and handle the error. Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 56a459314a982bae75b9bce64bcca853d378ca7e Merge: fc05505 5c651ff Author: Russell King Date: Mon May 25 10:15:59 2009 +0100 Merge branch 'iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git into devel commit e3804cbebb67887879102925961d41b503f7fbe3 Author: Alexander Beregalov Date: Mon May 25 01:53:53 2009 -0700 net: remove COMPAT_NET_DEV_OPS All drivers are already converted to new net_device_ops API and nobody uses old API anymore. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c649c0e31d5736a4b7c5c3454182091dda4bbe62 Merge: daebafe 4e2fd55 Author: David S. Miller Date: Mon May 25 01:42:21 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit 85a9f9200226ddffc2ea50dae6a8df04c033ecd4 Author: Ingo Molnar Date: Mon May 25 09:59:50 2009 +0200 perf_counter tools: increase limits, fix NR_CPUS and NR_COUNTERS goes up quadratic ... 1024x4096 was far too ambitious upper limit - go for 256x256 which is still plenty. [ Impact: reduce perf tool memory consumption ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit daebafed7fef54fcc73d2d01431122cfd578d1e0 Author: Andreas Eversberg Date: Mon May 25 00:56:56 2009 -0700 mISDN: Added PCI ID for new Junghanns.net Single E1 cards. The new ID is validated by Cologne Chip. LEDs control is also supported. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit b0579d7459aaa979b96016f3cac5e59fd3cb72b5 Author: Andreas Eversberg Date: Fri May 22 11:04:58 2009 +0000 mISDN: Fix DTMF detection enable/disable DTMF detection was enabled when it was not supposed to. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 8c90e11e3543d7de612194a042a148caeaab5f1d Author: Arnaldo Carvalho de Melo Date: Fri May 22 11:04:57 2009 +0000 mISDN: Use kernel_{send,recv}msg instead of open coding Reducing the number of direct users of sock_{recv,send}msg. Modified version to match the latest context. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit eac74af9b547e29c9634ed5eff4d514349e73310 Author: Karsten Keil Date: Fri May 22 11:04:56 2009 +0000 mISDN: Cleanup debug messages This patch make debug printk's KERN_DEBUG and also fix some codestyle issues. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7245a2fe3c10ed7c2e9b1c8a83af5919c0cc0a89 Author: Andreas Eversberg Date: Fri May 22 11:04:55 2009 +0000 mISDN: Add PCI ID for Junghanns 8S card new id for HFC-8S Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit ddacd14e8db9b9c4434d00545f6483fe01f02991 Author: Roel Kluin Date: Fri May 22 11:04:53 2009 +0000 mISDN: get_free_devid() failure ignored dev->id is unsigned so a get_free_devid() error is ignored. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit db9bb63a1b5b65df41d112a8c21adbbfc6a4ac08 Author: Karsten Keil Date: Fri May 22 11:04:53 2009 +0000 mISDN: Add XHFC support for embedded Speech-Design board to hfcmulti New version without emulating arch specific stuff for the other architectures, the special IO and init functions for the 8xx microcontroller are in a separate include file. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 5df3b8bcc7826b85a2d233dd20da3ed247e1dc1d Author: Karsten Keil Date: Fri May 22 11:04:52 2009 +0000 mISDN: Fix skb leak in error cases If the channel receive function returns an error the skb must be freed. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit d796509a57777bc0f8f336e360695fad665c59f5 Author: Andreas Eversberg Date: Fri May 22 11:04:51 2009 +0000 mISDN: Add "sapi" information to debug messages Using sapi values other than 0 work now. The "OpenBSC" project does not require special kernel patch anymore. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 3dc403939c73ac372f2c95b5099dfdf396fe4ecc Author: Frank Seidel Date: Fri May 22 11:04:51 2009 +0000 mISDN: Add allocation of recvbuf[1500] at run time to reduce stack size Before: 1656 bytes on i386, now 164. Modified by Andreas Eversberg Signed-off-by: Frank Seidel Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 5b277b8605f4c8fbd13302df33ab4570f844c1ff Author: Andreas Eversberg Date: Mon May 25 00:50:02 2009 -0700 mISDN: Fix TEI and SAPI handling Added SAPI value to use SAPIs different than 0. Now fixed TEIs work in NT mode. This allows PTP endpoint to be connected to PTMP ports together with other PTMP endpoints. New enhanced version, thanks to Sam Ravnborg for the hints. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit bc138ec4ac58bb83e2d9d5c12328d5452294c1f0 Author: Andreas Eversberg Date: Fri May 22 11:04:49 2009 +0000 mISDN: Hardware acceleration is now possible in conjunction with audio recording Audio recording requires software audio processing. Both hardware and software processing is simultaniously possible now. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit b5df5a5c3bf0f809d854ad7156ce26b709b533c0 Author: Andreas Eversberg Date: Fri May 22 11:04:48 2009 +0000 mISDN: Fix DTMF locking bug issue DTMF digits were sent up to socket in locked state. Receive audio stream was not enabled in certain condition. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit e73f6b2260daf02793071e5ce06ea87df762920a Author: Andreas Eversberg Date: Fri May 22 11:04:48 2009 +0000 mISDN: Added layer-1-hold feature Add IMHOLD_L1 ioctl. The feature will be disabled on closing. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit ba3af34ec9866dddac36c15947f867eb8e889bbc Author: Andreas Eversberg Date: Fri May 22 11:04:47 2009 +0000 mISDN: Fixed missing spin lock on pipeline process Need to protect the complete pipeline. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 44e095897d745a03d71611fd318f26d8b12a4771 Author: Frank Seidel Date: Fri May 22 11:04:47 2009 +0000 mISDN: Reduce stack size in dsp_cmx_send() Reduce stack size memory footprint of mISDN_dsp. (From 1468 bytes for dsp_cmx_send on i386 down to 44). Signed-off-by: Frank Seidel Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7cfa153dd709f15188fe84b78ae76387841fe17b Author: Andreas Eversberg Date: Fri May 22 11:04:46 2009 +0000 mISDN: Echo canceler now gets delay information from hardware Added tx-fifo information for calculation of current delay to sync tx and rx streams for echo canceler. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit a5355c27d26001865a5ac32c868c82a523c275d3 Author: Andreas Eversberg Date: Fri May 22 11:04:45 2009 +0000 mISDN: DSP now uses ring buffer for echo canceler DSP now uses ring buffer for echo canceler. Added missing include in l1oip_codec.c Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7df3bb8f59ca8e346bb834006c257cc367c6250a Author: Andreas Eversberg Date: Fri May 22 11:04:44 2009 +0000 mISDN: Add watchdog functionality to hfcmulti driver This patch was made by Titus Moldovan and provides IOCTL functions for enabling and disabling the controller's built in watchdog. The use is optional. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 9bcb97cace615a9f57fca0b9d788e7d234d7fc95 Author: Herbert Xu Date: Fri May 22 22:20:02 2009 +0000 skbuff: Copy csum instead of csum_start/csum_offset Hi: skbuff: Copy csum instead of csum_start/csum_offset It's easier to copy the u32 csum instead of its two u16 constituents. Signed-off-by: Herbert Xu Cheers, Signed-off-by: David S. Miller commit 82c49a352e0fd7af7e79a922b863f33f619f3209 Author: Herbert Xu Date: Fri May 22 22:11:37 2009 +0000 skbuff: Move new code into __copy_skb_header Hi: skbuff: Move new __skb_clone code into __copy_skb_header It seems that people just keep on adding stuff to __skb_clone instead __copy_skb_header. This is wrong as it means your brand-new attributes won't always get copied as you intended. This patch moves them to the right place, and adds a comment to prevent this from happening again. Signed-off-by: Herbert Xu Thanks, Signed-off-by: David S. Miller commit 45ea4ea2af358fe316c918381c7868f9418cad09 Merge: dddc045 a2e2322 Author: David S. Miller Date: Mon May 25 00:38:24 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit dddc045e2fdd4eb8d7dfac29bff191d639fff8c3 Author: Brice Goglin Date: Sun May 24 05:27:59 2009 +0000 myri10ge: Add support for vlan_features Add support for netdev->vlan_features in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 2552c31be3bcc7681e603cde44d97b66e4a885f0 Author: Brice Goglin Date: Sun May 24 05:27:51 2009 +0000 myri10ge: drop myri10ge_lro module parameter Drop the myri10ge_lro module parameter now that we have ethtool to enable/disable LRO in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 18af3e7c4535be88f864fc4bcff9a97fb4ae3731 Author: Brice Goglin Date: Sun May 24 05:27:41 2009 +0000 myri10ge: fix the invokation of lro_flush_all Fix the way we check whether lro_flush_all should be called in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 38aab07c14adbf3c7257793d764a91923341e96a Author: Yevgeny Petrilin Date: Sun May 24 03:17:11 2009 +0000 mlx4_en: Fix partial rings feature In case of allocation failure, the actual ring size is rounded down to nearest power of 2. The remaining descriptors are freed. The CQ and SRQ are allocated with the actual size and the mask is updated. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 8e29291650ee53a8609d9cc3a303dcbe9aa9b542 Author: Yevgeny Petrilin Date: Sun May 24 03:16:51 2009 +0000 mlx4_en: Removed redundant stride variable Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 0bc53a67ac831ec84f730a657dbcadd80a589ef5 Author: Jon Smirl Date: Sat May 23 19:13:03 2009 -0400 ASoC: Add a few more mpc5200 PSC defines Add a few more mpc5200 PSC defines. More bit fields defines for mpc5200 PSC registers. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit cebe77674cab51a9ff1deaa077ab74aff3996764 Author: Jon Smirl Date: Sat May 23 19:13:01 2009 -0400 ASoC: Rename the PSC functions to DMA Rename the functions in the mpc5200 DMA file from i2s based names to dma ones to reflect the file they are in. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 89dd08425273773fd33fc85d48d152c5679b2fb4 Author: Jon Smirl Date: Sat May 23 19:12:59 2009 -0400 ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s Basic split of mpc5200 DMA code out from i2s into a standalone file. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 6b5ca05d9590adc94620a83c5eafed28435e065f Author: Ryan Mallon Date: Thu May 21 22:16:18 2009 +0100 [ARM] 5523/2: Updated ep93xx defconfig Updated defconfig for ep93xx. By default, support for all boards which boot from 0x00000000 (SDCE3/SyncBoot) is included. Also updated the defconfig to use EABI for building the kernel. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 6cb38c5f5d7dda38466389082d0d965188c41b81 Author: Ryan Mallon Date: Thu May 21 22:11:52 2009 +0100 [ARM] 5523/1: ep93xx phys offset selection This patch adds a Kconfig option to select between ep93xx boards which boot from the SDRAM bank at 0x00000000 (SDCE3/SyncBoot) and those which boot from 0xc0000000 (SDCE0). This corrects a problem which causes invalid images to be built for boards which boot from 0xc0000000. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 34e559eabf57d07c55a57e9455c1df2e6a208d57 Author: Sergey Lapin Date: Fri May 8 15:58:57 2009 +0100 [ARM] 5514/1: AFEB9260 sound support ASoC driver for AT91SAM9260-based AFEB9260 board Signed-off-by: Sergey Lapin Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 05e1efa2deb42b1bd548208e5c43f471e2cf0da1 Author: Mark Brown Date: Sun May 24 13:32:24 2009 +0100 ASoC: Fix minor issues in STAC9766 driver Fairly minor issues: - Don't register the DAIs, it's not required for AC97 devices. - Make unexported functions static. - Wrap some excessively long lines. - Undo tab/space breakage. Signed-off-by: Mark Brown commit 3c166c7f1828f226c7f478758bf6c8ce8be1623f Author: Jon Smirl Date: Sat May 23 19:13:07 2009 -0400 ASoC: Codec for STAC9766 used on the Efika Datasheet: http://www.idt.com/products/getDoc.cfm?docID=13134007 Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit a3862d3f814ce7dfca9eed56ac23d29db3aee8d5 Author: Ingo Molnar Date: Sun May 24 09:02:37 2009 +0200 perf_counter: Increase mmap limit In a default 'perf top' run the tool will create a counter for each online CPU. With enough CPUs this will eventually exhaust the default limit. So scale it up with the number of online CPUs. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit c2990a2a582d73562d4dcf2502c39892a19a691d Author: Mike Galbraith Date: Sun May 24 08:35:49 2009 +0200 perf top: fix segfault c6eb13 increased stack usage such that perf-top now croaks on startup. Take event_array and mmap_array off the stack to prevent segfault on boxen with smallish ulimit -s setting. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 475c55797323b67435083f6e2eb8ee670f6410ec Author: Peter Zijlstra Date: Sat May 23 18:29:01 2009 +0200 perf_counter: Remove perf_counter_context::nr_enabled now that pctrl() no longer disables other people's counters, remove the PMU cache code that deals with that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163013.032998331@chello.nl> Signed-off-by: Ingo Molnar commit 082ff5a2767a0679ee543f14883adbafb631ffbe Author: Peter Zijlstra Date: Sat May 23 18:29:00 2009 +0200 perf_counter: Change pctrl() behaviour Instead of en/dis-abling all counters acting on a particular task, en/dis- able all counters we created. [ v2: fix crash on first counter enable ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.916937244@chello.nl> Signed-off-by: Ingo Molnar commit 79f52b77b89e8b7aa9fbe62135eea198a2ecbd5b Author: Dave Kleikamp Date: Sat May 23 20:28:41 2009 -0500 jfs: Add missing mutex_unlock call to error path Jan Kucera found an missing call to mutex_unlock() with his static code checker. It's an unlikely error path to hit in the real world, but it should be fixed. Signed-off-by: Dave Kleikamp Reported-by: Jan Kucera commit ee0736627d3347be0be2769fa7b26431f9726c9d Merge: cf9972a 0af48f4 Author: H. Peter Anvin Date: Sat May 23 16:42:19 2009 -0700 Merge branch 'x86/urgent' into x86/setup Resolved conflicts: arch/x86/boot/memory.c Signed-off-by: H. Peter Anvin commit fc05505b77f7900a1bb74fb3f3a4343dee4265a4 Merge: a2ab67f 11c7974 Author: Russell King Date: Sat May 23 23:18:40 2009 +0100 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel commit 11c79740d3c03cb81f84e98cf2e2dbd8d9bb53cd Author: Krzysztof Hałasa Date: Sat May 23 23:58:30 2009 +0200 IXP4xx: support for Goramo MultiLink router platform. Signed-off-by: Krzysztof Hałasa commit 0771c6939484d2ebe0ec28257c2570aecd9911e0 Author: Krzysztof Hałasa Date: Tue Apr 28 19:32:55 2009 +0200 IXP42x: Use __fls() in QMgr interrupt handlers. Signed-off-by: Krzysztof Hałasa commit d4c9e9fc97515588529e7fe48c7d5725292c6734 Author: Krzysztof Hałasa Date: Sat May 23 23:36:03 2009 +0200 IXP42x: Add QMgr support for IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 61a5ccc85a98f5eced89a3fda19b0ee708535c1b Author: Krzysztof Hałasa Date: Tue Apr 28 14:52:23 2009 +0200 IXP42x: add NPE support for IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 8a4fe82497a52b6da45b5b3179cce7dd6a28a532 Author: Krzysztof Hałasa Date: Tue Apr 28 14:48:43 2009 +0200 IXP42x: Identify Intel IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 2e418400728a9fcacb2ab75f0547584a56b8a584 Author: Krzysztof Hałasa Date: Sat May 23 23:14:59 2009 +0200 IXP4xx: Whitespace fixes in the Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 6a68afe3a2971953e218e509b16eae0ece43f9ac Author: Krzysztof Hałasa Date: Sat May 23 23:14:10 2009 +0200 IXP4xx: Ethernet and WAN drivers now support "high" hardware queues. Signed-off-by: Krzysztof Hałasa commit a366695592ebc9151dd5a248681270f0925d8324 Author: Abhijeet Joglekar Date: Fri May 1 10:01:26 2009 -0700 [SCSI] libfc,fcoe,fnic: Separate rport and lport max retry counts This allows fnic to configure number of retries for lport and rport separately. Signed-off-by: Abhijeet Joglekar Acked-by: Robert Love Signed-off-by: James Bottomley commit d17bf602fbfe4a5ab134a90f6c082fa161d398ee Author: Eric Moore Date: Mon May 18 13:02:49 2009 -0600 [SCSI] mpt2sas: bump driver version to 01.100.03.00 Bump driver version. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit d5d135b3a76750df250e18956476b6b2c4ad97c2 Author: Eric Moore Date: Mon May 18 13:02:08 2009 -0600 [SCSI] mpt2sas: using the same naming convention for all static function This fix's is for all local function so their name has the "_" preceeding the module name, then function name. Most the code is already is using this naming convention. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit ddf59a35e98aa12255ed64c892271339504cc65c Author: Eric Moore Date: Mon May 18 13:01:29 2009 -0600 [SCSI] mpt2sas: add query task support for MPT2COMMAND ioctl This patch will find an active mid for a query_task request via the ioctl path. This code is already there for task_abort, so this patch combining code using the same fuction _ctl_set_task_mid(), previously _ctl_do_task_abort(). Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 993e0da7b767c0a7c1fd0079b16f3d28e6f25a48 Author: Eric Moore Date: Mon May 18 13:00:45 2009 -0600 [SCSI] mpt2sas: LUN Reset Support Adding new eh_target_reset_handler for target reset. Change the eh_device_reset_handler so its sending MPI2_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET, instead of MPI2_SCSITASKMGMT_TASKTYPE_TARGET_RESET. Add new function _scsih_scsi_lookup_find_by_lun as a sanity check to insure I_T_L commands are completed upon completing lun reset. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 3c621b3ee1432e7a2aca4a3b670b1d05f19ecf9c Author: Eric Moore Date: Mon May 18 12:59:41 2009 -0600 [SCSI] mpt2sas: T10 DIF Support This add support for type 1 and 3 DIF support per the Oracle API. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 6fcf41d1d8796f41b893754324704e23971c2ea1 Author: Christof Schmitt Date: Fri May 15 13:18:21 2009 +0200 [SCSI] zfcp: Keep ccw device and model id in zfcp_ccw.c Keep the information about the device and model id in zfcp_ccw. This requires an additional helper function to check for the privileged cfdc subchannel, but it allows the removal of the redundant defines from the zfcp_def header file. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ea460a81919f2b3410e7fb30183c0256d068d87a Author: Swen Schillig Date: Fri May 15 13:18:20 2009 +0200 [SCSI] zfcp: Changed D_ID left port disabled If the destination ID (D_ID) of a remote storage port changed, e.g. re-plugged cable on the switch in a different switch port, the port was never (re-)attached within Linux. This patch fixes the broken mapping between the WWPN and the D_ID. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a17c5855643afa7838f542cbd0a1ed9a73968cef Author: Martin Petermann Date: Fri May 15 13:18:19 2009 +0200 [SCSI] zfcp: Increase ref counter for port open requests In rare cases, open port request might timeout, erp calls zfcp_port_put, port gets dequeued. Now, the late returning (or dismissed) fsf-port-open calls the fsf_port_open_handler that tries to reference the port data structure leading to a kernel oops. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dceab655d9f7d99881c2033c8ff4e1c7b444e104 Author: Christof Schmitt Date: Fri May 15 13:18:18 2009 +0200 [SCSI] zfcp: Add comments to switch/case fallthroughs Add comments where there is a deliberate fall through in switch/case statements. This makes some code checkers happy and makes it clear that there is no missing break statement. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bc90c8632f63cd94246e3fb6f1b6d7ecba48f1a0 Author: Christof Schmitt Date: Fri May 15 13:18:17 2009 +0200 [SCSI] zfcp: Remove unnecessary default case and assignments enum dma_data_direction only has the 4 values DMA_BIDIRECTIONAL, DMA_TO_DEVICE, DMA_FROM_DEVICE and DMA_NONE. No need to have the default case. While changing this, setup sbtype in one place to make sparse happy. The default value of retval is already -EIO, so remove the additional assignment for these two cases. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a40a1bafe7da0afe61b1c20fc50e18c07ce724f9 Author: Christof Schmitt Date: Fri May 15 13:18:16 2009 +0200 [SCSI] zfcp: Make queue_depth adjustable zfcp did always set the queue_depth for SCSI devices to 32, not allowing to change this. Introduce a kernel parameter zfcp.queue_depth and the change_queue_depth callback to allow changing the queue_depth when it is required. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 955a21555dc8dc4a81da7063d595cd7558f413ce Author: Christof Schmitt Date: Fri May 15 13:18:15 2009 +0200 [SCSI] zfcp: Update message and add description Update the newly introduced message for the boxed status to conform to match the style of s390 and zfcp messages. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f0216ae9bd0ea8a45736f386a3b8058aefc64dd8 Author: Christof Schmitt Date: Fri May 15 13:18:14 2009 +0200 [SCSI] zfcp: Use correct req_id for traces The zfcp traces used the fsf_req address in place of the req_id. Change this to save the correct req_id. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f9da3be5afc08c40e7f7a395c8935d500a6898b1 Author: Andy Yan Date: Thu May 14 20:41:21 2009 -0400 [SCSI] mvsas: remove all the casts from void * or to void * Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei commit 4421c9ebeeacf3d9c4e6aa558e1a777178e71add Author: Mike Christie Date: Wed May 13 17:57:50 2009 -0500 [SCSI] libiscsi: add debug printks for iscsi command completion path This patch just adds some debug statements for the abort and completion paths. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b3cd5050bf8eb32ceecee129cac7c59e6f1668c4 Author: Mike Christie Date: Wed May 13 17:57:49 2009 -0500 [SCSI] libiscsi: add task aborted state If a task did not complete normally due to a TMF, libiscsi will now complete the task with the state ISCSI_TASK_ABRT_TMF. Drivers like bnx2i that need to free resources if a command did not complete normally can then check the task state. If a driver does not need to send a special command if we have dropped the session then they can check for ISCSI_TASK_ABRT_SESS_RECOV. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1336aed10b8af791378b017f0fa8da4e5b827b8d Author: Mike Christie Date: Wed May 13 17:57:48 2009 -0500 [SCSI] libiscsi: check if iscsi host has work queue before queueing work Instead of having libiscsi check if the offload bit is set, have it check if the lld created a work queue. I think this is more clear. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 301e0f7e4d78e956c58b66888e134dbdb44ea28e Author: Mike Christie Date: Wed May 13 17:57:47 2009 -0500 [SCSI] libiscsi: don't let io sit in queue when session has failed If the session is failed, but we have not yet fully transitioned to the recovery stage we were still queueuing IO. The idea is that for some failures we can recvover at the command level and still continue to execute other IO. Well, we never have added the recovery within a command code, so queueing up IO here just creates the possibility that it might time time out so this just has us requeue the IO the scsi layer for now. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3bbaaad95fd38dedb7c66a601f14825b4e0c5a59 Author: Mike Christie Date: Wed May 13 17:57:46 2009 -0500 [SCSI] libiscsi: handle cleanup task races bnx2i needs to send a hardware specific cleanup command if a command has not completed normally (iscsi/scsi response from target), and the session is still ok (this is the case when we send a TMF to stop the command). At this time it will need to drop the session lock. The problem with the current code is that fail_all_commands assumes we will hold the lock the entire time, so it uses list_for_each_entry_safe. If while bnx2i drops the session lock multiple cmds complete then list_for_each_entry_safe will not handle this correctly. This patch removes the running lists and just has us loop over the cmds array (in later patches we will then replace that array with a block tag map at the session level). It also fixes up the completion path so that if the TMF code and the normal recv path were completing the same command then they both do not try to do release the refcount taken when the task is queued. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4c48a82935f833d94fcf44c2b0c5d2922acfc77a Author: Mike Christie Date: Wed May 13 17:57:45 2009 -0500 [SCSI] libiscsi: fix iscsi transport checks to account for slower links If we have not got any pdus for recv_timeout seconds, then we will send a iscsi ping/nop to make sure the target is still around. The problem is if this is a slow link, and the ping got queued after the data for a data_out (read), then the transport code could think the ping has failed when it is just slowly making its way through the network. This patch has us check if we are making progress while the nop is outstanding. If we are still reading in data, then we do not fail the session at that time. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d1acfae514425d680912907c6554852f1e258551 Author: Mike Christie Date: Wed May 13 17:57:44 2009 -0500 [SCSI] libiscsi_tcp: update recv tracking for each skb instead of iscsi pdu Everytime we read in a pdu libiscsi will update a tracking field. It uses this to decide when to check if the transport might be bad. If we have not got data in recv_timeout seconds then we will send a iscsi ping/nop. If we are on a slow link then it could take a while to read in all the data for a data_in. In that case we might send a ping/nop when we do not need to or we might drop a session thinking it is bad when the lower layer is making forward progress on it. This patch has libiscsi_tcp update the recv tracking for each skb (basically network packet from our point of view) instead of the entire iscsi pdu+data, so we account for these cases where data is coming in slowly. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 26013ad4c43f49a038a6489c35e9b901491339fe Author: Mike Christie Date: Wed May 13 17:57:43 2009 -0500 [SCSI] libiscsi: fix nop response/reply and session cleanup race If we are responding to a nop from the target by sending our nop, and the session is getting torn down, then iscsi_start_session_recovery could set the conn stop bits while the recv path is sending the nop response and we will hit the bug ons in __iscsi_conn_send_pdu. This has us check the state in __iscsi_conn_send_pdu and fail all incoming mgmt IO if we are not logged in and if the pdu is not login related. It also changes the ordering of the setting of conn stop state bits so they are set after the session state is set (both are set under the session lock). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit edbc9aa0580c0aca96ac8d11bfb2defa81d91bb3 Author: Mike Christie Date: Wed May 13 17:57:42 2009 -0500 [SCSI] libiscsi: have iscsi_data_in_rsp call iscsi_update_cmdsn This has iscsi_data_in_rsp call iscsi_update_cmdsn when a pdu is completed like is done for other pdu's that are don. For libiscsi_tcp, this means that it calls iscsi_update_cmdsn when it is handling the pdu internally to only transfer data, but if there is status then it does not need to call it since the completion handling will do it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8f9256cea10ca43ac80f66e176643eb41db34244 Author: Mike Christie Date: Wed May 13 17:57:41 2009 -0500 [SCSI] libiscsi: export iscsi_itt_to_task for bnx2i bnx2i needs to be able to look up mgmt task like login and nop, because it does some processing of them on the completion path. This exports iscsi_itt_to_task so it can look up the task. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5700b1af93388544843a453e3c68f8f928bd1e88 Author: Mike Christie Date: Wed May 13 17:57:40 2009 -0500 [SCSI] libiscsi: handle param allocation failures If we could not allocate the initiator name or some other id like the hwaddress or netdev, then userspace could deal with the failure by just running in a dregraded mode. Now we want to be able to switch values for the params and we want some feedback, so this patch will check if a string like the initiatorname could not be allocated and return an error. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 184b57c630c86d35b7f92d4b6545fdf07647c5d5 Author: Mike Christie Date: Wed May 13 17:57:39 2009 -0500 [SCSI] libiscsi: check of LLD has a alloc pdu callout. bnx2i does not have one. It currently preallocates the bdt when the session is setup. We probably want to change that to a dma pool, then allocate from the pool in the alloc pdu. Until then check if there is a alloc pdu callout. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 10eb0f013c63c71c82ede77945a5f390c10cfda6 Author: Mike Christie Date: Wed May 13 17:57:38 2009 -0500 [SCSI] iscsi: pass ep connect shost When we create the tcp/ip connection by calling ep_connect, we currently just go by the routing table info. I think there are two problems with this. 1. Some drivers do not have access to a routing table. Some drivers like qla4xxx do not even know about other ports. 2. If you have two initiator ports on the same subnet, the user may have set things up so that session1 was supposed to be run through port1. and session2 was supposed to be run through port2. It looks like we could end with both sessions going through one of the ports. Fixes for cxgb3i from Karen Xie. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5a2537959fa8781012e8c286fc1614e0f6991327 Author: Zhenwen Xu Date: Tue May 12 13:29:13 2009 -0700 [SCSI] NCR_D700: fix IRQ handler return type drivers/scsi/NCR_D700.c: In function `NCR_D700_probe': drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type Signed-off-by: Zhenwen Xu Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9870d9a2428550e7ac3164a26306ad07a99051ae Author: Andy Yan Date: Mon May 11 22:19:25 2009 +0800 [SCSI] mvsas: performance improvement using domain_device->lldd_dev Using sticky field to improve retrieve performance by eliminating some lookups in . Remove some spurious casts. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 77db27cdcbc8ed371fd2f154cbadc7ff32ae8901 Author: Andy Yan Date: Mon May 11 21:56:31 2009 +0800 [SCSI] mvsas: correct bit map usage Utilize DECLARE_BITMAP to define the tags array. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 0f980a871678b7ec143fcb45b31bf9234e4585c8 Author: Andy Yan Date: Mon May 11 21:49:52 2009 +0800 [SCSI] mvsas: bug fix, null pointer may be used Null pointer check to avoid corruption. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 0b84b7094e87769120def1e703b8b4d037281038 Author: Andy Yan Date: Mon May 11 20:05:26 2009 +0800 [SCSI] mvsas: bug fix of dead lock TMF task should be issued with Interrupt Disabled, or Deadlock may take place. Clean-up unused parameters and conditonal lock. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 2b288133ab6306b1761e0a2ef943b944ead6ad69 Author: Andy Yan Date: Mon May 11 20:01:55 2009 +0800 [SCSI] mvsas: bug fix with setting task management frame type Correct frame type setting according to parameter. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 6ff63896e5bd624d8563f4b67fe2fe06ce99c8dc Author: Kleber S. Souza Date: Mon May 4 10:41:02 2009 -0300 [SCSI] ipr: fix PCI permanent error handler The ipr driver can hang if it encounters enough PCI errors to trigger the permanent error handler. The driver will attempt to initiate a "bringdown" of the adapter and fail all pending ops back. However, this bringdown is unlike any other bringdown of the adapter in the code as the driver. In this code path we end up failing back ops with allow_cmds still set to 1. This results in some commands, the HCAM commands in particular, getting immediately re-issued to the adapter on the done call, which results in an infinite loop in ipr_fail_all_ops. Fix this by setting allow_cmds to zero in this path. Signed-off-by: Kleber S. Souza [brking@linux.vnet.ibm.com: alternate patch substituted] Signed-off-by: Brian King Signed-off-by: James Bottomley commit a3ec723a949d65bf0349cdf60958036454927729 Author: Eric Piel Date: Mon May 4 12:43:02 2009 +0200 [SCSI] Update wording of CONFIG_SCSI_MULTI_LUN help I had to set CONFIG_SCSI_MULTI_LUN to y in order to get my SE W595 working when plugging it as a mass storage. Looking at SCSI option to get a phone behaving correctly was convoluted to say the least. There are quite a few other reports about USB card readers needing this option as well. This patch improves the help text to make the use of the option more obvious. Signed-off-by: Eric Piel Signed-off-by: James Bottomley commit 16b3858ec967f4d9817f6958cc7a0bf1222355f3 Author: Roel Kluin Date: Sat May 2 22:14:54 2009 +0200 [SCSI] ibmvscsi: Remove redundant test on unsigned. Signed-off-by: Roel Kluin Acked by: Brian King Signed-off-by: James Bottomley commit 1da2019fffc65c02a613305919bac28c9bdfaf99 Author: Kai Makisara Date: Sat May 2 08:49:34 2009 +0300 [SCSI] st: fix gcc 4.4 warning This patch fixes the GCC 4.4 warning reported by David Binderman and Sergey Senozhatsky. The old version was working correctly but was not easy to read. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 5c10e63c943b4c67561ddc6bf61e01d4141f881f Author: Takahiro Yasui Date: Wed Apr 29 12:13:02 2009 -0400 [SCSI] limit state transitions in scsi_internal_device_unblock scsi timeout on two or more devices may cause extremely long execution time for user applications because SDEV_OFFLINE state is changed to SDEV_RUNNING state during scsi error recovery procedures triggered by a bus reset or a host reset of scsi LLD, and scsi timeout can happens on the same devices many times. This happens because scsi_internal_device_unblock() changes device's state to SDEV_RUNNING even if a device in other states than SDEV_BLOCK, while the following two transitions are required in this function. SDEV_BLOCK -> SDEV_RUNNING SDEV_CREATED_BLOCK -> SDEV_CREATED Otherwise, it returns -EINVAL. Signed-off-by: Takahiro Yasui [matthew@wil.cx: supplied rewritten base for patch] Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a2ab67fae1ab9226679495a8d260f4e6555efc5f Merge: 6d0485a 135cad3 Author: Russell King Date: Sat May 23 20:57:31 2009 +0100 Merge branch 'for-rmk-devel' of git://git.pengutronix.de/git/imx/linux-2.6 into devel Conflicts: arch/arm/Kconfig arch/arm/Makefile commit aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469 Author: Peter Zijlstra Date: Sat May 23 18:28:59 2009 +0200 perf_counter: Simplify context cleanup Use perf_counter_remove_from_context() to remove counters from the context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.796275849@chello.nl> Signed-off-by: Ingo Molnar commit 1a482f38c5aafeb3576079a38a5b21b46619f3d2 Author: Peter Zijlstra Date: Sat May 23 18:28:58 2009 +0200 perf_counter: Fix userspace build recent userspace (F11) seems to already include the linux/unistd.h bits which means we cannot include the version in the kernel sources due to the header guards being the same. Ensure we include the kernel version first. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.739756497@chello.nl> Signed-off-by: Ingo Molnar commit 682076ae1de0aba9c2da509f7b19dc03e30a6e1f Author: Peter Zijlstra Date: Sat May 23 18:28:57 2009 +0200 perf_counter: Sanitize context locking Ensure we're consistent with the context locks. context->mutex context->lock list_{add,del}_counter(); so that either lock is sufficient to stabilize the context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.618790733@chello.nl> Signed-off-by: Ingo Molnar commit fccc714b3148ab9741fafc1e90c3876d50df6093 Author: Peter Zijlstra Date: Sat May 23 18:28:56 2009 +0200 perf_counter: Sanitize counter->mutex s/counter->mutex/counter->child_mutex/ and make sure its only used to protect child_list. The usage in __perf_counter_exit_task() doesn't appear to be problematic since ctx->mutex also covers anything related to fd tear-down. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.533186528@chello.nl> Signed-off-by: Ingo Molnar commit e220d2dcb944c5c488b6855d15ec66d76900514f Author: Peter Zijlstra Date: Sat May 23 18:28:55 2009 +0200 perf_counter: Fix dynamic irq_period logging We call perf_adjust_freq() from perf_counter_task_tick() which is is called under the rq->lock causing lock recursion. However, it's no longer required to be called under the rq->lock, so remove it from under it. Also, fix up some related comments. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.476197912@chello.nl> Signed-off-by: Ingo Molnar commit 948cd52906baf1f92aeea2f9b5c515db1b2e592a Author: Paul Mundt Date: Fri May 22 10:40:09 2009 +0900 sparseirq: Allow early irq_desc allocation Presently non-legacy IRQs have their irq_desc allocated with kzalloc_node(). This assumes that all callers of irq_to_desc_node_alloc() will be sufficiently late in the boot process that kmalloc is available. While porting sparseirq support to sh this blew up immediately, as at the time that we register the CPU's interrupt vector map only bootmem is available. Check slab_is_available() to work out which path to use. [ Impact: fix SH early boot crash with sparseirq enabled ] Signed-off-by: Paul Mundt Acked-by: Yinghai Lu Cc: Andrew Morton Cc: Mel Gorman LKML-Reference: <20090522014008.GA2806@linux-sh.org> Signed-off-by: Ingo Molnar commit 0154724d487586241c1ad57cfd348ed2ff2274e2 Author: Mark Brown Date: Sat May 23 00:01:05 2009 +0100 ASoC: Fix WM9081 PowerPC compiler issues Ensure that we always set a new sysclk when using the FLL in master mode and pick out the correct value for the sample rate in hw_params(). Signed-off-by: Mark Brown commit 3b77f777b8f1c001b63e317c4ce317292ff0ff94 Author: Martin K. Petersen Date: Sat May 23 08:23:16 2009 +0200 ide-disk: fix missing max_sectors accessor function The recent move to accessor functions for querying queue limits missed an entry in ide-disk.c: drivers/ide/ide-disk.c: In function ‘ide_disk_setup’: drivers/ide/ide-disk.c:642: error: ‘struct request_queue’ has no member named ‘max_sectors’ Fix it. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit c72758f33784e5e2a1a4bb9421ef3e6de8f9fcf3 Author: Martin K. Petersen Date: Fri May 22 17:17:53 2009 -0400 block: Export I/O topology for block devices and partitions To support devices with physical block sizes bigger than 512 bytes we need to ensure proper alignment. This patch adds support for exposing I/O topology characteristics as devices are stacked. logical_block_size is the smallest unit the device can address. physical_block_size indicates the smallest I/O the device can write without incurring a read-modify-write penalty. The io_min parameter is the smallest preferred I/O size reported by the device. In many cases this is the same as the physical block size. However, the io_min parameter can be scaled up when stacking (RAID5 chunk size > physical block size). The io_opt characteristic indicates the optimal I/O size reported by the device. This is usually the stripe width for arrays. The alignment_offset parameter indicates the number of bytes the start of the device/partition is offset from the device's natural alignment. Partition tools and MD/DM utilities can use this to pad their offsets so filesystems start on proper boundaries. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit cd43e26f071524647e660706b784ebcbefbd2e44 Author: Martin K. Petersen Date: Fri May 22 17:17:52 2009 -0400 block: Expose stacked device queues in sysfs Currently stacking devices do not have a queue directory in sysfs. However, many of the I/O characteristics like sector size, maximum request size, etc. are queue properties. This patch enables the queue directory for MD/DM devices. The elevator code has been modified to deal with queues that do not have an I/O scheduler. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 025146e13b63483add912706c101fb0fb6f015cc Author: Martin K. Petersen Date: Fri May 22 17:17:51 2009 -0400 block: Move queue limits to an embedded struct To accommodate stacking drivers that do not have an associated request queue we're moving the limits to a separate, embedded structure. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ae03bf639a5027d27270123f5f6e3ee6a412781d Author: Martin K. Petersen Date: Fri May 22 17:17:50 2009 -0400 block: Use accessor functions for queue limits Convert all external users of queue limits to using wrapper functions instead of poking the request queue variables directly. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1 Author: Martin K. Petersen Date: Fri May 22 17:17:49 2009 -0400 block: Do away with the notion of hardsect_size Until now we have had a 1:1 mapping between storage device physical block size and the logical block sized used when addressing the device. With SATA 4KB drives coming out that will no longer be the case. The sector size will be 4KB but the logical block size will remain 512-bytes. Hence we need to distinguish between the physical block size and the logical ditto. This patch renames hardsect_size to logical_block_size. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 9bd7de51ee8537094656149eaf45338cadb7d7d4 Merge: e4b6363 6a44587 Author: Jens Axboe Date: Fri May 22 20:28:35 2009 +0200 Merge branch 'master' into for-2.6.31 Conflicts: drivers/ide/ide-io.c Signed-off-by: Jens Axboe commit e4b636366c00738b9609cda307014d71b1225b7f Merge: b9ed725 279e677 Author: Jens Axboe Date: Fri May 22 20:25:34 2009 +0200 Merge branch 'master' into for-2.6.31 Conflicts: drivers/block/hd.c drivers/block/mg_disk.c Signed-off-by: Jens Axboe commit a2e2322d83df82a57ba456cfa604c8b8f7b04670 Author: Wey-Yi Guy Date: Fri May 22 11:01:55 2009 -0700 iwlwifi: check for valid band for channel info when display channel info in debugfs, always check for valid band before access the pointer and display information for 1000 NIC, it only support "bgn" mode, so there is no 5.2GHz channels available to display. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 086ed117c918f07fd40323ab5adc64c52ea7c1b8 Author: Mohamed Abbas Date: Fri May 22 11:01:54 2009 -0700 iwlagn: co-exist with AMT Enable using iwlwifi driver in AMT system. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0324c14b6f3730eb155dcff864b9c0cf8c893c5f Author: Mohamed Abbas Date: Fri May 22 11:01:53 2009 -0700 iwlcore: Set rb_timeout to 0x10 for devices with ICT rb value should be 0x10 for devices using ICT. RX interrupt was not performing well with 0 value Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40cefda9ce11c44a2531d07af812900aa5f3ce9d Author: Mohamed Abbas Date: Fri May 22 11:01:52 2009 -0700 iwlcore: Add support for periodic RX interrupt Periodic RX interrupt needed with ICT interrupt to prevent RX race. Sending RX interrupt require many steps to be done in the the device: 1- write interrupt to current index in ICT table. 2- dma RX frame. 3- update RX shared data to indicate last write index. 4- send interrupt. This could lead to RX race, driver could receive RX interrupt but the shared data changes does not reflect that. this could lead to RX race, RX periodic will solve this race Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4752c93c30441f98f7ed723001b1a5e3e5619829 Author: Mohamed Abbas Date: Fri May 22 11:01:51 2009 -0700 iwlcore: Allow skb allocation from tasklet. If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ef850d7cb301bda9155c096269557a4586b58071 Author: Mohamed Abbas Date: Fri May 22 11:01:50 2009 -0700 iwlcore: support ICT interrupt Add ICT interrupt handler support, ICT should improve CPU utilization since it does not require target read which is very expensive. This interrupt handler only added to 5000 cards and newer. Device will write interrupts to ICT shared table to inform driver about its interrupts. These patches will not touch 3945 and 4965 interrupt handlers and tasklet. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a2b0f02e4795bfde5f11720a10af8923cb98b654 Author: Wey-Yi Guy Date: Fri May 22 11:01:49 2009 -0700 iwlwifi: support "pure 40MHz" in RXON command Fix the bug when using 11n "pure 40MHz" mode cause uCode crashing by adding support for "pure 40MHz" in RX_ON command flag. the "mode" field (bits 25:26) has value of 0-3 0 = 20 MHz only 1 = 40MHz only 2 = Mixed 3 = Reserved Control Channel ID (bit 22) is valid only in Mixed mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a9c146b369cd8facbbbec7d8b31440f6eaa43e03 Author: Wey-Yi Guy Date: Fri May 22 11:01:48 2009 -0700 iwlwifi: report the rate index as an MCS rate number If transmit in HT rate, report the rate index as an MCS rate number instead of an index. so "iw" can display correct BitRate Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8b50a0a966d7ac313f624c6ab4996231a5fe25a Author: Mohamed Abbas Date: Fri May 22 11:01:47 2009 -0700 iwlcore: register locks Add new lock to be used when accessing some registers. Also move the register lock and iwl_grab_nic_access inside the function for register access. This will prevent from forgetting to hold locks and nic access in the right way and make code easier to maintain. We over use the priv->lock spin lock and I guess we need to add new one for Tx queue after that we might need to change most of these lock to BH and just keep priv->lock as irq type. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0848e297c2107dbc12a91a1709c879c73bd188d8 Author: Wey-Yi Guy Date: Fri May 22 11:01:46 2009 -0700 iwlwifi: support NVM access (EEPROM/OTP) Two type of NVM available for devices 1000, 6000 and after, adding support to read OTP lower blocks if OTP is used instead of EEPROM. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8a566afea0639fc387add782bc799009512a911b Author: Ivo van Doorn Date: Thu May 21 19:16:46 2009 +0200 rt2x00: Remove usage of IEEE80211_CONF_CHANGE_BEACON_INTERVAL IEEE80211_CONF_CHANGE_BEACON_INTERVAL was deprecated a month ago, it is about time to remove all usage from the rt2x00 drivers and use the correct beacon interval configuration through the bss_info structure. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b91c3604d000205fb4e56b5ddd6b77b22ad4689 Author: Ivo van Doorn Date: Thu May 21 19:16:14 2009 +0200 rt2x00: Add new rt2800usb USB ID's for Sweex The USB ID with unknown manufacturer is apparently sweex, copy it to the correct location of the list and add 2 additional USB ID's also belonging to Sweex. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9839178e92bf205728c754aeb1933f631a9962d9 Author: Jussi Kivilinna Date: Fri May 22 17:40:34 2009 +0300 rndis_wlan: do not try to restore wpa keys using add_wep_key() set_infra_mode() tried to restore wpa keys using add_wep_key(). This never worked so prevent driver from trying. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b145ee0ce1e325497e5bb91f78f1545b552b518f Author: Jussi Kivilinna Date: Fri May 22 17:40:27 2009 +0300 rndis_wlan: split add_wpa_key from rndis_iw_set_encode_ext Split add_wpa_key() from rndis_iw_set_encode_ext so that conversion to cfg80211 would be easier later on. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b4703a2e32fdffbf83caf699817b21c4fc6d987c Author: Jussi Kivilinna Date: Fri May 22 17:40:20 2009 +0300 rndis_wlan: explain bits used in key setup code. Driver uses some unnamed bits to control encryption setup. Move these to enumerations with proper names explaining their meaning. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9656e85ba24a9814f1705e0e3639281d15d6a419 Author: Jussi Kivilinna Date: Fri May 22 17:40:12 2009 +0300 rndis_wlan: remove CAP_SUPPORT_TXPOWER/OID_802_11_TX_POWER_LEVEL code BCM4320 doesn't support OID_802_11_TX_POWER_LEVEL (chip implements the command but setting value has no effect and getting txpower value always returns 0xff, full power). So remove the code for cleanup. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 59620e9fd631703ecdc7a6d304231b45560b8d26 Author: Jussi Kivilinna Date: Fri May 22 11:58:36 2009 +0300 rndis_wlan: fix support for bcm4320a Old variant of bcm4320 doesn't handle setting configuration parameters correctly. One symptom is that MAC gets partially overwritten when any config parameters are set. This patch disables config-params for bcm4320a (and generic rndis-wlan). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 62161aefa403a3f8d603b061f5688cf00928a2cc Author: Wey-Yi Guy Date: Thu May 21 13:44:23 2009 -0700 iwlwifi: Temperature sensor voltage reading for 5150 The temperature measurement by uCode for 5150 and 5000 are different CSR_HW_REV_TYPE_5150: temperature sensor output voltage CSR_HW_REV_TYPE_5000: temperature in Celsius temperature related operation for 5150 is measured by temperature sensor output voltage; additional conversion is required for set and store the temperature. To make sure support different HW design; implement _ops method for temperature related functions (temperature reading and set ct kill threshold) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2681b20ba2a255ea20a168c0ebe519c40b55e57e Author: Wey-Yi Guy Date: Thu May 21 13:44:22 2009 -0700 iwlwifi: add Greenfield support for 11n Add "Greenfield" support for all devices except 4965 and 3945. "Greenfield" is part of 11n features to improve HT performance. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 749e091ee0065ed366cc26c115abc237e07ed786 Author: Abhijeet Kolekar Date: Thu May 21 13:44:21 2009 -0700 iwl3945: improve 3945 leds 'tpt' is a delta throughput (number of packets) and is corelated to brightness of the LED. We already maintain a delta of packets in rxtxpackets. There is no need to calculate this delta again which was affecting the behaviour of LEDS. Also add two new callback functions for ASSOCIATED/DISASSOCIATED states where LED's will be *on* for associated state and *off* for disassociated state. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1771. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2c7e57981f24e9f8b732ecf1c01e16111d21b7a5 Author: Bing Zhao Date: Thu May 21 11:32:34 2009 -0700 libertas: read SD8688 firmware status from new register The scratch pad register is used to store firmware status after firmware is downloaded and initialized. After firmware status is verified OK, the same register is used to store RX packet length. Hence the firmware status code is no longer valid afterwards. SD8688 firmware introduces a new register for firmware status which will never be overwritten. Also add scratch_reg variable to if_sdio_card structure and initialize it based on the model of the card during probe. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit bb9f8692f5043efef0dcef048cdd1db68299c2cb Author: Zhu Yi Date: Thu May 21 21:20:45 2009 +0800 iwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver This driver supports Intel's full MAC wireless multicomm 802.11 hardware. Although the hardware is a 802.11agn device, we currently only support 802.11ag, in managed and ad-hoc mode (no AP mode for now). Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit e31a16d6f64ef0e324c6f54d5112703c3f13a9c4 Author: Zhu Yi Date: Thu May 21 21:47:03 2009 +0800 wireless: move some utility functions from mac80211 to cfg80211 The patch moves some utility functions from mac80211 to cfg80211. Because these functions are doing generic 802.11 operations so they are not mac80211 specific. The moving allows some fullmac drivers to be also benefit from these utility functions. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a971be223f243311a8014ddfc721f68e3ef2da9c Author: Johannes Berg Date: Thu May 21 12:02:05 2009 +0200 mac80211: correct probe wait time My first patch submission used 200ms, which I then somehow managed to revert back to the earlier 50ms I had used for some tests in the second patch submission -- but that was wrong, I should have used 200ms here. Correct that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccdfeab6536ae55d43436ffaae949afde6e962ca Author: Jouni Malinen Date: Wed May 20 21:59:08 2009 +0300 ath9k: Update Beacon timers based on timestamp from the AP Some APs seem to drift away from the expected TBTT (timestamp % beacon_int_in_usec differs quite a bit from zero) which can result in us waking up way too early to receive a Beacon frame. In order to work around this, re-configure the Beacon timers after having received a Beacon frame from the AP (i.e., when we know the offset between the expected TBTT and the actual time the AP is sending out the Beacon frame). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 267a90127472be70b02ab13cbd355b5013e2aa51 Author: Jouni Malinen Date: Wed May 20 21:56:39 2009 +0300 ath9k: Optimize TBTT/DTIM calculation for timers The previous version used a simple loop to go through all Beacon frames when determining the next TBTT and DTIM count. This is not too bad for the case where the setup happens before timesync (i.e., very small TSF), but this can become very heavy operation if a short Beacon interval is used and the current TSF is large. In preparation for a patch to update timer setup based on Beacon timestamp, optimize this routine to take fixed time regardless of the actual TSF value. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d26285f873c3066fefe648b47b9ecf3ec18bcfbc Author: Bing Zhao Date: Tue May 19 19:48:20 2009 -0700 libertas: implement function init/shutdown commands for SD8688 SD8688 is a WLAN/Bluetooth combo chip and both functions are supported in a single firmware image. FUNC_INIT and FUNC_SHUTDOWN commands are implemented to utilize the multiple function feature. When SD8688 card is inserted, the firmware image should be downloaded only once through either WLAN function (Libertas driver) or Bluetooth function (Bluetooth driver). This patch adds function init/shutdown for SD8688 WLAN function only. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b136a1414c94b4bda1057b4ffde26253d2527628 Author: Bing Zhao Date: Tue May 19 19:48:19 2009 -0700 libertas: get SD8688 rx length with one CMD52 Usually, the 16-bit rx length is read from scratch pad registers with two CMD52 transactions: SD8385: IF_SDIO_SCRATCH_OLD (0x80fe/0x80ff) SD8686/SD8688: IF_SDIO_SCRATCH (0x34/0x35) Alternatively, SD8688 firmware offers an enhanced method for driver to read an 8-bit rx length (in units) with a single CMD52: IF_SDIO_RX_UNIT 0x43 is read one time after firmware is ready. IF_SDIO_RX_LEN 0x42 is read every time when rx interrupt is received. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit e70a5ac5d27166cfe5bfbe8f63017af3b09d72ce Author: Bing Zhao Date: Tue May 19 19:48:18 2009 -0700 libertas: define macros for SDIO model numbers replace direct usages of SDIO model numbers with defined macros. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit ea2d06395b6de717a5e0c4b6e55f3047cae2131f Author: andrey@cozybit.com Date: Tue May 19 17:20:13 2009 -0700 libertas: fix GSPI card event handling The GPSI interface driver does not re-enable the Card Event Interrupt, which causes problems after a card event (for example: link-loss) comes in. This can lead, for example, to the card failing to re-associate. This patch ensures that we re-enable the Card Event Interrupt when we handle card events. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 4ef699fb771d347b31ddafd214c0dd47b90f7f0f Author: Johannes Berg Date: Tue May 19 21:26:07 2009 +0200 mac80211: fix probe response wait timing In "mac80211: split out and decrease probe wait time" I tried to reduce the time waiting for a probe response, but failed to take into account the case where we are detecting beacon loss in software -- in that case we still wait the monitoring time rather than the probe wait time. Fix this by refactoring the mod_timer() calls in ieee80211_associated(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 87057825824973f29cf2f37cff1e549170b2d7e6 Author: Johannes Berg Date: Tue May 19 17:19:36 2009 +0200 wext: remove atomic requirement for wireless stats The requirement for wireless stats to be atomic is now mostly artificial since we hold the rtnl _and_ the dev_base_lock for iterating the device list. Doing that is not required, just the rtnl is sufficient (and the rtnl is required for other reasons outlined in commit "wext: fix get_wireless_stats locking"). This will fix http://bugzilla.kernel.org/show_bug.cgi?id=13344 and make things easier for drivers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6eb13847ba081552d2af644219bddeff7110caf Author: Ingo Molnar Date: Fri May 22 18:18:28 2009 +0200 perf_counter tools: increase limits I tried to run with 300 active counters and the tools bailed out because our limit was at 64. So increase the counter limit to 1024 and the CPU limit to 4096. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 4c9773ed7946fc375edba057770f5ef16d8b44fe Merge: 9f36d31 5993856 Author: Bartlomiej Zolnierkiewicz Date: Fri May 22 17:10:55 2009 +0200 Merge branch 'for-linus' into for-next commit 86ed3669f068b514ab85ffd548456a342b3fb8d3 Author: Mark Brown Date: Fri May 22 15:01:19 2009 +0100 ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver The WM9081 is designed to provide high power output at low distortion levels in space-constrained portable applications. Signed-off-by: Mark Brown commit b4852b793a1dd74ccde5572d8a8f73e948a5b1a1 Author: Peter Ujfalusi Date: Fri May 22 15:12:15 2009 +0300 ASoC: TWL4030: Differentiate the playback streams Give unique stream names for the two playback streams so DAPM can figure out which codec_dai is in use. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 910431c7f2e963017d767b29c80ae706421e569f Author: Ingo Molnar Date: Fri May 22 12:32:15 2009 +0200 perf_counter: fix !PERF_COUNTERS build failure Update the !CONFIG_PERF_COUNTERS prototype too, for perf_counter_task_sched_out(). [ Impact: build fix ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10666.517218.332164@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 564c2b210add41df9a3a5aaa365c1d97cff6110d Author: Paul Mackerras Date: Fri May 22 14:27:22 2009 +1000 perf_counter: Optimize context switch between identical inherited contexts When monitoring a process and its descendants with a set of inherited counters, we can often get the situation in a context switch where both the old (outgoing) and new (incoming) process have the same set of counters, and their values are ultimately going to be added together. In that situation it doesn't matter which set of counters are used to count the activity for the new process, so there is really no need to go through the process of reading the hardware counters and updating the old task's counters and then setting up the PMU for the new task. This optimizes the context switch in this situation. Instead of scheduling out the perf_counter_context for the old task and scheduling in the new context, we simply transfer the old context to the new task and keep using it without interruption. The new context gets transferred to the old task. This means that both tasks still have a valid perf_counter_context, so no special case is introduced when the old task gets scheduled in again, either on this CPU or another CPU. The equivalence of contexts is detected by keeping a pointer in each cloned context pointing to the context it was cloned from. To cope with the situation where a context is changed by adding or removing counters after it has been cloned, we also keep a generation number on each context which is incremented every time a context is changed. When a context is cloned we take a copy of the parent's generation number, and two cloned contexts are equivalent only if they have the same parent and the same generation number. In order that the parent context pointer remains valid (and is not reused), we increment the parent context's reference count for each context cloned from it. Since we don't have individual fds for the counters in a cloned context, the only thing that can make two clones of a given parent different after they have been cloned is enabling or disabling all counters with prctl. To account for this, we keep a count of the number of enabled counters in each context. Two contexts must have the same number of enabled counters to be considered equivalent. Here are some measurements of the context switch time as measured with the lat_ctx benchmark from lmbench, comparing the times obtained with and without this patch series: -----Unmodified----- With this patch series Counters: none 2 HW 4H+4S none 2 HW 4H+4S 2 processes: Average 3.44 6.45 11.24 3.12 3.39 3.60 St dev 0.04 0.04 0.13 0.05 0.17 0.19 8 processes: Average 6.45 8.79 14.00 5.57 6.23 7.57 St dev 1.27 1.04 0.88 1.42 1.46 1.42 32 processes: Average 5.56 8.43 13.78 5.28 5.55 7.15 St dev 0.41 0.47 0.53 0.54 0.57 0.81 The numbers are the mean and standard deviation of 20 runs of lat_ctx. The "none" columns are lat_ctx run directly without any counters. The "2 HW" columns are with lat_ctx run under perfstat, counting cycles and instructions. The "4H+4S" columns are lat_ctx run under perfstat with 4 hardware counters and 4 software counters (cycles, instructions, cache references, cache misses, task clock, context switch, cpu migrations, and page faults). [ Impact: performance optimization of counter context-switches ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10666.517218.332164@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a63eaf34ae60bdb067a354cc8def2e8f4a01f5f4 Author: Paul Mackerras Date: Fri May 22 14:17:31 2009 +1000 perf_counter: Dynamically allocate tasks' perf_counter_context struct This replaces the struct perf_counter_context in the task_struct with a pointer to a dynamically allocated perf_counter_context struct. The main reason for doing is this is to allow us to transfer a perf_counter_context from one task to another when we do lazy PMU switching in a later patch. This has a few side-benefits: the task_struct becomes a little smaller, we save some memory because only tasks that have perf_counters attached get a perf_counter_context allocated for them, and we can remove the inclusion of in sched.h, meaning that we don't end up recompiling nearly everything whenever perf_counter.h changes. The perf_counter_context structures are reference-counted and freed when the last reference is dropped. A context can have references from its task and the counters on its task. Counters can outlive the task so it is possible that a context will be freed well after its task has exited. Contexts are allocated on fork if the parent had a context, or otherwise the first time that a per-task counter is created on a task. In the latter case, we set the context pointer in the task struct locklessly using an atomic compare-and-exchange operation in case we raced with some other task in creating a context for the subject task. This also removes the task pointer from the perf_counter struct. The task pointer was not used anywhere and would make it harder to move a context from one task to another. Anything that needed to know which task a counter was attached to was already using counter->ctx->task. The __perf_counter_init_context function moves up in perf_counter.c so that it can be called from find_get_context, and now initializes the refcount, but is otherwise unchanged. We were potentially calling list_del_counter twice: once from __perf_counter_exit_task when the task exits and once from __perf_counter_remove_from_context when the counter's fd gets closed. This adds a check in list_del_counter so it doesn't do anything if the counter has already been removed from the lists. Since perf_counter_task_sched_in doesn't do anything if the task doesn't have a context, and leaves cpuctx->task_ctx = NULL, this adds code to __perf_install_in_context to set cpuctx->task_ctx if necessary, i.e. in the case where the current task adds the first counter to itself and thus creates a context for itself. This also adds similar code to __perf_counter_enable to handle a similar situation which can arise when the counters have been disabled using prctl; that also leaves cpuctx->task_ctx = NULL. [ Impact: refactor counter context management to prepare for new feature ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10075.781053.231153@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 87ec21741138bb42e7f943bb142b1d8567c10925 Author: Steven Whitehouse Date: Fri May 22 10:54:50 2009 +0100 GFS2: Move gfs2_unlink_ok into ops_inode.c Another function which is only called from one ops_inode.c so we move it and make it static. Signed-off-by: Steven Whitehouse commit 536baf02f650f4547f105386878b4736fbc181e8 Author: Steven Whitehouse Date: Fri May 22 10:48:59 2009 +0100 GFS2: Move gfs2_readlinki into ops_inode.c Move gfs2_readlinki into ops_inode.c and make it static Signed-off-by: Steven Whitehouse commit 2286dbfad1fb622ee2691537e5caaedee4618860 Author: Steven Whitehouse Date: Fri May 22 10:45:09 2009 +0100 GFS2: Move gfs2_rmdiri into ops_inode.c Move gfs2_rmdiri() into ops_inode.c and make it static. Signed-off-by: Steven Whitehouse commit 9e6e0a128bca0a151d8d3fbd9459b22fc21cfebb Author: Steven Whitehouse Date: Fri May 22 10:36:01 2009 +0100 GFS2: Merge mount.c and ops_super.c into super.c mount.c only contained a single function, so is not really worth retaining on its own. All of the super related code is now either in super.c or ops_fstype.c Signed-off-by: Steven Whitehouse commit 7385ba44f8bcea15bf0d75ae2814f0cec63140b9 Author: Peter Ujfalusi Date: Fri May 22 10:13:16 2009 +0300 ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal With this patch the initial headset pop-removal related values are configured for the twl4030 codec (ramp delay and sysclk). Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 9da28c7b38170882b1c43d7d133ddce34e25f161 Author: Peter Ujfalusi Date: Fri May 22 10:13:15 2009 +0300 ASoC: TWL4030: Add support for platform dependent configuration twl4030_setup_data structure can be passed from platform drivers to the codec via the snd_soc_device->codec_data pointer. Currently the setup data has support for the Headset pop-removal related configuration, which differs from board to board. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5c82f56736e4c3a9eaf53c94366b056c8622d79e Author: Mark Brown Date: Fri May 22 09:41:30 2009 +0100 AsoC: Make snd_soc_read() and snd_soc_write() functions Should be no impact on the generated code but it helps the compiler print clearer messages. Signed-off-by: Mark Brown commit b1e71b0622974953e46a284aa986504a90869a9b Author: Steven Whitehouse Date: Fri May 22 10:01:55 2009 +0100 GFS2: Clean up some file names This patch renames the ops_*.c files which have no counterpart without the ops_ prefix in order to shorten the name and make it more readable. In addition, ops_address.h (which was very small) is moved into inode.h and inode.h is cleaned up by adding extern where required. Signed-off-by: Steven Whitehouse commit 2c9e703c618106f5383226fbb1f526cb11034f8a Merge: 6470c07 5805977 Author: James Morris Date: Fri May 22 18:40:59 2009 +1000 Merge branch 'master' into next Conflicts: fs/exec.c Removed IMA changes (the IMA checks are now performed via may_open()). Signed-off-by: James Morris commit 6746136520cd0827320a83e62d0a023a5a433650 Author: Ron Lee Date: Fri May 22 04:58:22 2009 +0930 slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE A generic page poisoning mechanism was added with commit: 6a11f75b6a17b5d9ac5025f8d048382fd1f47377 which destructively poisons full pages with a bitpattern. On arches where PAGE_POISONING is used, this conflicts with the slab redzone checking enabled by DEBUG_SLAB, scribbling bits all over its magic words and making it complain about that quite emphatically. On x86 (and I presume at present all the other arches which set ARCH_SUPPORTS_DEBUG_PAGEALLOC too), the kernel_map_pages() operation is non destructive so it can coexist with the other DEBUG_SLAB mechanisms just fine. This patch favours the expensive full page destruction test for cases where there is a collision and it is explicitly selected. Signed-off-by: Ron Lee Signed-off-by: Pekka Enberg commit b9ed7252d219c1c663944bf03846eabb515dbe75 Author: Roel Kluin Date: Fri May 22 09:25:32 2009 +0200 xen-blkfront: beyond ARRAY_SIZE of info->shadow Do not go beyond ARRAY_SIZE of info->shadow Signed-off-by: Roel Kluin Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit aaf22af46ff2b3f0a5c4fcaf1287ac6c28d4078e Author: Michal Simek Date: Thu May 21 17:27:58 2009 +0200 microblaze: Kbuild update Signed-off-by: Michal Simek commit 3699067381a2a518b32c44411a020b007d057417 Author: Herbert Xu Date: Fri May 22 00:45:28 2009 -0700 tcp: Unexport TCPv6 GRO functions Sinec the TCPv6 GRO functions are used in the same file where they are defined, we do not need to export them. This was a cut-n-paste from the IPv4 code which does need to export them. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5c651ffaee6f07aa1f5e6d0763845a2ee606b6bd Author: Hiroshi DOYU Date: Tue May 19 09:07:55 2009 +0300 omap iommu: add MPU_BRIDGE_IOMMU for tidspbridge migration Currently "tidspbridge" driver uses its own mmu implementation and will migrate to use this "omap iommu" eventually. This config is provided to make this migration happen smoothly. Signed-off-by: Hiroshi DOYU commit caf60779a6c5795340767ccf2f73ed7d5c7e0486 Author: Hiroshi DOYU Date: Wed Jan 28 21:32:09 2009 +0200 omap2 iommu: entries for Kconfig and Makefile Signed-off-by: Hiroshi DOYU commit e769421de22422461f0becae0ec6e792ec6f4476 Author: Hiroshi DOYU Date: Wed Jan 28 21:32:08 2009 +0200 omap iommu: entries for Kconfig and Makefile Signed-off-by: Hiroshi DOYU commit 7d18f114897ff4358419b14d551e704a4299a440 Author: David S. Miller Date: Thu May 21 23:30:09 2009 -0700 net: Fix arg to trace_napi_poll() in netpoll. Reproted by Stephen Rothwell. Signed-off-by: David S. Miller commit 8fc40238b4ebf07cd11ca9707843338be22af72f Author: Paul Mundt Date: Fri May 22 14:21:03 2009 +0900 sh: Prefer slab_is_available() over after_bootmem. This kills off after_bootmem and switches to using slab_is_available() instead. Presently the only place this is used is by the sh64 ioremap, and there's not much point in keeping the reference around otherwise. Signed-off-by: Paul Mundt commit 36aa1e32f451b664adaf3fc9a77d8279b7a833b2 Author: Paul Mundt Date: Fri May 22 14:00:34 2009 +0900 sh: clkfwk: Make clock-cpg usable for non-legacy platforms. This adds a new SH_CLK_CPG for parts that have CPG support. SH_CLK_CPG_LEGACY is made to depend on this, and still needs to be set for platforms that want clock-cpg to register the legacy clocks. With this new config item in place, it is now possible to start layering more generic CPG code in place while other platforms transition off of the legacy clocks. Signed-off-by: Paul Mundt commit 62fad39be0662a924b60e4354b802525ceda0bb1 Author: Paul Mundt Date: Fri May 22 13:50:18 2009 +0900 sh: Add a NR_IRQS_LEGACY for external IRQ0-7. This adds a NR_IRQS_LEGACY definition, which will be used by sparse irq. Signed-off-by: Paul Mundt commit 2f3ed17e010e8c0873094016f93c1afbb4adb666 Author: Paul Mundt Date: Fri May 22 13:47:52 2009 +0900 sh: Wrap irq_to_desc_alloc_cpu() around CONFIG_SPARSE_IRQ temporarily. irq_to_desc_alloc_cpu() has been renamed to irq_to_desc_alloc_node() in -next, but as we can not presently enable SPARSE_IRQ without the early irq_desc alloc patch, protect it with an ifdef until the interface has settled and we are ready to enable it system-wide. Signed-off-by: Paul Mundt commit 5f8371cec93b94a24a55ba1de642ce6eade6d62c Merge: 8e9bb19 d8586ba Author: Paul Mundt Date: Fri May 22 13:29:37 2009 +0900 Merge branches 'sh/stable-updates' and 'sh/sparseirq' commit 7fc1e5c15fde0fa9d2c08441f6898a9e51593d47 Author: Roel Kluin Date: Thu May 21 18:25:23 2009 +0000 sh: clkfwk: beyond ARRAY_SIZE of onchip_ops for sh7722. Do not go beyond ARRAY_SIZE of onchip_ops Signed-off-by: Roel Kluin Signed-off-by: Paul Mundt commit 6470c077cae12227318f40f3e6d756caadcce4b0 Author: Roel Kluin Date: Thu May 21 18:42:54 2009 +0200 smack: do not beyond ARRAY_SIZE of data Do not go beyond ARRAY_SIZE of data Signed-off-by: Roel Kluin Acked-by: Casey Schaufler Signed-off-by: James Morris commit e35ec126507529ce407136c6b9e36747d89891f9 Author: Alexander Duyck Date: Thu May 21 13:07:12 2009 +0000 ixgbe: only register DCA requester once The current driver tries to re-register the DCA requester after reset and this is not correct. This change makes it so all we are doing is resetting the DCA registers after reset and not re-adding the requester. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7e0e99ef43b1fab8caf0348e31704c7d15060ce0 Author: Alexander Duyck Date: Thu May 21 13:06:56 2009 +0000 igb: do not re-register DCA requester on device reset The current driver is re-registering the DCA requester after every reset. Instead of doing this we should only be updating the on board DCA registers and not unregistering/re-registering our requester. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0d63cbb535a9525445513389370d35b522a700f1 Author: Michał Mirosław Date: Thu May 21 10:34:06 2009 +0000 wireless: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 7ae740df3a9c68622156476dca29991de664fae4 Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 netlabel: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. This fixes genetlink family leak on error path. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 8f698d54532172de3591af1e9394dc669f29e6ca Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 ipvs: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit acb0a200ae48d95e3117608d0225a23e5efa283c Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 tipc: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. This also changes netlink related variable names to be kernel-wide unique for consistency with other users. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 502664eeaf880d364821521bbced7ae342f77f64 Author: Michał Mirosław Date: Thu May 21 10:34:04 2009 +0000 irda: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Cc: Samuel Ortiz Signed-off-by: David S. Miller commit a7b11d738282337488ae158c975d76271ad43a98 Author: Michał Mirosław Date: Thu May 21 10:34:04 2009 +0000 genetlink: Introduce genl_register_family_with_ops() This introduces genl_register_family_with_ops() that registers a genetlink family along with operations from a table. This is used to kill copy'n'paste occurrences in following patches. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 4ea7e38696c7e798c47ebbecadfd392f23f814f9 Author: Neil Horman Date: Thu May 21 07:36:08 2009 +0000 dropmon: add ability to detect when hardware dropsrxpackets Patch to add the ability to detect drops in hardware interfaces via dropwatch. Adds a tracepoint to net_rx_action to signal everytime a napi instance is polled. The dropmon code then periodically checks to see if the rx_frames counter has changed, and if so, adds a drop notification to the netlink protocol, using the reserved all-0's vector to indicate the drop location was in hardware, rather than somewhere in the code. Signed-off-by: Neil Horman include/linux/net_dropmon.h | 8 ++ include/trace/napi.h | 11 +++ net/core/dev.c | 5 + net/core/drop_monitor.c | 124 ++++++++++++++++++++++++++++++++++++++++++-- net/core/net-traces.c | 4 + net/core/netpoll.c | 2 6 files changed, 149 insertions(+), 5 deletions(-) Signed-off-by: David S. Miller commit c9d9ac525a0285a5b5ad9c3f9aa8b7c1753e6121 Author: Mimi Zohar Date: Tue May 19 13:25:58 2009 -0400 integrity: move ima_counts_get Based on discussion on lkml (Andrew Morton and Eric Paris), move ima_counts_get down a layer into shmem/hugetlb__file_setup(). Resolves drm shmem_file_setup() usage case as well. HD comment: I still think you're doing this at the wrong level, but recognize that you probably won't be persuaded until a few more users of alloc_file() emerge, all wanting your ima_counts_get(). Resolving GEM's shmem_file_setup() is an improvement, so I'll say Acked-by: Hugh Dickins Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit b9fc745db833bbf74b4988493b8cd902a84c9415 Author: Mimi Zohar Date: Tue May 19 13:25:57 2009 -0400 integrity: path_check update - Add support in ima_path_check() for integrity checking without incrementing the counts. (Required for nfsd.) - rename and export opencount_get to ima_counts_get - replace ima_shm_check calls with ima_counts_get - export ima_path_check Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 932995f0ce52525b32ff5127b522c2c164de3810 Author: Eric Paris Date: Thu May 21 15:43:32 2009 -0400 IMA: Add __init notation to ima functions A number of IMA functions only used during init are not marked with __init. Add those notations so they are freed automatically. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 5789ba3bd0a3cd20df5980ebf03358f2eb44fd67 Author: Eric Paris Date: Thu May 21 15:47:06 2009 -0400 IMA: Minimal IMA policy and boot param for TCB IMA policy The IMA TCB policy is dangerous. A normal use can use all of a system's memory (which cannot be freed) simply by building and running lots of executables. The TCB policy is also nearly useless because logging in as root often causes a policy violation when dealing with utmp, thus rendering the measurements meaningless. There is no good fix for this in the kernel. A full TCB policy would need to be loaded in userspace using LSM rule matching to get both a protected and useful system. But, if too little is measured before userspace can load a real policy one again ends up with a meaningless set of measurements. One option would be to put the policy load inside the initrd in order to get it early enough in the boot sequence to be useful, but this runs into trouble with the LSM. For IMA to measure the LSM policy and the LSM policy loading mechanism it needs rules to do so, but we already talked about problems with defaulting to such broad rules.... IMA also depends on the files being measured to be on an FS which implements and supports i_version. Since the only FS with this support (ext4) doesn't even use it by default it seems silly to have any IMA rules by default. This should reduce the performance overhead of IMA to near 0 while still letting users who choose to configure their machine as such to inclue the ima_tcb kernel paramenter and get measurements during boot before they can load a customized, reasonable policy in userspace. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit d95ed9275edcb8995bda31005bb3f55e087626d7 Author: Eric W. Biederman Date: Tue May 19 18:27:17 2009 +0000 af_packet: Teach to listen for multiple unicast addresses. The the PACKET_ADD_MEMBERSHIP and the PACKET_DROP_MEMBERSHIP setsockopt calls for af_packet already has all of the infrastructure needed to subscribe to multiple mac addresses. All that is missing is a flag to say that the address we want to listen on is a unicast address. So introduce PACKET_MR_UNICAST and wire it up to dev_unicast_add and dev_unicast_delete. Additionally I noticed that errors from dev_mc_add were not propagated from packet_dev_mc so fix that. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ca0f31125c5cf0d48f47c2e1a3785a08876a7e87 Author: Stephen Hemminger Date: Thu May 21 15:10:31 2009 -0700 netns: simplify net_ns_init The net_ns_init code can be simplified. No need to save error code if it is only going to panic if it is set 4 lines later. Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 1f7a2bb4eff75c56a71b3896c36a34e787c5e4e5 Author: Stephen Hemminger Date: Thu May 21 15:10:05 2009 -0700 netns: remove leftover debugging message Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 99ae99533a059750c4b0f76295625b8ac5ea751a Merge: bcb8a0d 7a05a2c Author: Ben Dooks Date: Thu May 21 22:10:21 2009 +0100 [ARM] S3C24XX: Merge devel-gpio Merge branch 'devel-gpio' into for-rmk-devel commit 30cff215b54b20d201a2bd7d50361c4c14700281 Author: Magnus Damm Date: Wed May 20 13:44:40 2009 +0000 sh: clkfwk branch compile fix for clock-sh7722 Fix clkfwk branch compile error in clock-sh7722.c. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d8586ba6e1415150e1bab89f0a05447bb6f2d6d5 Author: Paul Mundt Date: Fri May 22 01:36:13 2009 +0900 sh: irq: Provide an arch_probe_nr_irqs() that wraps the machvec def. This is just a simple arch_probe_nr_irqs() stub that wraps to the platform defined number of IRQs. This can be made gradually more intelligent based on what we can infer from the INTC tables and so on. Signed-off-by: Paul Mundt commit 05ff3004d278b54760abd71530506d803182c71d Author: Paul Mundt Date: Fri May 22 01:28:33 2009 +0900 sh: irq: Teach ipr and intc about dynamically allocating irq_descs. This hooks in irq_to_desc_alloc_cpu() to the necessary code paths in the intc and ipr controller registration paths. As these are the primary call paths for all SH CPUs, this alone will make all CPUs sparse IRQ ready. There is the added benefit now that each CPU contains specific IPR and INTC tables, so only the vectors with interrupt sources backing them will ever see an irq_desc instantiation. This effectively packs irq_desc down to match the CPU, rather than padding NR_IRQS out to cover the valid vector range. Boards with extra sources will still have to fiddle with the nr_irqs setting, but they can continue doing so through the machvec as before. Signed-off-by: Paul Mundt commit fa1d43ab451084785153d37ae559c4fdd1546a5b Author: Paul Mundt Date: Fri May 22 01:26:16 2009 +0900 sh: irq: Convert from irq_desc[] to irq_to_desc(). This converts a few places that were using the old irq_desc[] array over to the shiny new irq_to_desc() helper. Preperatory work for sparse irq support. Signed-off-by: Paul Mundt commit 55620c86ebc29013c0d26c5b3bc423faea299fee Author: Paul Mundt Date: Fri May 22 01:16:17 2009 +0900 sh: irq: Rework the SR.IMASK bitmap handling. This tidies up how the SR.IMASK bitmap is managed, using the bitmap API directly instead. At the same time, tidy up the irq_chip conversion a bit. Signed-off-by: Paul Mundt commit b9479e666563d5c28eb861d2a8f6334666025384 Author: Michal Simek Date: Thu May 21 16:33:07 2009 +0200 microblaze: Fix cast warning for __va in prom.c __va expect 32bit value but of_read_ulong(of_read_number) returns 64bit value Signed-off-by: Michal Simek commit e93b55bfb3ead1cb4d9df7a5e0686318cfa8690c Author: Michal Simek Date: Thu May 21 13:53:56 2009 +0200 Microblaze: Remove unused variable from paging init Signed-off-by: Michal Simek commit cda1fd5a60e97a1a1bf96606f201818b207b2c5c Author: Michal Simek Date: Tue May 19 14:33:47 2009 +0200 microblaze: Cleanup compiled-in rootfs in BSS section This patch is based on patch from Steve Magnani. There were bug for compiled-in rootfs. We have to move moving rootfs which is in BSS section to _ebss section which is at the end of kernel and then clear bss section not vice-versa. Signed-off-by: Michal Simek commit 1dff89a9c7fab71b43ba79cc1aa6c6dbad582a35 Author: Michal Simek Date: Thu May 21 08:20:30 2009 +0200 microblaze: Fix early cmdline for CMDLINE_FORCE This patch fixed parsing early parameters because current implementation does that early parse DTS command line and then parse CMDLINE line which is compiled-in. For case that DTS doesn't contain command line is copied command line from kernel with is done in prom.c that's why I can remove it from machine_early_init. Signed-off-by: Michal Simek commit 1ce97e564b628bee30b8dbb64e5e653a484308f6 Author: Steven Whitehouse Date: Thu May 21 15:18:19 2009 +0100 GFS2: Be more aggressive in reclaiming unlinked inodes This patch increases the frequency with which gfs2 looks for unlinked, but still allocated inodes. Its the equivalent operation to ext3's orphan list, but done with bitmaps in the resource groups. This also fixes a bug where a field in the rgrp was too small. Signed-off-by: Steven Whitehouse commit 6e3d4e1d16a19f8462beb5bfe5f2c464770e795e Author: Steve Magnani Date: Sun May 17 20:32:07 2009 -0500 microblaze: Guard __HAVE_ARCH macros with __KERNEL__ in string.h A polarity reversal in the __KERNEL__ guard prevents the __HAVE_ARCH flags from being defined in kernel compilation. I noticed that there's now an option for assembly-optimized versions of memcpy and memmove. I believe this may be buggy; when I turn it on, all my printk output gets smashed together, as if the newlines aren't getting copied. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit c3055d14565516867e7a45553b90cb88d6277ec9 Author: Thomas Chou Date: Tue May 19 22:48:10 2009 +0800 microblaze: clean LDFLAGS to build kernel Extra LDFLAGS from user space building may cause kernel failed to compile. Signed-off-by: Thomas Chou Signed-off-by: Michal Simek commit 5af90438023786e27178cc542f9a775594f8a126 Author: Steve Magnani Date: Mon May 18 03:22:40 2009 +0200 microblaze: Fix paging init-zone initialization This patch fix problem with bad zone initialization. This bug wasn't perform because Microblaze doesn't define CONFIG_ZONE_DMA and ZONE_NORMAL was 0 for this case that's why free_area_init works with correct values. Original message: I believe that the switch from ZONE_DMA (== 0) to ZONE_NORMAL broke the free area initialization. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit f2224ff07f345f3f9716071cc90ee50e29af7497 Author: Arnd Bergmann Date: Mon Apr 27 17:38:25 2009 +0200 microblaze: use generic dma-mapping-broken.h Microblaze does not support the Linux DMA mapping API at this point, so disable CONFIG_NO_DMA. This lets us use the generic dma-mapping-broken.h implementation instead of providing a different copy. Any drivers that try to use DMA mapping now get omitted from Kconfig or produce a link error, rather than failing silently at run time. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit a6029d1c8cfc9ac2609195f31c2e70b584d3496e Author: Michal Simek Date: Tue May 12 12:10:52 2009 +0200 microblaze: prepare signal handling for generic unistd.h We need to define set_restore_sigmask() in order to get pselect and ppoll. Also, the setup_frame function can not be used when __NR_sigreturn is not defined. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 732703af9c3478c3f935dd5ae80140b9b12bda09 Author: Arnd Bergmann Date: Tue Mar 31 15:30:31 2009 +0200 microblaze: clean up checksum.c This changes the function prototypes in the checksum code to have the usual prototypes, typically by turning int arguments into __wsum. Also change csum_partial_copy_from_user() to operate on the right address space and export ip_fast_csum, which is used in modular networking code. The new version is now sparse-clean including endianess checks. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 838d2406ee62595c1b40d1d03b48bc9a2102258b Author: Arnd Bergmann Date: Fri May 1 13:36:13 2009 +0000 microblaze: remove bad_user_access_length This function was actually causing harm, by hiding errors about invalid sized get_user/put_user accesses. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit bb09791344d02c8caff596dc084b1542dcb70efe Author: Arnd Bergmann Date: Thu Apr 30 22:38:58 2009 +0000 microblaze: do not include types.h in ptrace.h linux/types.h breaks the uclibc build, so don't include it here. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 0c60155e14eb00fa13836a710a2d2efb63d8861c Author: Arnd Bergmann Date: Fri May 1 21:44:51 2009 +0000 microblaze: add a dummy pgprot_noncached Some device drivers call this, so add a macro that pretends to do this. Since there is no MMU support, it won't actually result in an uncached mapping, though. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 6b4374261a067e2e1b78602eb5e631a4e027dacf Author: Arnd Bergmann Date: Fri May 1 21:36:44 2009 +0000 microblaze: add security initcalls The security subsystem has its own initcalls, which need support in vmlinux.lds.S. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 122eec2f023f25fdd491ee9eb8eface4ded70728 Author: Arnd Bergmann Date: Sun May 10 14:32:11 2009 +0000 microblaze: remove cacheable_memcpy This function is neither declared nor used anywhere outside of ppc32, so remove it from microblaze. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 70f4cc29350222ff6baf70265f6482fc01565d48 Author: Arnd Bergmann Date: Sun May 10 14:26:52 2009 +0000 microblaze: kill incorrect __bad_xchg definition The whole point of the __bad_xchg declaration in system.h is to give a linker error when a variable of invalid size is passed to __xchg. The out of line definition in traps.c defeats this purpose and does not any value, so remove it here. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 353b431bafc42ed8782c7aec7fb819ca4e385ab1 Author: Arnd Bergmann Date: Fri May 1 13:37:46 2009 +0000 microblaze: fix __user annotations The microblaze signal handling code gets some __user pointers wrong, as shown by sparse. This adds the annotations where appropriate and change sys_rt_sigreturn to correctly pass a user stack down to do_sigaltstack instead of a kernel structure. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 5af7fa68103e7b2efb0fd9d901b1c25bad96fd21 Author: Arnd Bergmann Date: Fri May 1 21:48:15 2009 +0000 microblaze: export some symbols Some device drivers require the symbols _ebss, kernel_thread, __page_offset or ___range_ok, so export them. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 6fa612b56c575a5235568593eab4240c90608630 Author: Michal Simek Date: Mon May 11 15:49:12 2009 +0200 microblaze: Kconfig: Enable drivers for Microblaze Signed-off-by: Michal Simek commit 873a2e89c5e32a5c72a9ece76fcb871358ae22d2 Author: Michal Simek Date: Mon May 11 15:37:26 2009 +0200 microblaze: Remove POWERPC reference from Microblaze gpio.h Signed-off-by: Michal Simek commit 60a0b8f93664621a07b93273fc8ebc29590c62f5 Author: Steven Whitehouse Date: Thu May 21 12:23:12 2009 +0100 GFS2: Add a rgrp bitmap full flag During block allocation, it is useful to know if sections of disk are full on a finer grained basis than a single resource group. This can make a performance difference when resource groups have larger numbers of bitmap blocks, since we no longer have to search them all block by block in each individual bitmap. The full flag is set on a per-bitmap basis when it has been searched and found to have no free space. It is then skipped in subsequent searches until the flag is reset. The resetting occurs if we have to drop the glock on the resource group for any reason, or if we deallocate some blocks within that resource group and thus free up some space. Signed-off-by: Steven Whitehouse commit d7b41b1fdf162d3e26cb73bf2cf14816918e371e Author: Kumar Gala Date: Mon May 18 02:56:27 2009 +0000 powerpc/pci: clean up direct access to sysdata by iseries platform We shouldn't directly access sysdata to get the device node. We should be calling pci_device_to_OF_node(). Signed-off-by: Kumar Gala Tested-by: Stephen Rothwell Acked-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 80947e7c99c29ce3a78bdc1933b310468455a82f Author: Geert Uytterhoeven Date: Mon May 18 02:10:05 2009 +0000 powerpc: Keep track of emulated instructions If CONFIG_PPC_EMULATED_STATS is enabled, make available counters for the various classes of emulated instructions under /sys/kernel/debug/powerpc/emulated_instructions/ (assumed debugfs is mounted on /sys/kernel/debug). Optionally (controlled by /sys/kernel/debug/powerpc/emulated_instructions/do_warn), rate-limited warnings can be printed to the console when instructions are emulated. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit f312deb4cd0c88196edf6dab192b7d42514398d6 Author: Vinay Sridhar Date: Thu May 14 23:13:07 2009 +0000 powerpc/xmon: Add dl command to dump contents of __log_buf Hello All, Quite a while back Michael Ellerman had posted a patch to add support to xmon to print the contents of the console log pointed to by __log_buf. Here's the link to that patch - http://ozlabs.org/pipermail/linuxppc64-dev/2005-March/003657.html I've ported the patch in the above link to 2.6.30-rc5 and have tested it. Thanks & regards, Vinay Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 2138422bbab91c3e924c9836e394f4925b456b79 Author: Becky Bruce Date: Thu May 14 12:42:27 2009 +0000 powerpc: Use sg->dma_length in sg_dma_len() macro on 32-bit Currently, the 32-bit code uses sg->length instead of sg->dma_lentgh to report sg_dma_len. However, since the default dma code for 32-bit (the dma_direct case) sets dma_length and length to the same thing, we should be able to use dma_length there as well. This gets rid of some 32-vs-64-bit ifdefs, and is needed by the swiotlb code which actually distinguishes between dma_length and length. Signed-off-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 45db9240890d9343c934db1fe82d6e68ac2d28da Author: Jan Blunck Date: Wed May 13 05:58:56 2009 +0000 powerpc/spufs: Remove double check for non-negative dentry This patch removes an unnecessary double check if the dentry returned by lookup_create() is actually non-negative. Since lookup_create() itself returns an error in this case just remove the check. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 8d165db10772f238103c3e8f955c54145e5c07f3 Author: Anton Blanchard Date: Sun May 10 13:37:36 2009 +0000 powerpc: Improve decrementer accuracy I have been looking at sources of OS jitter and notice that after a long NO_HZ idle period we wakeup too early: relative time (us) event timer irq exit 999946.405 timer irq entry 4.835 timer irq exit 21.685 timer irq entry 3.540 timer (tick_sched_timer) entry Here we slept for just under a second then took a timer interrupt that did nothing. 21.685 us later we wake up again and do the work. We set a rather low shift value of 16 for the decrementer clockevent, which I think is causing this issue. On this box we have a 207MHz decrementer and see: clockevent: decrementer mult[3501] shift[16] cpu[0] For calculations of large intervals this mult/shift combination could be off by a significant amount. I notice the sparc code has a loop that iterates to find a mult/shift combination that maximises the shift value while keeping mult under 32bit. With the patch below we get: clockevent: decrementer mult[35015c20] shift[32] cpu[15] And we no longer see the spurious wakeups. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 9aa4e7b1699d0fa197778da96de7e03fa2374f0a Author: Kumar Gala Date: Tue May 5 02:20:09 2009 +0000 powerpc/pci: Remove redundant pcnet32 fixup The pcnet32 driver has had in its device id table for some time a match against the "broken" vendor ID. No need to fake out the vendor ID with an explicit fixup. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit cf6692c07ab4cba8a28780b67706ac804319086b Author: Kumar Gala Date: Tue May 5 02:20:08 2009 +0000 powerpc/pci: Cleanup some minor cruft * Removed building setup-irq on ppc32, we don't use it anymore * Remove duplicate prototype for setup_grackle() code that needs it gets it from * Removed gratuitous pci_io_size type differences between ppc32/ppc64 Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2eb4afb69ff3cdd357d5e68ed82cd131916bd8a7 Author: Kumar Gala Date: Thu Apr 30 09:26:21 2009 +0000 powerpc/pci: Move pseries code into pseries platform specific area There doesn't appear to be any specific reason that we need to setup the pseries specific notifier in generic arch pci code. Move it into pseries land. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 58513dc40d8e01f0c0ccea4cdcbc32e9dcee62fd Author: Kumar Gala Date: Thu Apr 30 03:10:15 2009 +0000 powerpc/pci: Clean up direct access to sysdata by celleb platforms We shouldn't directly access sysdata to get the device node to just go get the pci_controller. We can call pci_bus_to_host() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2f52297665d2ebfaa24406003cf9e5a7b635f47d Author: Kumar Gala Date: Thu Apr 30 03:10:14 2009 +0000 powerpc/pci: Clean up direct access to sysdata by RTAS We shouldn't directly access sysdata to get the device node but call pci_bus_to_OF_node() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 95272262aa43a85ad134c2ceeacb28e8b755ede1 Author: Kumar Gala Date: Thu Apr 30 03:10:13 2009 +0000 powerpc/pci: Clean up direct access to sysdata by powermac platforms We shouldn't directly access sysdata to get the device node but call pci_bus_to_OF_node() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit bccd6f73f0a81b91655ab63d09bd60f7fbb3231b Author: Kumar Gala Date: Thu Apr 30 03:10:12 2009 +0000 powerpc/pci: Clean up direct access to sysdata on tsi108 platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8456993ead5e64f5b755df6ac298757af4ceec59 Author: Kumar Gala Date: Thu Apr 30 03:10:11 2009 +0000 powerpc/pci: Clean up direct access to sysdata by CHRP platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f159edaef31da2ba01511d1f7b2fe22bb048290f Author: Kumar Gala Date: Thu Apr 30 03:10:10 2009 +0000 powerpc/pci: Clean up direct access to sysdata by 4xx platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 5b21fb8e769d2cd798ba2ffb051cd576390a568f Author: Kumar Gala Date: Thu Apr 30 03:10:09 2009 +0000 powerpc/pci: Clean up direct access to sysdata by 52xx platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8206a110cbaa029570d037c0aeafeb181443b6b8 Author: Kumar Gala Date: Thu Apr 30 03:10:08 2009 +0000 powerpc/pci: Clean up direct access to sysdata by FSL platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 19afa40797a3b392b64bf0b30b46e62001eeb66f Author: Kumar Gala Date: Thu Apr 30 03:10:07 2009 +0000 powerpc/pci: Clean up direct access to sysdata by indirect ops We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 60dbf4385130136847ea73657da329f8e7dbe16e Author: Milton Miller Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Add 2.06 tlbie mnemonics This adds the PowerPC 2.06 tlbie mnemonics and keeps backwards compatibilty for CPUs before 2.06. Only useful for bare metal systems. Signed-off-by: Milton Miller Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit af20aeb1a3292ae7ecfc492a4dc059e35465e016 Author: Milton Miller Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Enable MMU feature sections for inline asm powerpc: Enable MMU feature sections for inline asm This adds the ability to do MMU feature sections for inline asm. Signed-off-by: Milton Miller Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit dfb432cb960bfcbdf668d0a228bc909897156b31 Author: Michael Neuling Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Move VSX load/stores into ppc-opcode.h Cleans up the VSX load/store instructions by moving them into ppc-opcode.h. Signed-off-by: Michael Neuling Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit da6b43c833f885d8604aee7f9711bb457a40d863 Author: Michael Neuling Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Cleanup macros in ppc-opcode.h Make macros more braces happy. Signed-off-by: Michael Neuling Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit d89ebca2248ab03a5928e7dd30b6c304283fc207 Author: Kumar Gala Date: Tue Apr 28 03:32:36 2009 +0000 powerpc: Fix up elf_read_implies_exec() usage We believe if a toolchain supports PT_GNU_STACK that it sets the proper PHDR permissions. Therefor elf_read_implies_exec() should only be true if we don't see PT_GNU_STACK set. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8e27f4dab386c3898566cb7c4fa674c9eda4c79f Author: Michael Ellerman Date: Wed Apr 22 15:31:45 2009 +0000 powerpc/irq: We don't need __do_IRQ() anymore So select GENERIC_HARDIRQS_NO__DO_IRQ to disable it. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f11f76d4b8ebe74100712a0f42f8c5a969aa149b Author: Michael Ellerman Date: Wed Apr 22 15:31:44 2009 +0000 powerpc/powermac: Use generic_handle_irq() in gatwick_action() Don't call __do_IRQ() directly in gatwick_action(), use generic_handle_irq(). Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 835363e67dc27ad0809de05b2b5a8b725c95d77f Author: Michael Ellerman Date: Wed Apr 22 15:31:43 2009 +0000 powerpc/irq: Remove fallback to __do_IRQ() We should no longer have any irq code that needs __do_IRQ(), so remove the fallback to __do_IRQ(). Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 9b647a30cbc228259555d6b0b6bc7d9ec798f907 Author: Michael Ellerman Date: Wed Apr 22 15:31:38 2009 +0000 powerpc/irq: Move get_irq() comment into header The guts of do_IRQ() isn't really the right place to be documenting the ppc_md.get_irq() interface. So move the comment into machdep.h Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d7cb10d6d23f451eec3d1f0f4e4e8862333fa152 Author: Michael Ellerman Date: Wed Apr 22 15:31:37 2009 +0000 powerpc/irq: Move stack overflow check into a separate function Makes do_IRQ() shorter and clearer. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f2694ba56808a3a0fa45d9bb45289575f31e48d2 Author: Michael Ellerman Date: Tue Apr 28 01:57:43 2009 +0000 powerpc/irq: Move #ifdef'ed body of do_IRQ() into a separate function Rather than a giant ifdef in the body of do_IRQ(), including a dangling else, move the irq stack logic into a separate routine and do the ifdef there. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit fb94fc2b89ea0422950cb1220f275622246bd66d Author: Geoff Levand Date: Thu Apr 16 09:05:39 2009 +0000 powerpc/ps3: Use smp_request_message_ipi ps3 has 4 ipis per cpu and can use the new smp_request_message_ipi to reduce path length when receiving an ipi. This has the side effect of setting IRQF_PERCPU. Signed-off-by: Milton Miller Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 14f966e79445015cd89d0fa0ceb6b33702e951b6 Author: Robert Jennings Date: Wed Apr 15 05:55:32 2009 +0000 powerpc/pseries: CMO unused page hinting Adds support for the "unused" page hint which can be used in shared memory partitions to flag pages not in use, which will then be stolen before active pages by the hypervisor when memory needs to be moved to LPARs in need of additional memory. Failure to mark pages as 'unused' makes the LPAR slower to give up unused memory to other partitions. This adds the kernel parameter 'cmo_free_hint' to disable this functionality. Signed-off-by: Brian King Signed-off-by: Robert Jennings Signed-off-by: Benjamin Herrenschmidt commit d69a78d7daada190b42269a73daabe32a5e138a6 Author: Tony Breeds Date: Tue Apr 7 18:26:54 2009 +0000 powerpc/mpic: Cleanup mpic_find() implementation mpic_find() was overloaded to do two things, finding the mpic instance for a given interrupt and returning if it's an IPI. Instead we introduce mpic_is_ipi() and simplify mpic_find() to just return the mpic instance Also silences the warning: arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_set_priority': arch/powerpc/sysdev/mpic.c:1382: warning: 'is_ipi' may be used uninitialized in this function Signed-off-by: Tony Breeds Acked-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 805e324b7fbddf9f420f0ea09eb61c21777b0526 Author: Sean MacLennan Date: Mon Apr 6 11:58:25 2009 +0000 powerpc: Update Warp to use leds-gpio driver Now that leds-gpio is a proper OF platform driver, the Warp can use the leds-gpio driver rather than the old out-of-kernel driver. One side-effect is the leds-gpio driver always turns the leds off while the old driver left them alone. So we have to set them back to the correct settings. Signed-off-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit 703cebabd173a7fe533d6f21df0347b1f2a9a1e1 Author: Divy Le Ray Date: Wed May 20 15:56:12 2009 +0000 cxgb: set phy's mdio dev before the phy init sequence mdio's dev field needs to be set before mdio ops occur. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 86c890ab1b183f8f17ce03c24b62c564e95f957f Author: Divy Le Ray Date: Wed May 20 15:56:02 2009 +0000 cxgb3: set phy's mdio dev before the phy init sequence mdio's dev field needs to be set before mdio ops occur. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 64318334bf5096a65c7141bea4833910d112d939 Author: Ben Hutchings Date: Tue May 19 13:22:30 2009 +0000 cxgb3: Use generic XENPAK LASI register definitions Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit aa22437e87469fdee94b5344780b4a3dbb87a154 Author: Ben Hutchings Date: Tue May 19 13:21:07 2009 +0000 chelsio: Use generic XENPAK LASI register definitions Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 9f29f6de56462a363d3cc1d5f000961d622c5888 Author: Klaus-Dieter Wacket Date: Tue May 19 21:38:41 2009 +0000 qeth: Clear SBALF15 in any case for output buffers. Function qeth_clear_output_buffer for HiperSockets may not clear all 16 SBALEs, but only the used ones. The error flag in SBALF15 has to be cleared in any case. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit b91398008cae916c528d907f5d7a9ed54f35b4e9 Author: Ursula Braun Date: Tue May 19 21:38:40 2009 +0000 qeth: omit upstream checksumming for HiperSockets For HiperSocket devices receive-path checksumming is not required. Thus NO_CHECKSUMMING is used as default for HiperSocket interfaces. For layer3 devices configured with NO_CHECKSUMMING received skbs should have set their ip_summed field to CHECKSUM_UNNECESSARY. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 0666eb06ab12b1f876719ff5b7d39cf3c609dec3 Author: Ursula Braun Date: Tue May 19 21:38:39 2009 +0000 qeth: support z/VM VSWITCH Port Isolation z/VM Virtual Switch Port Isolation allows guests on a VLAN UNAWARE virtual switch to be isolated from other guests on the VSWITCH. (See z/VM Apars VM64281 and VM64463). The Linux qeth driver is affected, because it has to handle new error codes introduced with the z/VM VSWITCH Port Isolation support. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 8ac6d452281b01b9c7ff382d640b547379e398cd Author: Ursula Braun Date: Tue May 19 21:38:38 2009 +0000 ctcm: avoid crash in ctcm_remove_device Channels are already removed when setting a ctcm-device offline. Thus ctcm_remove_device must not refer to channel information. Solution: delete channel information from the trace call in ctcm_remove_device. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f214856540f6d704e817bf6b26a6bca9e697ee72 Author: Ursula Braun Date: Tue May 19 21:38:37 2009 +0000 qeth: avoid crash after detach of replugged device If a qeth device is plugged off, setting the device online stops in state HARDSETUP and a failure is reported to the base cio-layer causing halt/clear to be invoked. Replugging the device again triggers a qeth recovery without notification of the cio-layer. If a device is ungrouped in this state, the qeth set_offline function is not invoked, because the corresponding ccwgroup device is not in state ONLINE. Then incoming traffic is still handled by the qdio layer resulting in a crash in qeth_l_qdio_input_handler, because (part of) the qeth data structures for this device are already removed. Solution: After replugging the device qeth recovery should lead to a working net device. Thus a "LAN offline" result when setting a qeth device online must not report a failure to the base cio-layer. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 04af8cf6f320031090ab6fa4600b912b0c18fb4b Author: Rami Rosen Date: Wed May 20 17:26:23 2009 -0700 net: Remove unused parameter from fill method in fib_rules_ops. The netlink message header (struct nlmsghdr) is an unused parameter in fill method of fib_rules_ops struct. This patch removes this parameter from this method and fixes the places where this method is called. (include/net/fib_rules.h) Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 288ddad5b095ff65812cf1060c67d23c07568871 Author: Eric W. Biederman Date: Wed May 20 15:52:40 2009 -0700 syscall: Sort out syscall_restart name clash. Stephen Rothwell writes: > Today's linux-next build of at least some av32 and arm configs failed like this: > > arch/avr32/kernel/signal.c:216: error: conflicting types for 'restart_syscall' > include/linux/sched.h:2184: error: previous definition of 'restart_syscall' was here > > Caused by commit 690cc3ffe33ac4a2857583c22d4c6244ae11684d ("syscall: > Implement a convinience function restart_syscall") from the net tree. Grrr. Some days it feels like all of the good names are already taken. Let's just rename the two static users in arm and avr32 to get this sorted out. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b0d428adebe9f1232c72bf4c686a6f0eed047cc2 Author: Randy Dunlap Date: Mon Apr 27 21:49:31 2009 -0700 [SCSI] fcoe, libfc: fix function declarations to be ANSI-compliant Fix function declarations: drivers/scsi/fcoe/fcoe.c:1356:28: warning: non-ANSI function declaration of function 'fcoe_dev_setup' drivers/scsi/libfc/fc_rport.c:1293:20: warning: non-ANSI function declaration of function 'fc_setup_rport' drivers/scsi/libfc/fc_rport.c:1302:23: warning: non-ANSI function declaration of function 'fc_destroy_rport' [jejb: fixed wrong doc in comment noticed during inspection] Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 73da9c13d4df3c1715029aa45edc78d71b617dfd Author: FUJITA Tomonori Date: Wed Apr 22 17:42:25 2009 -0700 [SCSI] scsi_debug: fix virtual disk larger than 1TB Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f381642d8f8963e62f5d45774505fd936f2b6072 Author: Kleber S. Souza Date: Wed Apr 22 10:50:28 2009 -0300 [SCSI] ipr: ipr_remove() marked __devexit Marking the ipr clean up function ipr_remove() as __devexit and using __devexit_p() macro in its address reference. Signed-off-by: Kleber Sacilotto de Souza Reported-by: Breno Leitao Acked-by: Brian King Signed-off-by: James Bottomley commit 8f03226358972f93cd45be0a710927cbb7fd5127 Author: Chauhan, Vijay Date: Mon Apr 20 18:14:23 2009 +0530 [SCSI] scsi_dh_rdac: Retry for NOT_READY(02/04/01) in rdac device handler During device discovery read capacity fails with 0x020401 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 0x020401. NEED_RETRY in scsi_decide_disposition does not give sufficient time for the device to become ready. Signed-off-by: Vijay Chauhan Signed-off-by: James Bottomley commit fa8584566cc9cdaf067dbc12132792887a521da9 Author: Aaro Koskinen Date: Tue Apr 14 15:47:00 2009 -0500 [SCSI] sym53c8xx_2: slave_alloc/destroy safety (2.6.27.5) Make the sym53c8xx_2 driver slave_alloc/destroy less unsafe. References to the destroyed LCB are cleared from the target structure (instead of leaving a dangling pointer), and when the last LCB for the target is destroyed the reference to the upper layer target data is cleared. The host lock is used to prevent a race with the interrupt handler. Also user commands are prevented for targets with all LCBs destroyed. Signed-off-by: Aaro Koskinen Tested-by: Tony Battersby Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 410604d25faddb1b4f0f9667b7452c06cc06cea1 Author: Aaro Koskinen Date: Tue Apr 14 15:46:59 2009 -0500 [SCSI] sym53c8xx_2: lun to_clear flag not re-initialized (2.6.27.5) (Resent with proper formatting) Fix for the sym53c8xx_2 driver to initialize lun's to_clear flag after a bus reset (a failed clear can trigger a bus reset and it should not be attemped again after that). Signed-off-by: Aaro Koskinen Tested-by: Tony Battersby Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 413e6e18b483de272bdafa56e5c086c75f11d681 Author: Michael Reed Date: Wed Apr 8 14:34:33 2009 -0500 [SCSI] qla1280: error recovery rewrite The driver now waits for the scsi commands associated with a particular error recovery step to be returned to the mid-layer, and returns the appropriate SUCCESS or FAILED status. Removes unneeded polling of chip for interrupts. This patch also bumps the driver version number. Signed-off-by: Michael Reed Signed-off-by: James Bottomley commit fd65e5e93cbd9d2f34bbb0f0b2f46a30a1d20915 Author: Michael Reed Date: Wed Apr 8 14:33:48 2009 -0500 [SCSI] qla1280: driver clean up Remove some unneeded, inactive and unused code, make some trivial corrections to comments and a printk, and return a proper status in qla1280_queuecommand. No fundamental logic changes are made. Signed-off-by: Michael Reed Signed-off-by: James Bottomley commit 14faf12f7df8404c3e8e54baad8d178c327a2f87 Author: Alan Stern Date: Thu Mar 12 11:08:51 2009 -0400 [SCSI] Increase default timeout for INQUIRY This patch (as1224) changes the default timeout for INQUIRY commands from 3 seconds to 20 seconds, which is the value used by Windows for USB Mass-Storage devices. Some of these devices, like the Corsair Flash Voyager (see Bugzilla #12188) really do need a long timeout. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 20b09c2992fefbe78f8cede7b404fb143a413c52 Author: Andy Yan Date: Fri May 8 17:46:40 2009 -0400 [SCSI] mvsas: add support for 94xx; layout change; bug fixes This version contains following main changes - Switch to new layout to support more types of ASIC. - SSP TMF supported and related Error Handing enhanced. - Support flash feature with delay 2*HZ when PHY changed. - Support Marvell 94xx series ASIC for 6G SAS/SATA, which has 2 88SE64xx chips but any different register description. - Support SPI flash for HBA-related configuration info. - Other patch enhanced from kernel side such as increasing PHY type [jejb: fold back in DMA_BIT_MASK changes] Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit dd4969a892ea522ecf9d7d826ba1531ce044d46f Author: Jeff Garzik Date: Fri May 8 17:44:01 2009 -0400 [SCSI] mvsas: split driver into multiple files Split mvsas driver into multiple source codes, based on the split and function distribution found in Marvell's mvsas update. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 2ad52f473bbc1aa5b33c4a329b8a359f125e19d1 Author: Jeff Garzik Date: Fri May 8 16:35:37 2009 -0400 [SCSI] mvsas: move into new directory drivers/scsi/mvsas/ Zero functional changes, just file movement. This commit prepares for the upcoming integration of the Marvell-provided driver update that splits the driver into support for both 64xx and 94xx chip families. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit a03706017e443ced6e354d434142989c9e8653d7 Author: Andrew Vasquez Date: Mon Apr 6 22:33:51 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e5b68a61e15ca8e200c60cfd4dbe1818e6beb4e1 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:50 2009 -0700 [SCSI] qla2xxx: Use port number to compute nvram/vpd parameter offsets. Read adapter's physical port number from interrupt pin register and use it instead of pci function number to offset into the nvram to obtain the port's configuration parameters. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e337d9070e5821e7c8e5973679bdd34376263bd1 Author: Andrew Vasquez Date: Mon Apr 6 22:33:49 2009 -0700 [SCSI] qla2xxx: Add an override option to specify ISP firmware load semantics. As it may be useful during debugging to use a specific firmware image. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b469a7cbe9bf68939c90f4ac6bc2bb99e47d7229 Author: Andrew Vasquez Date: Mon Apr 6 22:33:48 2009 -0700 [SCSI] qla2xxx: Don't try to 'stop' firmware if already in ROM code. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a13d8ac057705c479b8bf15e5303f18f899502f9 Author: Michael Reed Date: Mon Apr 6 22:33:47 2009 -0700 [SCSI] qla2xxx: Conditionally disable automatic queue full tracking. Changing a lun's queue depth (/sys/block/sdX/device/queue_depth) isn't sticky when the device is connected via a QLogic fibre channel adapter. The QLogic qla2xxx fibre channel driver dynamically adjusts a lun's queue depth. If a user has a specific need to limit the number of commands issued to a lun (say a tape drive, or a shared raid where the total commands issued to all luns is limited at the controller level, for example) and writes a limiting value to /sys/block/sdXX/device/queue_depth, the qla2xxx driver will silently and gradually increase the queue depth back to the driver limit of ql2xmaxqdepth. While reducing this value (module parameter) or increasing the interval between ramp ups (ql2xqfullrampup) offers the potential for a work around it would be better to have the option of just disabling the dynamic adjustment of queue depth. This patch implements an "off switch" as a module parameter. Signed-off-by: Michael Reed Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e1f916035f149540e5090207ceafca9ba779084e Author: Joe Carnuccio Date: Mon Apr 6 22:33:46 2009 -0700 [SCSI] qla2xxx: Perform an implicit login to the Management Server. Set the conditional plogi option bit whenever logging in the fabric management server (if it is already logged in, it does not need an explicit login; an implicit login suffices). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7d0dba174af217c73931532adf6bffb91d16c40f Author: Andrew Vasquez Date: Mon Apr 6 22:33:45 2009 -0700 [SCSI] qla2xxx: Restrict model-name/description device-table usage. Information present in static table is only valid for pre-ISP25xx adapters. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fc3ea9bcb86a1c5126807f747291563e08405944 Author: Harish Zunjarrao Date: Mon Apr 6 22:33:44 2009 -0700 [SCSI] qla2xxx: Correct hard-coded address of a second-port's NVRAM. Signed-off-by: Harish Zunjarrao Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8f979751367b9975fe606bce6a64b9d871dcfcfa Author: Andrew Vasquez Date: Mon Apr 6 22:33:43 2009 -0700 [SCSI] qla2xxx: Correct typo in read_nvram() callback. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 67c2e93ae7465a3e279503ceddd7bd153d74bcf8 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:42 2009 -0700 [SCSI] qla2xxx: Remove reference to request queue from scsi request block. srbs used to maintain a reference to the request queue on which it was enqueued. This is no longer required as the request queue pointer is now maintained in the scsi host that issues the srb. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 68ca949cdb04b4dc71451a999148fbc5f187a220 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:41 2009 -0700 [SCSI] qla2xxx: Add CPU affinity support. Set the module parameter ql2xmultique_tag to 1 to enable this feature. In this mode, the total number of response queues created is equal to the number of online cpus. Turning the block layer's rq_affinity mode on enables requests to be routed to the proper cpu and at the same time it enables completion of the IO in a response queue that is affined to the cpu in the request path. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2afa19a9377ca61b9489e44bf50029574fbe63be Author: Anirban Chakraborty Date: Mon Apr 6 22:33:40 2009 -0700 [SCSI] qla2xxx: Add QoS support. Set the number of request queues to the module paramater ql2xmaxqueues. Each vport gets a request queue. The QoS value set to the request queues determines priority control for queued IOs. If QoS value is not specified, the vports use the default queue 0. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7640335ea5b1a2da0d64303e6003012c619ae01a Author: Andrew Vasquez Date: Mon Apr 6 22:33:39 2009 -0700 [SCSI] qla2xxx: Correct compilation failures when DEBUG'n' options are enabled. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bad7001c200458c24864df6f2b1b66548bca7c75 Author: Andrew Vasquez Date: Mon Apr 6 22:33:38 2009 -0700 [SCSI] qla2xxx: Export additional FCoE attributes for application support. Cull and export VN_Port MAC address and VLAN_ID information on supported FCoE ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d53b48d512ef477c939aba09c7e258b8dc331b6a Author: Seokmann Ju Date: Mon Apr 6 22:33:37 2009 -0700 [SCSI] qla2xxx: Correct bus-reset behaviour with recent ISPs. The short-circuit to skip the non-applicable 'full-login-lip' process on 81xx ISPs was nested too deeply in the 'bus-reset' routine, as the code in qla2x00_loop_reset() should skip the whole enable_lip_full_login process. The original code could cause device tear-down due to the qla2x00_wait_for_loop_ready() call taking a large amount of time. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 45d7c46d54dae008f66db58e6bd31d9b31833043 Merge: 279e677 2b69a8a Author: James Bottomley Date: Wed May 20 17:20:44 2009 -0500 Merge branch 'scsi-fixes' into merge-base commit 9cef873798dfcdc10ff40b02abf1de935ceeba85 Author: Johannes Berg Date: Thu May 14 13:10:14 2009 +0200 mac80211: fix managed mode BSSID handling Currently, we will ask the driver to configure right away when somebody changes the desired BSSID. That's totally strange because then we will configure the driver without even knowing whether the BSS exists. Change this to only configure the BSSID when associated, and configure a zero BSSID when not associated. As a side effect, this fixes an issue with the iwlwifi driver which doesn't implement sta_notify properly and uses the BSSID instead and gets very confused if the BSSID is cleared before we disassociate, which results in the warning Marcel posted [1] and iwlwifi bug 1995 [2]. [1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/32598 [2] http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1995 Cc: Marcel Holtmann Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bbcf3f02771e069d0e113fe9bb62c27b671abf97 Author: Luis R. Rodriguez Date: Tue May 19 17:49:47 2009 -0400 cfg80211: warn when wiphy_apply_custom_regulatory() does nothing Device drivers using wiphy_apply_custom_regulatory() want some regulatory settings applied to their wiphy, if no bands were configured on the wiphy then something went wrong. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eeddfd9db3b1c50d49202d0be35aae187fa90129 Author: Luis R. Rodriguez Date: Tue May 19 17:49:46 2009 -0400 ath9k: set max default eirp to 20 dBm This is always discarded anyway but lets just set this to our safest lowest. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db67645db623caa12976293caa95fcd33d8c11b4 Author: Johannes Berg Date: Wed May 20 09:05:10 2009 +0200 mac80211: fix parameter confusion when finding IBSS When I fixed the crypto bit I must have done the negative test only -- it is quite clearly impossible to find _any_ IBSS to join with the parameters put the wrong way around. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c26c2e576dc05d90e8eadc0c6ca273ed7aa12535 Author: Luis R. Rodriguez Date: Tue May 19 18:27:11 2009 -0400 ath9k: fix custom regulatory call position ath_regd_init() needs to be called with the wiphy already properly set with the bands. Without this the custom regulatory settings were not taking effect, and the device would get the default channel settings from ath9k_[25]ghz_chantable. Reported-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 175427ce40bd5a3f973a76c46502875f0eed877c Author: Johannes Berg Date: Tue May 19 22:16:25 2009 +0200 mac80211: don't try to do anything on unchanged genIE When the genIE hasn't changed there's no reason to kick the state machine since it won't be able to do anything new -- doing this decreases the useless work we do for reassociating because if we do kick the state machine it will try to find a usable BSS but there might not be one because wpa_supplicant will only change the BSSID a little later. In a sense this is a workaround for userspace behaviour, but on the other hand userspace cannot really keep track of what the kernel currently has for genIE since any process could have changed that while wpa_supplicant wasn't looking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ce4c45e099a81b2bc820b6e145aa9058c5acf0bd Author: Alexandre Becholey Date: Tue May 19 17:52:56 2009 +0200 rt73usb: fix for master mode Report status unknown as if there were successfully transmitted. This will avoid hostapd to disassociate because it doesn't understand what a status unknown is. Signed-off-by: Alexandre Becholey Signed-off-by: John W. Linville commit 7e0aae4732067e1bdb546071423a0b3483a79d9a Author: Jouni Malinen Date: Tue May 19 19:25:58 2009 +0300 mac80211: Do not override AID in the duration field When updating the duration field for TX frames, skip the update for PS-Poll frames that use this field for other purposes (AID). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 30196673fe17934617b5d5bfd456a0edf057a0b9 Author: Jouni Malinen Date: Tue May 19 17:01:43 2009 +0300 mac80211: PS processing for every Beacon with our AID in TIM If the AP includes our AID in the TIM IE, we need to process the Beacon frame as far as PS is concerned (send PS-Poll or nullfunc data with PM=0). The previous code skipped this in cases where the CRC value did not change and it would not change if the AP continues including our AID in the TIM.. There is no need to count the crc32 value for directed_tim with this change, so we can remove that part. In order not to change the order of operations (i.e., update WMM parameters prior to sending PS-Poll), the CRC match is checked twice as only after the PS processing step, the rest of the function is skipped if nothing changed in the Beacon. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit dc8c4585d2e6f3bf5c9d8c0a6036b591bd3baf2e Author: Jouni Malinen Date: Tue May 19 17:01:42 2009 +0300 ath9k: Set PM field in frame control when in PS mode mac80211 does not set PM field for normal data frames, so we need to update that based on the current PS mode when using PS-Poll (timeout=0) power save mode. This allows the AP to remain in sync with our PS state. However, there is still a potential race condition between PS state changes when multiple TX queues are used and nullfunc and PS-Poll frames use different queue. That corner case may need to be handled separately by changing which queue is used either in ath9k or mac80211. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit aa68aeaaff8bbf58e355eb83b7d0c14ce82b2f12 Author: Jouni Malinen Date: Tue May 19 17:01:41 2009 +0300 ath9k: Wake up for RX filter changes We must make sure the chip is awake when changing the RX filter parameters. This could have caused problems, e.g., when changing the interface to promiscuous mode while in sleep mode. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 54ce846e2c5ade77bc6650d8e8c7e775e01ad859 Author: Jouni Malinen Date: Tue May 19 17:01:40 2009 +0300 ath9k: Use TSFOOR interrupt to trigger TSF sync with next Beacon If the chip complains about TSF sync, make sure we remain awake to sync with the next Beacon frame. In theory, this should not be needed since we are currently trying to receive all Beacon frames, anyway, better have this code ready should we ever change that. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1ffc1c61bdbe31105d99d65043bbf7ae6d24dbc7 Author: Jouni Malinen Date: Tue May 19 17:01:39 2009 +0300 ath9k: Do not try to calibrate radio when in sleep mode When the chip is in sleep mode, there is no point trying to calibrate the radio since it will just results in incorrect values being read from registers and other potential issues. In addition, if we actually start processing calibrate, do not allow the chip to be put into sleep until we have completed the calibration step. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9a23f9ca50943c1b4535d22b3acda3c31b4ad072 Author: Jouni Malinen Date: Tue May 19 17:01:38 2009 +0300 ath9k: Wake up for TX in mac80211 timeout=0 sleep mode When using timeout=0 (PS-Poll) with mac80211, the driver will need to wake up for TX requests and remain awake until the TX has been completed (ACK received or timeout) or until the buffer frame(s) have been received (in case the TX is for a PS-Poll frame). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cce4c77b87ce7e71a0f244a3dfb6ac1c3a1bc67e Author: Johannes Berg Date: Tue May 19 10:39:34 2009 +0200 mac80211: fix kernel-doc Moving information from config_interface to bss_info_changed removed struct ieee80211_if_conf which the documentation still refers to, additionally there's one kernel-doc description too much and one other missing, fix all this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c617b0324c4b05e8e08f14407a9be3b7756768f Author: Ivo van Doorn Date: Tue May 19 07:26:04 2009 +0200 rt2x00: Add USB ID for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e43e820c9cc5cc37ca8fc07d1f18cb29f13a2ce8 Author: Pavel Roskin Date: Mon May 18 21:43:52 2009 -0400 cfg80211: fix compile error with CONFIG_CFG80211_DEBUGFS If CONFIG_CFG80211_DEBUGFS is enabled and CONFIG_MAC80211_DEBUGFS is not, compilation fails in net/wireless/debugfs.c: net/wireless/debugfs.c: In function 'cfg80211_debugfs_drv_add': net/wireless/debugfs.c:117: error: 'struct cfg80211_registered_device' has no member named 'debugfs' The debugfs filed is needed if and only if CONFIG_CFG80211_DEBUGFS is enabled, so use that instead of CONFIG_MAC80211_DEBUGFS. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 9c8b3eddc0666255851942df8ec72cd91d22f280 Author: Bob Copeland Date: Tue May 19 23:37:31 2009 -0400 ath5k: avoid and warn on potential infinite loop If we are trying to interpolate a curve with slope == 0, the return value will always be the y-coordinate. In this code we are looping until we reach a minimum y-coordinate on a line, which in the 0-slope case can never happen, thus the loop never terminates. The PCDAC steps come from the EEPROM and should never be equal, but we should gracefully handle that case, so warn and bail out. Reported-by: Steven Rostedt Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 61405e97788b1bc4e7c5be5b4ec04a73fc11bac2 Author: Luis R. Rodriguez Date: Wed May 13 17:04:41 2009 -0400 cfg80211: fix in nl80211_set_reg() There is a race on access to last_request and its alpha2 through reg_is_valid_request() and us possibly processing first another regulatory request on another CPU. We avoid this improbably race by locking with the cfg80211_mutex as we should have done in the first place. While at it add the assert on locking on reg_is_valid_request(). Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d0e18f833d23afefb6751a21d14a2cd71d2d4d66 Author: Luis R. Rodriguez Date: Wed May 13 17:04:40 2009 -0400 cfg80211: cleanup return calls on nl80211_set_reg() This has no functional change, but it will make the race fix easier to spot in my next patch. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4776c6e7f66f853011bc1fd6fe37fa63f0b6982c Author: Luis R. Rodriguez Date: Wed May 13 17:04:39 2009 -0400 cfg80211: return immediately if num reg rules > NL80211_MAX_SUPP_REG_RULES This has no functional change except we save a kfree(rd) and allows us to clean this code up a bit after this. We do avoid an unnecessary kfree(NULL) but calling that was OK too. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e74fbb412be9baeae5ee61e25dad0b8c1a287494 Author: Wei Yongjun Date: Wed May 13 09:47:38 2009 +0800 wireless: fix to set dev->broadcast correctly This patch fix to set dev->broadcast correctly, since dev->broadcast is defined as: unsigned char broadcast[MAX_ADDR_LEN]; Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 49ca37e2d29569d7408f3c92f15c4a33e459a987 Author: Alexander Beregalov Date: Tue May 12 15:23:13 2009 +0400 Staging: agnx: switch config_interface to bss_info_changed Fix this build error: drivers/staging/agnx/pci.c: In function 'agnx_config_interface': drivers/staging/agnx/pci.c:315: error: dereferencing pointer to incomplete type .. drivers/staging/agnx/pci.c:424: error: unknown field 'config_interface' specified in initializer config_interface was removed in 2d0ddec5b2b ("mac80211: unify config_interface and bss_info_changed") Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 153e080da6a07ed888a0a59c45e28bc7351407ff Author: Vasanthakumar Thiagarajan Date: Fri May 15 02:47:16 2009 -0400 ath9k: Move PS wakeup/restore calls from isr to tasklet We do not need to do this in ath_isr() and it looks like the modified version ends up being more stable as far as being able receive beacon frames is concerned. Furthermore, this reduces need to move between AWAKE and NETWORK SLEEP states when processing some unrelated interrupts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e3da574a0ddd3e90a1e2b788b84b94bc17a75172 Author: Johannes Berg Date: Mon May 18 19:56:36 2009 +0200 cfg80211: allow wext to remove keys that don't exist Some applications using wireless extensions expect to be able to remove a key that doesn't exist. One example is wpa_supplicant which doesn't actually change behaviour when running into an error while trying to do that, but it prints an error message which users interpret as wpa_supplicant having problems. The safe thing to do is not change the behaviour of wireless extensions any more, so when the driver reports -ENOENT let the wext bridge code return success to userspace. To guarantee this, also document that drivers should return -ENOENT when the key doesn't exist. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73606d00360cb93963aeb7bfbf8bfdbc51cfab9f Author: Daniel Wagner Date: Mon May 18 19:49:25 2009 +0200 mac80211_hwsim: Group radios Currently all radios receive all traffic on the simulated air if they are tuned to the same channel. This patch introduces the concept of grouping, which allows to assign a radio to certain group. Only radios in the same group can 'see' each other. Each bit in /debug/ieee80211/phy*/hwsim/group represents one group. By default all radios belong to the same group "1", e.g. bit 1 is set. Additionally a radio can belong to several groups. Signed-off-by: Daniel Wagner Signed-off-by: John W. Linville commit 1071db863b129847cedb65339d1e87ecf5952a8b Author: Bob Copeland Date: Mon May 18 10:59:52 2009 -0400 ath5k: update beacons in AP mode ath5k only generated the beacon when bss_info_changed() was called, but for AP mode this is not enough, because the TIM IE would never get updated and consequently PS mode clients wouldn't know about buffered frames. Instead, get a new beacon on every SWBA interrupt. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4de2dc74a1c7dedcfbe8290316f1a239a7c86554 Author: Max Filippov Date: Mon May 18 21:28:55 2009 +0400 p54spi: drop test for FW_STATE_RESET in p54spi_work Drop test for FW_STATE_RESET in p54spi_work as fw_state is never assigned this value. Signed-off-by: Roel Kluin Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 3f0d843b5c94be824c2027f01348f360958e5542 Author: Johannes Berg Date: Mon May 18 10:53:18 2009 +0200 b43/legacy: fix beacon change processing Process beacon change even if the BSSID doesn't change at the same time. Also fix what I think is a small locking error in b43legacy, there's a spin_unlock_irqrestore that looks out of place. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff561ac84e0bdfe1316ed355669dd73101609f24 Author: Max Filippov Date: Mon May 18 03:02:35 2009 +0400 p54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx Under high load first data word, read after available data size is sometimes lost in p54spi_rx. It seems to depend on frequency of interrupts and latency of data read request relatively to 'data available' interrupt. The worst consequence of this bug is loss of packet transmission acknowledgement, which in turn causes overflow of tx queues and permanent link loss. Read data size and first data word in one SPI transaction. No packets from LMAC should have length less than 1 word, so this shouldn't interfere with the next read transaction. Also call p54spi_sleep if p54spi_wake succeeded. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 6edf534a3214e8fad943d7acd903603f0a5b9ac8 Author: Max Filippov Date: Mon May 18 03:02:34 2009 +0400 p54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded Put chip into sleep state, once it's been awaken. Also, propagate error code to the caller. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 465b63537f93e82a2606332830801acb64467ec9 Author: Max Filippov Date: Mon May 18 03:02:33 2009 +0400 p54spi: return status of p54spi_wakeup Return whether wakeup operation succeeded. Make use of this return value. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 69712e926bad9c163d5ba5597f08084ee7902480 Author: Max Filippov Date: Mon May 18 03:02:32 2009 +0400 p54spi: cosmetic fixes: use even byte count in SPI write; drop unused interrupt status read When SPI write of odd length is requested, p54spi_write splits it into two parts: one for all data, except the last byte, and one for last byte and padding byte. Unfortunately, the length of first part is not amended. It works because all meaningful bytes have proper value and the last byte of odd length SPI write transaction is ignored. p54spi_work has dummy HOST_INTERRUPTS register read at the end. Drop it, as its result is not used and it has no side effects. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 210dd1bb9b0329bcc1b4f8932022eddc6466980c Author: Max Filippov Date: Mon May 18 03:02:31 2009 +0400 p54spi: fix incorrect access sequence to DMA_WRITE_CTRL in p54spi_spi_write_dma Host is not allowed to modify DMA_WRITE_CTRL register if bit HOST_ALLOWED in it is not set. Wait for HOST_ALLOWED first. Also get rid of timeout in p54spi_wait_bit as it's been playing a role of workaround for such an incorrect register access. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 4eaf16bc1f92bf772f6d42860e86b399d00b7b94 Author: Julia Lawall Date: Sun May 17 11:28:42 2009 +0200 drivers/net: use dev_get_drvdata Eliminate direct accesses to the driver_data field. cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd015 The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device *dev; expression E; type T; @@ - dev->driver_data = (T)E + dev_set_drvdata(dev, E) @@ struct device *dev; type T; @@ - (T)dev->driver_data + dev_get_drvdata(dev) // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit cf5aa2f1f39d367d449df4c10de3d8e6f9c4443b Author: David Kilroy Date: Sat May 16 23:13:47 2009 +0100 cfg80211: mark wiphy->privid as pointer to const This allows drivers to use a const pointer as the privid without a cast. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3dcf670baf3d3a9bfc752e59d0b1a8d886230750 Author: David Kilroy Date: Sat May 16 23:13:46 2009 +0100 cfg80211: mark ops as pointer to const This allows drivers to mark their cfg80211_ops tables const. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c15ff610453a6daa708f32b1c00b8344d3a462dd Author: Tomas Winkler Date: Fri May 15 16:13:44 2009 -0700 iwlwifi: drop iwl3945_tid_data This patch is one of the incremental steps for unifying iwl_station_entry for all HWs, i.e. removing of iwl3945_station_entry This patch drops iwl3945_tid_data and use iwl_tid_data instead. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bed420d9c0a642cda3d37b66db0f66f87d8f8185 Author: Tomas Winkler Date: Fri May 15 16:13:43 2009 -0700 iwlwifi: drop struct iwl3945_hw_key This patch replaces struct iwl3945_hw_key by struct iwl_hw_key. It's not used directly with any host command therefore removal is trivial Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 44710bbc073b2e7ea269cf716b817297cd35ae10 Author: Stefano Brivio Date: Fri May 15 15:39:20 2009 -0500 b43legacy: Remove unnecessary MMIO in interrupt hotpath This removes unnecessary MMIO accesses in the interrupt hotpath. The patch by Michael Buesch for b43 has been ported to b43legacy. Signed-off-by: Stefano Brivio Tested-by: Larry Finger Signed-off-by: John W. Linville commit 6b96f93e962e25d38d7a73c0009597672d87c496 Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:22 2009 +0530 ath9k: cleanup beacon parameters configuration This patch configures the beacon timers with beacon interval and beacon period passed through vif.bss_conf. Also cache the currecnt beacon configuration which will be used to configure the beacon timers when the driver triggers it after reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d31e20af9f65e38429a3ed32175f8e233bdcd2b2 Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:21 2009 +0530 ath9k: Remove unused parameters which are passed to ath_beacon_config_X() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6b45784fbe9b31c287ab7f2717e4bd4cdcdd340c Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:20 2009 +0530 ath9k: Print hw reset failure status as signed int Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5bb644a0fd25a5e083ecbfaa92a211db99aa6ef7 Author: Johannes Berg Date: Sun May 17 11:40:42 2009 +0200 mac80211: cancel/restart all timers across suspend/resume We forgot to cancel all timers in mac80211 when suspending. In particular we forgot to deal with some things that can cause hardware reconfiguration -- while it is down. While at it we go ahead and add a warning in ieee80211_sta_work() if its run while the suspend->resume cycle is in effect. This should not happen and if it does it would indicate there is a bug lurking in either mac80211 or mac80211 drivers. With this now wpa_supplicant doesn't blink when I go to suspend and resume where as before there where issues with some timers running during the suspend->resume cycle. This caused a lot of incorrect assumptions and would at times bring back the device in an incoherent, but mostly recoverable, state. Signed-off-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc32abd494c0a8f76f2638e3f3a76e01c68bc9ea Author: Johannes Berg Date: Fri May 15 11:52:31 2009 +0200 mac80211: move channel switch code The channel switch code is currently in the spectrum management file, where arguably it belongs. However, it is for managed mode only and uses the structures for that mode only so having it in a more generic file can be confusing. Additionally, my next patch gets simpler with the code here. When/if we ever implement this for IBSS or mesh then we will need to rework the structures it uses anyway at which point we could move the code back. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9f26a952210e44691f784b77bf1f83a500d63f58 Author: Jouni Malinen Date: Fri May 15 12:38:32 2009 +0300 nl80211: Validate NL80211_ATTR_KEY_SEQ length Validate RSC (NL80211_ATTR_KEY_SEQ) length in nl80211/cfg80211 instead of having to do this in all the drivers. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cc65965cbb24d2ca2bb70f26cac9d7243349e7e3 Author: Jouni Malinen Date: Thu May 14 21:28:48 2009 +0300 ath9k: Fix PS mode operation to receive buffered broadcast/multicast frames The previous implementation was moving back to NETWORK SLEEP state immediately after receiving a Beacon frame. This means that we are unlikely to receive all the buffered broadcast/multicast frames that would be sent after DTIM Beacon frames. Fix this by parsing the Beacon frame and remaining awake, if needed, to receive the buffered broadcast/multicast frames. The last buffered frame will trigger the move back into NETWORK SLEEP state. If the last broadcast/multicast frame is not received properly (or if the AP fails to send it), the next Beacon frame will work as a backup trigger for returning into NETWORK SLEEP. A new debug type, PS (debug=0x800 module parameter), is added to make it easier to debug potential power save issues in the future. Currently, this is only used for the Beacon frame and buffered broadcast/multicast receiving. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9d64a3cfaf3edb548b68ef4eedbadbb875eaa10e Author: Jouni Malinen Date: Thu May 14 21:28:47 2009 +0300 ath9k: Clean up RX processing a bit This makes use of the local fc variable in bit more places and uses a common helper macro. The part of RX process that delivers skb's to mac80211 is moved to a separate function in preparation for future changes that will need to do this from two places. The modifications here should not result in any functional changes. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d8959fbfbad5f75c7df673aaf5112ba5e405ad34 Author: Jouni Malinen Date: Thu May 14 21:28:46 2009 +0300 ath9k: Fix a check for multicast address for virtual wiphy The broadcast bit is in the first, not the last octet.. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 92778180f7fca7f7797de8020900a7fea175f7e3 Author: Jouni Malinen Date: Thu May 14 21:15:36 2009 +0300 mac80211: Cancel pending probereq poll on beacon RX While the probe request poll is expected to work, it looks like it does not always result in getting a response. The exact reason for this is unclear, but anyway, if we do receive a Beacon frame from our AP, there is no need to disconnect based on the probereq poll. This seems to help keep the connection bit more stable in cases where beacon loss is occurring semi-frequently. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 13bdcd90bbce7c07e0dda0ff31e9497b8cabf1eb Author: Gábor Stefanik Date: Thu May 14 17:34:59 2009 +0000 zd1211rw: Replace ZD_CS_MULTICAST with ZD_CS_NO_ACK According to my tests, all that ZD_CS_MULTICAST does is to disable retrying/waiting for an ACK. Reflect this by renaming the bit to ZD_CS_NO_ACK and setting it based on IEEE80211_TX_CTL_NO_ACK, instead of is_multicast_ether_addr. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit cccaec98a3ddbf20f22604f9ba405781c5f89f0e Author: Senthil Balasubramanian Date: Thu May 14 18:42:08 2009 +0530 mac80211: Initialize RX's last received sequence number The STA may drop the very first frame if it happens to be a retried frame. This is because we maintian the last received sequence number per TID for QoS frames and it is initialized to zero through kzalloc during sta_info_alloc and the sequence number of the very first date frame received would be ZERO (as per IEEE 802.11-2007, 7.1.3.4.1). If the frame dropped happens to be an EAP Request Identity(very first frame from the AP), then wpa_supplicnat disconnects the STA and the whole procedure starts again. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 80a3511d70e8fc7ed3fe4417d7b0bf6c3f642f64 Author: Luis R. Rodriguez Date: Sat May 2 00:39:30 2009 -0400 cfg80211: add debugfs HT40 allow map Here's a screenshot of what this looks like with ath9k: mcgrof@pogo /debug/ieee80211/phy0 $ cat ht40allow_map 2412 HT40 + 2417 HT40 + 2422 HT40 + 2427 HT40 + 2432 HT40 -+ 2437 HT40 -+ 2442 HT40 -+ 2447 HT40 - 2452 HT40 - 2457 HT40 - 2462 HT40 - 2467 Disabled 2472 Disabled 2484 Disabled 5180 HT40 + 5200 HT40 -+ 5220 HT40 -+ 5240 HT40 -+ 5260 HT40 -+ 5280 HT40 -+ 5300 HT40 -+ 5320 HT40 - 5500 HT40 + 5520 HT40 -+ 5540 HT40 -+ 5560 HT40 -+ 5580 HT40 -+ 5600 HT40 -+ 5620 HT40 -+ 5640 HT40 -+ 5660 HT40 -+ 5680 HT40 -+ 5700 HT40 - 5745 HT40 + 5765 HT40 -+ 5785 HT40 -+ 5805 HT40 -+ 5825 HT40 - Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1ac61302dcd18880e28c29e5728cd4d0efeb5366 Author: Luis R. Rodriguez Date: Sat May 2 00:37:21 2009 -0400 mac80211/cfg80211: move wiphy specific debugfs entries to cfg80211 This moves the cfg80211 specific stuff to new cfg80211 debugfs entries. Non-mac80211 will also get these entries now. There were only 4 which we take: rts_threshold fragmentation_threshold short_retry_limit long_retry_limit Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 294196ab22c91da974ba1f40d0a7cdcb0b3e6bc3 Author: Luis R. Rodriguez Date: Sat May 2 00:37:20 2009 -0400 cfg80211: check allowed channel type upon userspace requests Thanks to nl80211 userspace can be very specific upon device configuration. Before processing the request for the new HT40 channel types (HT40- or HT40+) we need to ensure we can use them regulatory-wise. This wasn't required with wireless extensions as specifying the channel type wasn't not available and configuration was done towards the end implicitly upon association or reception of beacons from the AP. For the new nl80211 we have to check this when configuring the interfaces explicitly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 768777ea1118f6ff3f1a013557e7bc4f5d2683a4 Author: Luis R. Rodriguez Date: Sat May 2 00:37:19 2009 -0400 mac80211: check if HT40+/- is allowed before sending assoc We weren't checking this at all. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 689da1b3b8b37ff41e79f3fb973c06cdfeef12e5 Author: Luis R. Rodriguez Date: Sat May 2 00:37:18 2009 -0400 wireless: rename IEEE80211_CHAN_NO_FAT_* to HT40-/+ This is more consistent with our nl80211 naming convention for HT40-/+. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 038659e7c6b385065cb223872771ac437ef70b62 Author: Luis R. Rodriguez Date: Sat May 2 00:37:17 2009 -0400 cfg80211: Process regulatory max bandwidth checks for HT40 We are not correctly listening to the regulatory max bandwidth settings. To actually make use of it we need to redesign things a bit. This patch does the work for that. We do this to so we can obey to regulatory rules accordingly for use of HT40. We end up dealing with HT40 by having two passes for each channel. The first check will see if a 20 MHz channel fits into the channel's center freq on a given frequency range. We check for a 20 MHz banwidth channel as that is the maximum an individual channel will use, at least for now. The first pass will go ahead and check if the regulatory rule for that given center of frequency allows 40 MHz bandwidths and we use this to determine whether or not the channel supports HT40 or not. So to support HT40 you'll need at a regulatory rule that allows you to use 40 MHz channels but you're channel must also be enabled and support 20 MHz by itself. The second pass is done after we do the regulatory checks over an device's supported channel list. On each channel we'll check if the control channel and the extension both: o exist o are enabled o regulatory allows 40 MHz bandwidth on its frequency range This work allows allows us to idependently check for HT40- and HT40+. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c6ac4c18fbc92a26df71ece609b082bc3099676b Author: H. Peter Anvin Date: Wed May 20 11:26:09 2009 -0700 x86, boot: correct the calculation of ZO_INIT_SIZE Correct the calculation of ZO_INIT_SIZE (the amount of memory we need during decompression). One symbol (ZO_startup_32) was missing from zoffset.h, and another (ZO_z_extract_offset) was misspelled. [ Impact: build fix ] Signed-off-by: H. Peter Anvin commit 34adc8062227f41b04ade0ff3fbd1dbe3002669e Author: Ingo Molnar Date: Wed May 20 20:13:28 2009 +0200 perf_counter: Fix context removal deadlock Disable the PMU globally before removing a counter from a context. This fixes the following lockup: [22081.741922] ------------[ cut here ]------------ [22081.746668] WARNING: at arch/x86/kernel/cpu/perf_counter.c:803 intel_pmu_handle_irq+0x9b/0x24e() [22081.755624] Hardware name: X8DTN [22081.758903] perfcounters: irq loop stuck! [22081.762985] Modules linked in: [22081.766136] Pid: 11082, comm: perf Not tainted 2.6.30-rc6-tip #226 [22081.772432] Call Trace: [22081.774940] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.781993] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.788368] [] ? warn_slowpath_common+0x77/0xa3 [22081.794649] [] ? warn_slowpath_fmt+0x40/0x45 [22081.800696] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.807080] [] ? perf_counter_nmi_handler+0x3f/0x4a [22081.813751] [] ? notifier_call_chain+0x58/0x86 [22081.819951] [] ? notify_die+0x2d/0x32 [22081.825392] [] ? do_nmi+0x8e/0x242 [22081.830538] [] ? nmi+0x1a/0x20 [22081.835342] [] ? selinux_file_free_security+0x0/0x1a [22081.842105] [] ? x86_pmu_disable_counter+0x15/0x41 [22081.848673] <> [] ? x86_pmu_disable+0x86/0x103 [22081.855512] [] ? __perf_counter_remove_from_context+0x0/0xfe [22081.862926] [] ? counter_sched_out+0x30/0xce [22081.868909] [] ? __perf_counter_remove_from_context+0x59/0xfe [22081.876382] [] ? smp_call_function_single+0x6c/0xe6 [22081.882955] [] ? perf_release+0x86/0x14c [22081.888600] [] ? __fput+0xe7/0x195 [22081.893718] [] ? filp_close+0x5b/0x62 [22081.899107] [] ? put_files_struct+0x64/0xc2 [22081.905031] [] ? do_exit+0x1e2/0x6ef [22081.910360] [] ? _spin_lock_irqsave+0x9/0xe [22081.916292] [] ? do_group_exit+0x67/0x93 [22081.921953] [] ? sys_exit_group+0x12/0x16 [22081.927759] [] ? system_call_fastpath+0x16/0x1b [22081.934076] ---[ end trace 3a3936ce3e1b4505 ]--- And could potentially also fix the lockup reported by Marcelo Tosatti. Also, print more debug info in case of a detected lockup. [ Impact: fix lockup ] Reported-by: Marcelo Tosatti Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 5537937696c55530447c20aa27daccb8d0d29b33 Author: Ming Lei Date: Mon May 18 23:04:46 2009 +0800 ftrace: fix check for return value of register_module_notifier in event_trace_init register_module_notifier() returns zero in the success case. So fix the inverted fail case check in trace events modules handler. [ Impact: fix spurious warning on ftrace initialization] Reported-by: Li Zefan Signed-off-by: Ming Lei Signed-off-by: Frederic Weisbecker commit 0003b795c310da83501fcf0329f6be7a0984647d Author: Eric Lammerts Date: Tue May 19 20:53:20 2009 -0400 fix oops when using console=ttymxcN with N > 0 Signed-off-by: Eric Lammerts Signed-off-by: Sascha Hauer commit 3e3ee6dc949d25423f72bb5ee5f58dfa79ac85c7 Author: Takashi Iwai Date: Wed May 20 16:47:59 2009 +0200 ALSA: ctxfi - Add depends on X86 The ctxfi driver requires explicitly the 4k page size, and gives a build error on architectures with non-4k pages. As a workaround, just add the kconfig dependency on X86, which is the only architecture ever tested. Signed-off-by: Takashi Iwai commit 57fd637ad9ac6b13c1c47b9a0ced4ee99bb26e76 Author: Stephane Chatty Date: Wed May 20 15:49:35 2009 +0200 HID: Multitouch support for the N-Trig touchscreen Adds support for multitouch interaction on the N-Trig touchscreen, using the new ABS_MT_* input constants. Single touch support works as previously. This code was tested against two versions of the N- Trig firmware: one that supports dual pen/finger single touch, and one that supports finger multitouch but no pen at all. Copyright notices that looked wrong were removed, as it seems that there is only code written in 2009 by Rafin Rubin and Stephane Chatty in this file. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 89f536ccfa8b370ff4d054f4061858ca9322c25a Author: Stephane Chatty Date: Wed May 20 15:41:24 2009 +0200 HID: add new multitouch and digitizer contants Added constants to hid.h for all digitizer usages (including the new multitouch ones that are not yet in the official USB spec but are being pushed by Microsft as described in their paper "Digitizer Drivers for Windows Touch and Pen-Based Computers"). Updated hid-debug.c to support the new MT input constants such as ABS_MT_POSITION_X. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit a6a9fb857b5599b3cefef5576967389c1c43eb4c Author: Krzysztof Hałasa Date: Fri Feb 20 01:01:33 2009 +0100 IXP4xx: Add support for the second half of the 64 hardware queues. Signed-off-by: Krzysztof Hałasa commit afedadf23a2c90f3ba0d963282cbe6a6be129494 Author: Peter Zijlstra Date: Wed May 20 12:21:22 2009 +0200 perf_counter: Optimize sched in/out of counters Avoid a function call for !group counters by directly calling the counter function. [ Impact: micro-optimize the code ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.511933670@chello.nl> Signed-off-by: Ingo Molnar commit b986d7ec0f8b7ea3cc7366d80a137fbe839df227 Author: Peter Zijlstra Date: Wed May 20 12:21:21 2009 +0200 perf_counter: Optimize disable of time based sw counters Currently we call hrtimer_cancel() unconditionally on disable of time based software counters. Avoid when possible. [ Impact: micro-optimize the code ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.388185031@chello.nl> Signed-off-by: Ingo Molnar commit 26b119bc811a73bac6ecf95bdf284bf31c7955f0 Author: Peter Zijlstra Date: Wed May 20 12:21:20 2009 +0200 perf_counter: Log irq_period changes For the dynamic irq_period code, log whenever we change the period so that analyzing code can normalize the event flow. [ Impact: add new feature to allow more precise profiling ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.298769743@chello.nl> Signed-off-by: Ingo Molnar commit d7b629a34fc4134a43c730b5f0197855dc4948d0 Author: Peter Zijlstra Date: Wed May 20 12:21:19 2009 +0200 perf_counter: Solve the rotate_ctx vs inherit race differently Instead of disabling RR scheduling of the counters, use a different list that does not get rotated to iterate the counters on inheritance. [ Impact: cleanup, optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.237504544@chello.nl> Signed-off-by: Ingo Molnar commit 09010978345e8883003bf411bb99753710eb5a3a Author: Steven Whitehouse Date: Wed May 20 10:48:47 2009 +0100 GFS2: Improve resource group error handling This patch improves the error handling in the case where we discover that the summary information in the resource group doesn't match the bitmap information while in the process of allocating blocks. Originally this resulted in a kernel bug, but this patch changes that so that we return -EIO and print some messages explaining what went wrong, and how to fix it. We also remember locally not to try and allocate from the same rgrp again, so that a subsequent allocation in a different rgrp should succeed. Signed-off-by: Steven Whitehouse commit 6943c92e87c4aa2a6d7a1f4dbd79cf4a0b5fd67b Author: Peter Ujfalusi Date: Mon May 18 16:02:05 2009 +0300 ASoC: TWL4030: Move the Headset pop-attenuation code to PGA event This patch adds SND_SOC_DAPM_PGA_E to the headset path, which handles the headset ramp up and down sequences needed for the pop noise removal. With this patch the order of the internal components in the twl4030 codec is turned on and off in a correct order. Signed-off-by: Peter Ujfalusi Tested-by: Anuj Aggarwal Tested-by: Jarkko Nikula Tested-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 4005d39a5f5549f1f6afe88abceed78b2ab225b6 Author: Peter Ujfalusi Date: Mon May 18 16:02:04 2009 +0300 ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs Restructuring the twl4030 codec's DAPM routing to be able to handle the power sequences correctly. The twl4030 codec internal implementation have this order: DAC -> Analog PGA -> Mixer/Mux While the ASoC framework expects the following order: DAC -> Mixer -> Analog PGA This patch moves the Analog PGA handling from SND_SOC_DAPM_PGA to _MIXER and adds two levels of mixer to handle the digital and analog loopback functionality. Now the analog loopback does not powers on any of the DACs. Signed-off-by: Peter Ujfalusi Tested-by: Anuj Aggarwal Tested-by: Jarkko Nikula Tested-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 2070887fdeacd9c13f3e805e3f0086c9f22a4d93 Author: Thomas Gleixner Date: Tue May 19 23:04:59 2009 +0200 futex: fix restart in wait_requeue_pi If the waiter has been requeued to the outer PI futex and is interrupted by a signal and the thread handles the signal then ERESTART_RESTARTBLOCK is changed to EINTR and the restart block is discarded. That way we return an unexcpected EINTR to user space instead of ending up in futex_lock_pi_restart. But we do not need to restart the syscall because we know that the condition has changed since we have been requeued. If we would simply restart the syscall then we would drop out via the comparison of the user space value with EWOULDBLOCK. The user space side needs to handle EWOULDBLOCK anyway as the enqueueing on the inner futex can race with a requeue/wake. So we can simply return EWOULDBLOCK to user space which also signals that we did not take the outer futex and let user space handle it in the same way it has to handle the requeue/wake race. Signed-off-by: Thomas Gleixner commit 1c840c14906d4ddf66c1f4f5daea059aad951c82 Author: Thomas Gleixner Date: Wed May 20 09:22:40 2009 +0200 futex: fix restart for early wakeup in futex_wait_requeue_pi() The futex_wait_requeue_pi op should restart unconditionally like futex_lock_pi. The user of that function e.g. pthread_cond_wait can not be interrupted so we do not care about the SA_RESTART flag of the signal. Clean up the FIXMEs. Signed-off-by: Thomas Gleixner commit c8b15a706d921baed3195407e4f55270112bb3c6 Author: Thomas Gleixner Date: Wed May 20 09:18:50 2009 +0200 futex: cleanup error exit Reuse the put_key_ref(key2) call in the exit path. Signed-off-by: Thomas Gleixner commit 521c180874dae86f675d23c4eade4dba8b1f2cc8 Merge: f1a11e0 64d1304 Author: Thomas Gleixner Date: Wed May 20 09:02:28 2009 +0200 Merge branch 'core/urgent' into core/futexes Merge reason: this branch was on an pre -rc1 base, merge it up to -rc6+ to get the latest upstream fixes. Conflicts: kernel/futex.c Signed-off-by: Thomas Gleixner commit 0a7ae2ff0d29bb3b327edff4c8ab67b3834fa811 Author: Jens Axboe Date: Wed May 20 08:54:31 2009 +0200 block: change the tag sync vs async restriction logic Make them fully share the tag space, but disallow async requests using the last any two slots. Signed-off-by: Jens Axboe commit 62669e61a5f559826b1d2e863649a6005eee629b Author: Paul Mundt Date: Wed May 20 11:27:13 2009 +0900 sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. Fixes several compile errors due to the recent hd64461 I/O base changes. Signed-off-by: Paul Mundt commit 10494dce0b43ed3212abde64bf759705ee3c56ef Author: Daniel Mack Date: Mon May 18 16:10:39 2009 -0700 Input: add driver for EETI touchpanels This patch adds a driver for EETI's I2C connected touchscreens. Signed-off-by: Daniel Mack Tested-by: Sven Neumann Acked-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit b58895f8b1ee0a1bb1821cee71b3f6ecb9540ee6 Author: Michael Roth Date: Mon May 18 16:05:12 2009 -0700 Input: ads7846 - more detailed model name in sysfs Signed-off-by: Michael Roth Signed-off-by: Dmitry Torokhov commit 86579a4cccf18a2ddbf7de8fc5a0f5d9b94ed76d Author: Michael Roth Date: Mon May 18 16:04:44 2009 -0700 Input: ads7846 - support swapping x and y axes Signed-off-by: Michael Roth Signed-off-by: Dmitry Torokhov commit 225c9886b9f873b219d1109148661b38da99a1ee Author: Ville Syrjala Date: Mon May 18 16:01:25 2009 -0700 Input: ati_remote2 - use non-atomic bitops No point in using atomic bitops when setting the input device keybits. Signed-off-by: Ville Syrjala Signed-off-by: Dmitry Torokhov commit 97bc54152e3a91dd2dc297e8a084c05e93527e60 Author: Ben Hutchings Date: Tue May 19 16:19:08 2009 -0700 sfc: Remove lro module parameter GRO/LRO can be controlled through ethtool so this is unnecessary. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 645069299a1c7358cf7330afe293f07552f11a5d Author: Sascha Hlusiak Date: Tue May 19 12:56:52 2009 +0000 sit: stateless autoconf for isatap be sent periodically. The rs_delay can be speficied when adding the PRL entry and defaults to 15 minutes. The RS is sent from every link local adress that's assigned to the tunnel interface. It's directed to the (guessed) linklocal address of the router and is sent through the tunnel. Better: send to ff02::2 encapsuled in unicast directed to router-v4. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 9af28511be10e175eb0cabb2ba5cfafe77408d84 Author: Sascha Hlusiak Date: Tue May 19 12:56:51 2009 +0000 addrconf: refuse isatap eui64 for INADDR_ANY A tunnel with no local ipv4 endpoint would otherwise use the ISATAP linklocal address fe80::5efe:0:0, which is invalid. Rather not add a linklocal address at all. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 4b2796017487f3c1e423b8e1ada6c94c0a8ea815 Author: Sascha Hlusiak Date: Tue May 19 12:56:50 2009 +0000 sit: ipip6_tunnel_del_prl: return err Typo. When deleting a PRL entry, return status to userspace instead of success. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 4fddbf5d7854b0a615c6481988895016f5d038d2 Author: Sascha Hlusiak Date: Tue May 19 12:56:49 2009 +0000 sit: strictly restrict incoming traffic to tunnel link device Check link device when looking up a tunnel. When a tunnel is linked to a interface, traffic from a different interface must not reach the tunnel. This also allows creating of multiple tunnels with the same endpoints, if the link device differs. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 8db99e5717507729a9eb49108facb7e528340376 Author: Sascha Hlusiak Date: Tue May 19 12:56:48 2009 +0000 sit: Fail to create tunnel, if it already exists When locating the tunnel, do not continue if it is found. Otherwise a different tunnel with similar configuration would be returned and parts could be overwritten. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 9643f4551255ce8b3ef7470aaaf7f435a20f9182 Author: Chris Friesen Date: Tue May 19 15:31:50 2009 -0700 ipv4: teach ipconfig about the MTU option in DHCP The DHCP spec allows the server to specify the MTU. This can be useful for netbooting with UDP-based NFS-root on a network using jumbo frames. This patch allows the kernel IP autoconfiguration to handle this option correctly. It would be possible to use initramfs and add a script to set the MTU, but that seems like a complicated solution if no initramfs is otherwise necessary, and would bloat the kernel image more than this code would. This patch was originally submitted to LKML in 2003 by Hans-Peter Jansen. Signed-off-by: Chris Friesen Signed-off-by: David S. Miller commit fd2120ca0da9108e53f8db2fe57ab74fca76fd56 Author: Pablo Neira Ayuso Date: Tue May 19 15:27:55 2009 -0700 net: use NLMSG_DEFAULT_SIZE in nlmsg_new() allocations nlmsg_new() adds the size of the netlink header to the value that has been passed as parameter. If NLMSG_GOODSIZE is selected, we request an allocation of one memory page plus the size of the header. Instead, NLMSG_DEFAULT_SIZE should be used since it already substracts the size of the Netlink header. I have the impression that the similar naming in both constant is error prone when using it with nlmsg_new(). This is already documented in include/net/netlink.h Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit e5488ce56995e987a0cf9689e190b712a616a980 Author: Brice Goglin Date: Tue May 19 10:16:11 2009 +0000 myri10ge: update version to 1.5.0-1.415 Update myri10ge driver version to 1.5.0-1.415. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 3a0c7d2d2bc61e510e900cfbb99c42d4eef2a443 Author: Brice Goglin Date: Tue May 19 10:15:32 2009 +0000 myri10ge: allow LRO to be enabled via ethtool Allow myri10ge LRO to be enabled/disabled via ethtool (and by the stack for packet forwarding). Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit ab35cd4b8f42b5e4a9338949581a510e98503b28 Author: Eric Dumazet Date: Tue May 19 15:16:34 2009 -0700 sch_teql: Use net_device internal stats We can slightly reduce size of teqlN structure, not duplicating stats structure in teql_master but using stats field from net_device.stats for tx_errors and from netdev_queue for tx_bytes/tx_packets/tx_dropped values. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0cefafadbbe3947fd97b7560a214eb486069faac Author: Jesse Brandeburg Date: Tue May 19 09:19:11 2009 +0000 ixgbe: Cleanup feature setup code to make the code more readable This is purely a cleanup patch. This collapses some of the code required when we configure our Tx and Rx feature sets, and makes the code more readable and maintainable. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 537d58a00a8756189b10ffc1309c0131d57b6320 Author: Peter P Waskiewicz Jr Date: Tue May 19 09:18:51 2009 +0000 ixgbe: Change Direct Attach Twinax cable detection for SFP+ NICs The SFF specification for Direct Attach cable detection has now been ratified. Previously, DA cable detect was looking at the Twinaxial bit in byte 9 of the SFP+ EEPROM. The spec now defines active and passive DA cables in byte 8 of the SFP+ EEPROM. This patch changes the cable detection for both 82598 and 82599 SFP+ adapters to conform to the new spec. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aa5aec888585fedcda7cfffc20f75240ad1cb42d Author: Peter P Waskiewicz Jr Date: Tue May 19 09:18:34 2009 +0000 ixgbe: Add semaphore access for PHY initialization for 82599 The SFP+ NIC (device id 0x10fb) needs a semaphore to serialize PHY access, so our PHY init code must honor that same semaphore. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c44d70a340554a33071339064a303ac0f1a31623 Author: Ingo Molnar Date: Sun May 17 11:24:08 2009 +0200 perf_counter: fix counter inheritance race Context rotation should not occur when we are in the middle of walking the counter list when inheriting counters ... [ Impact: fix occasionally incorrect perf stat results ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a Author: Ingo Molnar Date: Sun May 17 11:08:41 2009 +0200 perf_counter: fix counter freeing logic Fix counter lifetime bugs which explain the crashes reported by Marcelo Tosatti and Arnaldo Carvalho de Melo. The new rule is: flushing + freeing is only done for a task's own counters, never for other tasks. [ Impact: fix crashes/lockups with inherited counters ] Reported-by: Arnaldo Carvalho de Melo Reported-by: Marcelo Tosatti Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Signed-off-by: Ingo Molnar commit 3577aa1bd7efc9c474f59738d2fb89c168168d55 Author: françois romieu Date: Tue May 19 10:46:48 2009 +0000 r8169: allow true forced mode setting Due to mostly historic reasons, including a lack of reliability of the link handling (especially with the older 8169), the current r8169 driver emulates forced mode setting by limiting the advertised modes. With this change the driver allows real 10/100 forced mode settings on the 8169 and 8101/8102. Original idea by Vincent Steenhoute. The RTL_GIGA_MAC_VER_03 tweak was extracted from Realtek's r8169 v6.010.00 driver. Signed-off-by: Francois Romieu Tested-by: Jean Delvare Cc: Edward Hsu Signed-off-by: David S. Miller commit 381f05172bdca076390abd84813b09ea423ae8a9 Author: françois romieu Date: Thu May 14 11:45:04 2009 +0000 r8169: remove useless struct member Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 8b2d850db275a8934db7e09d79a716435c7b3e0c Author: Eric Dumazet Date: Tue May 19 14:24:37 2009 -0700 ppp: unset IFF_XMIT_DST_RELEASE in ppp_setup() Jarek pointed pppoe can call back dev_queue_xmit(), and might need skb->dst, so its safer to unset IFF_XMIT_DST_RELEASE on ppp devices. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2b0c3677bfcf0c21bcaf2130e6e094a92ab93ae8 Author: Magnus Lilja Date: Mon May 18 18:46:33 2009 +0200 i.MX31: Add support for LAN9217 on PDK debug board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit e24805dd85283ac0912b9c400768a4d171b400ff Author: Atsushi Nemoto Date: Tue May 19 22:12:15 2009 +0900 ASoC: Add TXx9 AC link controller driver (v3) This patch adds support for the integrated ACLC of the TXx9 family. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit ac36552a52a6ec8563ac0a109e2a0935673f4abb Author: Boaz Harrosh Date: Tue May 19 19:54:09 2009 +0200 scsi_lib: remove unused variable The last request completion cleanup in scsi_lib left an unused this_count variable in scsi_io_completion(). (It was used before in a code segment that now uses blk_end_request_all()) Signed-off-by: Boaz Harrosh Acked-by: Tejun Heo Acked-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 53674ac5a997a8eedbb2dfdc308b895170746c8b Author: Jens Axboe Date: Tue May 19 19:52:35 2009 +0200 block: add warning to blk_make_request() Add a note about how one needs to be careful when setting up these bio chains. Extracted from Boaz's updated patch. Signed-off-by: Jens Axboe commit c5642f4bbae30122beb696e723f6da273caa570e Author: Stephen Smalley Date: Tue May 19 09:02:23 2009 -0400 selinux: remove obsolete read buffer limit from sel_read_bool On Tue, 2009-05-19 at 00:05 -0400, Eamon Walsh wrote: > Recent versions of coreutils have bumped the read buffer size from 4K to > 32K in several of the utilities. > > This means that "cat /selinux/booleans/xserver_object_manager" no longer > works, it returns "Invalid argument" on F11. getsebool works fine. > > sel_read_bool has a check for "count > PAGE_SIZE" that doesn't seem to > be present in the other read functions. Maybe it could be removed? Yes, that check is obsoleted by the conversion of those functions to using simple_read_from_buffer(), which will reduce count if necessary to what is available in the buffer. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit ef9e8b14a5c1d0afbaf12b4c3b271188ddfc52a4 Author: Steven Whitehouse Date: Tue May 19 14:25:16 2009 +0100 GFS2: Don't warn when delete inode fails on ro filesystem If the filesystem is read-only, then we expect that delete inode will fail, so there is no need to warn about it. Signed-off-by: Steven Whitehouse commit 4c6f18fc81565967da20f2d4a3922cdba33f8e2b Author: Yinghai Lu Date: Mon May 18 10:23:28 2009 -0700 x86, io-apic: Don't mark pin_programmed early Peter bisected that: | commit b9c61b70075c87a8612624736faf4a2de5b1ed30 | Date: Wed May 6 10:10:06 2009 -0700 | | x86/pci: update pirq_enable_irq() to setup io apic routing | | So we can set io apic routing only when enabling the device irq. wrecked his opteron box, ata1 interrupts fail to get through. ata1 is using irq 11: [ 1.451839] sata_svw 0000:01:0e.0: version 2.3 [ 1.456333] sata_svw 0000:01:0e.0: PCI INT A -> GSI 11 (level, low) -> IRQ 11 [ 1.463639] scsi0 : sata_svw [ 1.466949] scsi1 : sata_svw [ 1.470022] scsi2 : sata_svw [ 1.473090] scsi3 : sata_svw [ 1.476112] ata1: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe000 irq 11 [ 1.483490] ata2: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe100 irq 11 [ 1.490870] ata3: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe200 irq 11 [ 1.498247] ata4: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe300 irq 11 that pin is overlapped with pin with legacy ones. We should not set bits in pin_programmed here, so that those bit could be set later via io_apic_set_pci_routing(). [ Impact: fix boot hang on certain systems ] Reported-by: Peter Zijlstra Signed-off-by: Yinghai Lu Tested-by: Peter Zijlstra Cc: Jack Steiner LKML-Reference: <4A119990.9020606@kernel.org> Signed-off-by: Ingo Molnar commit 4aee2ad461889132bfb5a1518a9580d00e17008c Author: Jaswinder Singh Rajput Date: Tue May 19 17:07:01 2009 +0530 x86: asm/processor.h: remove double declaration Remove double declaration of: extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern unsigned short num_cache_leaves; they are already defined in the same file. [ Impact: cleanup ] Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1242733021.3377.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit fa7979663190240b838ab8c8bad7f59e618bf77c Author: Takashi Iwai Date: Tue May 19 12:50:04 2009 +0200 ALSA: hda - Fix digital beep tone calculation The digital beep tone is calculated in two different ways depending on the codec chip. The standard one is using a divider, and another one is a linear tone for IDT/STAC codecs. Currently, only the latter type is used for all codecs, which resulted in a wrong tone pitch. This patch adds the calculation of the standard HD-audio type. Also clean-up the fields in hda_beep struct. Reference: bko#13162 http://bugzilla.kernel.org/show_bug.cgi?id=13162 Signed-off-by: Takashi Iwai commit 4abc1cc2f9fe4b6bb3acc1d78e2c15af47b8133d Author: Takashi Iwai Date: Tue May 19 12:16:46 2009 +0200 ALSA: hda - Add prefix to kernel messages Add proper prefix to each kernel message in hda_intel.c. Also, avoid the unneeded prefix when CONFIG_SND_VERBOSE_PRINTK is used together with snd_print*(). Reference: bko#13207 http://bugzilla.kernel.org/show_bug.cgi?id=13207 Signed-off-by: Takashi Iwai commit a411f4bbb89f1f08687b344064d6775bce1e4658 Author: Boaz Harrosh Date: Sun May 17 19:00:01 2009 +0300 block: Un-export blk_rq_append_bio OSD was the last in-tree user of blk_rq_append_bio(). Now that it is fixed blk_rq_append_bio is un-exported and is only used internally by block layer. Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit c29b70f6ee4f2fa3ef07f55bc9082945861e5391 Author: Boaz Harrosh Date: Sun May 17 18:58:41 2009 +0300 libosd: Use of new blk_make_request Use new blk_make_request() to allocate a request from bio and avoid using deprecated blk_rq_append_bio(). This patch is dependent on a block layer patch titled: [BLOCK] New blk_make_request() takes bio returns request This is the last usage of blk_rq_append_bio in osd, it can now be un-exported. Signed-off-by: Boaz Harrosh CC: Jeff Garzik CC: FUJITA Tomonori Signed-off-by: Jens Axboe commit 79eb63e9e5875b84341a3a05f8e6ae9cdb4bb6f6 Author: Boaz Harrosh Date: Sun May 17 18:57:15 2009 +0300 block: Add blk_make_request(), takes bio, returns a request New block API: given a struct bio allocates a new request. This is the parallel of generic_make_request for BLOCK_PC commands users. The passed bio may be a chained-bio. The bio is bounced if needed inside the call to this member. This is in the effort of un-exporting blk_rq_append_bio(). Signed-off-by: Boaz Harrosh CC: Jeff Garzik Signed-off-by: Jens Axboe commit bc38bf106c967389a465d926be22c7371abba69d Author: Boaz Harrosh Date: Sun May 17 18:56:17 2009 +0300 libosd: Use new blk_rq_map_kern Now that blk_rq_map_kern will append the buffer onto the request we can use it easily for adding extra segments (eg. attributes) This patch is dependent on a block layer patch titled: [BLOCK] allow blk_rq_map_kern to append to requests Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 3a5a39276d2a32b05b1ee25b384516805b17cf87 Author: James Bottomley Date: Sun May 17 18:55:18 2009 +0300 block: allow blk_rq_map_kern to append to requests Use blk_rq_append_bio() internally instead of blk_rq_bio_prep() so blk_rq_map_kern can be called multiple times, to map multiple buffers. This is in the effort to un-export blk_rq_append_bio() Signed-off-by: James Bottomley Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit b2858d7d1639c04ca3c54988d76c5f7300b76f1c Author: Miklos Szeredi Date: Tue May 19 11:37:46 2009 +0200 splice: fix kmaps in default_file_splice_write() Unfortunately multiple kmap() within a single thread are deadlockable, so writing out multiple buffers with writev() isn't possible. Change the implementation so that it does a separate write() for each buffer. This actually simplifies the code a lot since the splice_from_pipe() helper can be used. This limitation is caused by HIGHMEM pages, and so only affects a subset of architectures and configurations. In the future it may be worth to implement default_file_splice_write() in a more efficient way on configs that allow it. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 4fc981ef9e7c0953d5c4896ce088b19c50cb018f Author: Tejun Heo Date: Tue May 19 18:33:06 2009 +0900 bio: always copy back data for copied kernel requests When a read bio_copy_kern() request fails, the content of the bounce buffer is not copied back. However, as request failure doesn't necessarily mean complete failure, the buffer state can be useful. This behavior is also inconsistent with the user map counterpart and causes the subtle difference between bounced and unbounced IO causes confusion. This patch makes bio_copy_kern_endio() ignore @err and always copy back data on request completion. Signed-off-by: Tejun Heo Cc: Boaz Harrosh Cc: James Bottomley Signed-off-by: Jens Axboe commit 5f49f63178360b07a095bd33b0d850d60edf7590 Author: Tejun Heo Date: Tue May 19 18:33:05 2009 +0900 block: set rq->resid_len to blk_rq_bytes() on issue In commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f, while introducing rq->resid_len, the default value of residue count was changed from full count to zero. The conversion was done under the assumption that when a request fails residue count wasn't defined. However, Boaz and James pointed out that this wasn't true and the residue count should be preserved for failed requests too. This patchset restores the original behavior by setting rq->resid_len to blk_rq_bytes(rq) on request start and restoring explicit clearing in affected drivers. While at it, take advantage of the fact that rq->resid_len is set to full count where applicable. * ide-cd: rq->resid_len cleared on pc success * mptsas: req->resid_len cleared on success * sas_expander: rsp/req->resid_len cleared on success * mpt2sas_transport: req->resid_len cleared on success * ide-cd, ide-tape, mptsas, sas_host_smp, mpt2sas_transport, ub: take advantage of initial full count to simplify code Boaz Harrosh spotted bug in resid_len initialization. Fixed as suggested. Signed-off-by: Tejun Heo Acked-by: Borislav Petkov Cc: Boaz Harrosh Cc: James Bottomley Cc: Pete Zaitcev Cc: Bartlomiej Zolnierkiewicz Cc: Sergei Shtylyov Cc: Eric Moore Cc: Darrick J. Wong Signed-off-by: Jens Axboe commit 3755100dd5f66761aaaa7ae44c70b319a7c78a56 Author: Tejun Heo Date: Tue May 19 18:33:04 2009 +0900 ub: use __blk_end_request_all() ub_end_rq() always tries to complete full request. The @cmd_len parameter was there because rq->data_len used to be overwritten with residue count. Drop @cmd_len and use __blk_end_request_all(). Signed-off-by: Tejun Heo Cc: Pete Zaitcev Signed-off-by: Jens Axboe commit 11a728110633320d95935a1ba79c038db303596f Author: Lopez Cruz, Misael Date: Mon May 18 11:53:04 2009 -0500 ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3 Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver. Voice DAI init function enables corresponding interface by writting directly to VOICE_IF codec register. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujflausi Signed-off-by: Mark Brown commit b74bd40fa4ae018898c8a6429c2a7daf61516524 Author: Lopez Cruz, Misael Date: Mon May 18 11:52:55 2009 -0500 ASoC: TWL4030: Add control for selecting codec operation mode Add a control for selecting the codec operation mode. TWL4030 codec has two modes: - Option 1. Audio only (4 audio DACs) - Option 2. Voice/Audio (2 audio DACs and voice ADC/DAC) Control is restricted when a stream is ongoing, since codec's operation mode cannot be changed on-the-fly. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujflausi Signed-off-by: Mark Brown commit 5e9145edcc368295cb353872b4a6026e13f5565e Author: Alberto Panizzo Date: Tue May 19 10:01:03 2009 +0200 Atmark Armadillo 500 board support. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e9ccb73ab57ada469602506496c42e5b4468ac3e Author: Steven Whitehouse Date: Tue May 19 10:23:23 2009 +0100 GFS2: Update docs Update a few things which were out of date, and fix a typo. Signed-off-by: Steven Whitehouse commit fe64d517df0970a68417184a12fcd4ba0589cc28 Author: Steven Whitehouse Date: Tue May 19 10:01:18 2009 +0100 GFS2: Umount recovery race fix This patch fixes a race condition where we can receive recovery requests part way through processing a umount. This was causing problems since the recovery thread had already gone away. Looking in more detail at the recovery code, it was really trying to implement a slight variation on a work queue, and that happens to align nicely with the recently introduced slow-work subsystem. As a result I've updated the code to use slow-work, rather than its own home grown variety of work queue. When using the wait_on_bit() function, I noticed that the wait function that was supplied as an argument was appearing in the WCHAN field, so I've updated the function names in order to produce more meaningful output. Signed-off-by: Steven Whitehouse commit 181da78cd048ce866b05a2e0208ea09d2f80e721 Author: Peter Ujfalusi Date: Tue May 19 10:51:03 2009 +0300 ASoC: TWL4030: Fix Analog capture path for AUXR AUXR is selected by bit 2 and not by bit 1 in the ANAMICR register. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fd51d251e4cdb21f68e9dbc4336514d64a105a79 Author: Stefan Raspl Date: Tue May 19 09:59:08 2009 +0200 blktrace: remove debugfs entries on bad path debugfs directory entries for devices are not removed on some of the failure pathes in do_blk_trace_setup(). One way to reproduce is to start blktrace on multiple devices with insufficient Vmalloc space: Devices will fail with a message like this: BLKTRACESETUP(2) /dev/sdu failed: 5/Input/output error If so, the respective entries in debugfs (e.g. /sys/kernel/debug/block/sdu) will remain and subsequent attempts to start blktrace on the respective devices will not succeed due to existing directories. [ Impact: fix /debug/tracing file cleanup corner case ] Signed-off-by: Stefan Raspl Acked-by: Li Zefan Cc: Li Zefan Cc: schwidefsky@de.ibm.com Cc: heiko.carstens@de.ibm.com LKML-Reference: <4A1266CC.5040801@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 143c145e3a475065a4be661468d0df1bd0b25f74 Author: Li Zefan Date: Tue May 19 14:43:15 2009 +0800 tracing/events: Documentation updates - fix some typos - document the difference between '>' and '>>' - document the 'enable' toggle - remove section "Defining an event-enabled tracepoint", since it's out-dated and sample/trace_events/ already serves this purpose. v2: add "Updated by Li Zefan" [ Impact: make documentation up-to-date ] Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: "Theodore Ts'o" LKML-Reference: <4A125503.5060406@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8b3884a841f398f6e0a0411d6929d8d9381bb265 Author: Hunter Adrian Date: Thu May 14 06:32:30 2009 +0200 UBIFS: return error if link and unlink race Consider a scenario when 'vfs_link(dirA/fileA)' and 'vfs_unlink(dirA/fileA, dirB/fileB)' race. 'vfs_link()' does not lock 'dirA->i_mutex', so this is possible. Both of the functions lock 'fileA->i_mutex' though. Suppose 'vfs_unlink()' wins, and takes 'fileA->i_mutex' mutex first. Suppose 'fileA->i_nlink' is 1. In this case 'ubifs_unlink()' will drop the last reference, and put 'inodeA' to the list of orphans. After this, 'vfs_link()' will link 'dirB/fileB' to 'inodeA'. Thir is a problem because, for example, the subsequent 'vfs_unlink(dirB/fileB)' will add the same inode to the list of orphans. This problem was reported by J. R. Okajima [Artem: add more comments, amended commit message] Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 4200efd9acda4accf24640f1e77d24fdcdb524df Author: Ingo Molnar Date: Tue May 19 09:22:19 2009 +0200 sched: properly define the sched_group::cpumask and sched_domain::span fields Properly document the variable-size structure tricks we are doing wrt. struct sched_group and sched_domain, and use the field[0] GCC extension instead of defining a vla array. Dont use unions for this, as pointed out by Linus. [ Impact: cleanup, un-confuse Sparse and LLVM ] Reported-by: Jeff Garzik Acked-by: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit 54c181935d2a2d46a1b2f00cbb25acc35e4f5ee2 Author: Kumar Gala Date: Fri May 8 15:05:23 2009 -0500 powerpc/fsl: Setup PCI inbound window based on actual amount of memory Previouslly we just always set the inbound window to 2G. This was broken for systems with >2G. If a system has >=4G we will need SWIOTLB support to handle that case. We now allocate PCICSRBAR/PEXCSRBAR right below the lowest PCI outbound address for MMIO or the 4G boundary (if the lowest PCI address is above 4G). Signed-off-by: Kumar Gala commit 01af9507ff36578dad89b1cc88ff37ac18e719cb Author: Kumar Gala Date: Wed Apr 15 14:38:40 2009 -0500 powerpc/85xx: Add P2020DS board support The P2020 is a dual e500v2 core based SOC with: * 3 PCIe controllers * 2 General purpose DMA controllers * 2 sRIO controllers * 3 eTSECS * USB 2.0 * SDHC * SPI, I2C, DUART * enhanced localbus * and optional Security (P2020E) security w/XOR acceleration The p2020 DS reference board is pretty similar to the existing MPC85xx DS boards and has a ULI 1575 connected on one of the PCIe controllers. Signed-off-by: Ted Peters Signed-off-by: Kumar Gala commit 404614728f857d0ac63d29c3a29d0cf392a15598 Author: Kumar Gala Date: Fri May 8 08:47:45 2009 -0500 powerpc/fsl: Update FSL esdhc binding Updated the binding spec to use "fsl,eshdc" as the base compatible rather than the first chip in the family. Signed-off-by: Kumar Gala commit 181a6ff034f71b853bb2510db6afad2862e15a8e Author: Li Yang Date: Tue May 12 16:36:03 2009 +0800 rapidio: fix section mismatch warnings Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 186e74b9c5ab3f3f053797c879882a1f5c0cbd09 Author: Li Yang Date: Tue May 12 16:35:59 2009 +0800 powerpc/fsl_rio: use LAW address from device tree Instead of fixed address in old code. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit fc274a15692b0ee9751f586d7f703267c783809b Author: Kumar Gala Date: Wed May 13 17:02:24 2009 -0500 powerpc/fsl_rio: Fix compile warnings We we build with resource_size_t as a 64-bit quantity we get: arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_setup': arch/powerpc/sysdev/fsl_rio.c:1029: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' arch/powerpc/sysdev/fsl_rio.c:1029: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'resource_size_t' Signed-off-by: Kumar Gala commit 558ab308906b398a16fa52f296407418470356c0 Author: Kumar Gala Date: Tue May 12 16:59:12 2009 -0500 powerpc/8xxx: Update PCI outbound window addresses for 36-bit configs In these configuration we expect to have large amounts of memory (> 4G) and thus will bounce via swiotlb some region of PCI address space. The outbound windows were wasting 512M of address space by leaving a gap between the top of the outbound window and the 4G boundary. By moving the top of the outbound window up to the 4G boundary we can reclaim the vast majority of the 512M (minus space needed for PEXCSRBAR) and thus reduces the amount of memory we have to bounce. Signed-off-by: Kumar Gala commit 3da34aae03d498ee62f75aa7467de93cce3030fd Author: Kumar Gala Date: Tue May 12 15:51:56 2009 -0500 powerpc/fsl: Support unique MSI addresses per PCIe Root Complex Its feasible based on how the PCI address map is setup that the region of PCI address space used for MSIs differs for each PHB on the same SoC. Instead of assuming that the address mappes to CCSRBAR 1:1 we read PEXCSRBAR (BAR0) for the PHB that the given pci_dev is on. Signed-off-by: Kumar Gala commit 12ac426f889f3a6b821c7ca73e74d83f0fc84c13 Author: Kumar Gala Date: Fri May 8 16:28:42 2009 -0500 powerpc/85xx: Add MSI nodes for MPC8568/9 MDS systems The MPC8568/9 chips support MSIs on PCIe so no reason not to enable them. Signed-off-by: Kumar Gala commit 190ee6ed71577257106a0366c16473a5c81f582f Author: Kumar Gala Date: Wed May 13 16:23:57 2009 -0500 fsldma: Fix compile warnings We we build with dma_addr_t as a 64-bit quantity we get: drivers/dma/fsldma.c: In function 'fsl_chan_xfer_ld_queue': drivers/dma/fsldma.c:625: warning: cast to pointer from integer of different size drivers/dma/fsldma.c: In function 'fsl_dma_chan_do_interrupt': drivers/dma/fsldma.c:737: warning: cast to pointer from integer of different size drivers/dma/fsldma.c:737: warning: cast to pointer from integer of different size drivers/dma/fsldma.c: In function 'of_fsl_dma_probe': drivers/dma/fsldma.c:927: warning: cast to pointer from integer of different Signed-off-by: Kumar Gala Acked-by: Dan Williams commit bd78c33a096a73f09b1b998a481290e229382a8b Author: Anton Vorontsov Date: Sat May 2 06:16:59 2009 +0400 powerpc/85xx: Add STMicro M25P40 serial flash support for MPC8569E-MDS For serial flash support we need to: - Add QE Par IO Bank E device tree node, a GPIO from this bank is used for SPI chip-select line; - Add serial-flash node; - Add proper module alias into of/base.c. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5e8306fe5de2ce0c3272abd4b8ab20323a8bf0ff Author: Anton Vorontsov Date: Sat May 2 06:16:56 2009 +0400 powerpc/85xx: Enable Serial RapidIO for MPC85xx MDS boards Select HAS_RAPIDIO symbol and add rio nodes for MPC8568E-MDS and MPC8569E-MDS boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 28da456a480c6149fb1cdfa006c3fbff6b7b6bc2 Author: Anton Vorontsov Date: Sat May 2 06:16:53 2009 +0400 powerpc/85xx: Add eSDHC support for MPC8569E-MDS boards Note that eSDHC and DUART0 are mutually exclusive on MPC8569E-MDS boards. Default option is DUART0, so eSDHC is disabled by default. U-Boot will fixup device tree if eSDHC should be used instead of DUART0. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ea38f579d57e19bc054aaea4b9a2a9ddad85e9eb Author: Anton Vorontsov Date: Sat May 2 06:16:51 2009 +0400 powerpc/85xx: Fix reg & interrupts for mpc8569emds localbus added NAND This patch fixes bogus reg = <> property in the localbus node, and fixes interrupt property (should be "interrupts"). Also add node for NAND support. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cd7e4a2cbb147a2f15abfad93e1af847e6bb339f Author: Anton Vorontsov Date: Sat May 2 06:16:49 2009 +0400 powerpc/85xx: Fix mpc8569emds crypto node to include SNOW unit fsl,exec-units-mask should be 0xbfe to include SNOW unit in MPC8569E's security engine. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit bfa568d19a3faed3b94978ad48ac15d1b0d7e5bc Author: Anton Vorontsov Date: Sat May 2 06:16:47 2009 +0400 powerpc/85xx: Add PCI IDs for MPC8569 family processors This patch adds PCI IDs for MPC8569 and MPC8569E processors, plus adds appropriate quirks for these IDs, and thus makes PCI-E actually work on MPC8569E-MDS boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit b1b680258618dee231a4136cdef5e1903c090817 Author: Kumar Gala Date: Fri May 8 08:40:11 2009 -0500 powerpc/fsl: Removed reg property from 85xx/86xx soc node Between the addition of the ecm/mcm law nodes and the fact that the get_immrbase() has been using the range property of the SoC to determine the base address of CCSR space we no longer need the reg property at the soc node level. It has been ill specified and varied between device trees to cover either the {e,m}cm-law node, some odd subset of CCSR space or all of CCSR space. Signed-off-by: Kumar Gala commit 01b14a906bfee5745eb23f5b57621e5ad320ae1d Author: Haiying Wang Date: Fri May 1 15:40:51 2009 -0400 powerpc/qe: add new qe properties for QE based chips Add fsl,qe-num-riscs and fsl,qe-num-snums to all the devices trees which have qe node. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 4b3b42b38af82e4815178d4762986f246adfe0ec Author: Haiying Wang Date: Fri May 1 15:40:50 2009 -0400 powerpc/85xx: Add MPC8569MDS board support The MPC8569 is similiar to the MPC8568. It doubles the number of QUICC Engine RISC cores from 2 to 4. Removes eTSECs, TLU and adds the eSDHC controller. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 674e4f93e2524e5710d5f2081feaedfd08f924a7 Author: Haiying Wang Date: Fri May 1 15:40:49 2009 -0400 net/ucc_geth: Assign six threads to Rx for UEC In the case the QE has 46 SNUMs for the threads to support four UCC Ethernet at 1000Base-T simultaneously. Signed-off-by: Haiying Wang Acked-by: David S. Miller Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 98ca77af23da6682bb3e34961a3f32e2c064a4ce Author: Haiying Wang Date: Fri May 1 15:40:48 2009 -0400 powerpc/qe: update QE Serial Number The latest QE chip may have more Serial Number(SNUM)s of thread to use. We will get the number of SNUMs from device tree by reading the new property "fsl,qe-num-snums", and set 28 as the default number of SNUMs so that it is compatible with the old QE chips' device trees which don't have this new property. The macro QE_NUM_OF_SNUM is defined as the maximum number in QE snum table which is 256. Also we update the snum_init[] array with 18 more new SNUMs which are confirmed to be useful on new chip. Signed-off-by: Haiying Wang Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 345f84227b50e90329dd303499024603596566f4 Author: Haiying Wang Date: Wed Apr 29 14:14:35 2009 -0400 net/ucc_geth: update riscTx and riscRx in ucc_geth Change the definition of riscTx and riscRx to unsigned integer instead of enum, and change their values to support 4 risc allocation if the qe has 4 RISC engines. Signed-off-by: Haiying Wang Acked-by: David S. Miller Signed-off-by: Kumar Gala commit 06c4435021f4856261edd01e2691071edeb8fa51 Author: Haiying Wang Date: Fri May 1 15:40:47 2009 -0400 powerpc/qe: update risc allocation for QE Change the RISC allocation to macros instead of enum, add function to read the number of risc engines from the new property "fsl,qe-num-riscs" under the qe node in dts. Add new property "fsl,qe-num-riscs" description in qe.txt Signed-off-by: Haiying Wang Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit ea5130dcb438840d64a168b67dd221e4d46246b8 Author: Haiying Wang Date: Wed Apr 29 14:14:33 2009 -0400 powerpc/85xx: clean up for mpc8568_mds name Keep an unique machine def for the MPC8568 MDS board to handle some subtle differences between the future MDS board. Also set the bcsrs in setup_arch() only for mpc8568_mds because other mds has different bcsr settings. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 1e76dff22ce45bc8b869a9956b24a77877915364 Author: Kumar Gala Date: Wed Apr 22 12:32:09 2009 -0500 powerpc/86xx: clean up smp init code Removed the need for asm/mpc86xx.h as it was only used in mpc86xx_smp.c and just moved the defines it cared about into there. Also fixed up the ioremap to only map the one 4k page we need access to and to iounmap when we are done. Signed-off-by: Kumar Gala commit ca851c783ccf9784fb6ffebcb25e2b6fd0b8dccc Author: Kumar Gala Date: Wed Apr 22 13:44:24 2009 -0500 powerpc/cpm: Remove some cruft code and defines Kill of some old defines and macros that we no longer use like CPM_MAP_ADDR and CPM_IRQ_OFFSET. Signed-off-by: Kumar Gala commit 89d93347d1f66832c43e6b25a669fddff89929b5 Author: Becky Bruce Date: Mon Apr 20 11:26:48 2009 -0500 powerpc: make dma_window_* in pci_controller struct avail on 32b Also, convert them to resource_size_t (which is unsigned long on 64-bit, so it's not a change there). We will be using these on fsl 32b to indicate the start and size address of memory that the pci controller can actually reach - this is needed to determine if an address requires bounce buffering. For now, initialize them to a standard value; in the near future, the value will be calculated based on how the inbound windows are programmed. Signed-off-by: Becky Bruce Acked-by: Ben Herrenschmidt Signed-off-by: Kumar Gala commit da385780489db4f55dad96609511a9a6d1b041cb Author: Kumar Gala Date: Mon Apr 27 11:02:16 2009 -0500 powerpc/86xx: Add new LAW & MCM device tree nodes for all 86xx systems Signed-off-by: Kumar Gala commit 5a928079c9b95e7c34526b07a3bb80b8d062347f Author: Kumar Gala Date: Wed Apr 22 13:12:14 2009 -0500 powerpc/86xx: Add binding for LAWs and MCM The first 4k region of CCSR space is well defined for local access windows, CCSRBAR, etc. The second 4k region is well defined as register for configuring and getting errors for the MPX coherency module. Signed-off-by: Kumar Gala commit e1a228973646bfa09575423cf5c40b3d0f40d670 Author: Kumar Gala Date: Wed Apr 22 13:17:42 2009 -0500 powerpc/85xx: Add new LAW & ECM device tree nodes for all 85xx systems Signed-off-by: Kumar Gala commit 6ca05ee11f3da9484c5323aeaec7cee540af70ed Author: Kumar Gala Date: Mon Apr 27 13:17:47 2009 -0500 powerpc/85xx: Add binding for LAWs and ECM The first 4k region of CCSR space is well defined for local access windows, CCSRBAR, etc. The second 4k region is well defined as register for configuring and getting errors for the ECM coherency module. Signed-off-by: Kumar Gala commit 81db718d48b991c33cbc7fe425003e374c087c36 Author: Kumar Gala Date: Wed Apr 22 13:18:02 2009 -0500 powerpc/fsl: use of_iomap() for rstcr mapping The rstcr register mapping code was written sometime ago before of_iomap() existed. We can use it and clean up the code a bit and get rid of one user of get_immrbase() in the process. Signed-off-by: Kumar Gala commit abd7d4837fbdd9bf0cf0f3efefa1312d6fa3082c Author: Becky Bruce Date: Mon Apr 20 11:26:47 2009 -0500 powerpc/86xx: Add 36-bit device tree for mpc8641hpcn The new dts places most of the devices in physical address space above 32-bits, which allows us to have more than 4GB of RAM present. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 9bf8b2741e6cd2e5ee98bfc050e3694890fdc811 Author: Kumar Gala Date: Wed Apr 15 14:33:38 2009 -0500 powerpc: Refactor board check for PCI quirks on FSL boards with uli1575 Refactor the check to determine if the quirk is applicable to the boards into one inline function so we only have to change one place to add more boards that the quirks might be applicable to. Also removed a warning related to unused temp variable. Signed-off-by: Kumar Gala commit 28eac2b74cc7136dee3f2615167811d24d25bc97 Author: Kumar Gala Date: Wed Apr 15 10:38:49 2009 -0500 powerpc/fsl: Remove cell-index from PCI nodes The cell-index property isn't used on PCI nodes and is ill defined. Remove it for now and if someone comes up with a good reason and consistent definition for it we can add it back Signed-off-by: Kumar Gala commit e2ff7544e121a574b151d9012c72f6601df2f087 Author: Michael Ellerman Date: Wed Apr 8 10:02:50 2009 +1000 powerpc/oprofile: Remove unused dump_pmcs() in FSL oprofile It's still in the git history if anyone wants it. Signed-off-by: Michael Ellerman Signed-off-by: Kumar Gala commit 69d3a84a646d6ad6cd693a7a3d5b9af414113d2c Author: Hiroshi DOYU Date: Wed Jan 28 21:32:08 2009 +0200 omap iommu: simple virtual address space management This patch provides a device drivers, which has a omap iommu, with address mapping APIs between device virtual address(iommu), physical address and MPU virtual address. There are 4 possible patterns for iommu virtual address(iova/da) mapping. |iova/ mapping iommu_ page | da pa va (d)-(p)-(v) function type --------------------------------------------------------------------------- 1 | c c c 1 - 1 - 1 _kmap() / _kunmap() s 2 | c c,a c 1 - 1 - 1 _kmalloc()/ _kfree() s 3 | c d c 1 - n - 1 _vmap() / _vunmap() s 4 | c d,a c 1 - n - 1 _vmalloc()/ _vfree() n* 'iova': device iommu virtual address 'da': alias of 'iova' 'pa': physical address 'va': mpu virtual address 'c': contiguous memory area 'd': dicontiguous memory area 'a': anonymous memory allocation '()': optional feature 'n': a normal page(4KB) size is used. 's': multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used. '*': not yet, but feasible. Signed-off-by: Hiroshi DOYU commit 066aa9c1e3d0af52619fe26f05810990ff381d8c Author: Hiroshi DOYU Date: Wed Jan 28 21:32:04 2009 +0200 omap iommu: omap3 iommu device registration Signed-off-by: Hiroshi DOYU commit 93f154b594fe47e4a7e5358b309add449a046cd3 Author: Eric Dumazet Date: Mon May 18 22:19:19 2009 -0700 net: release dst entry in dev_hard_start_xmit() One point of contention in high network loads is the dst_release() performed when a transmited skb is freed. This is because NIC tx completion calls dev_kree_skb() long after original call to dev_queue_xmit(skb). CPU cache is cold and the atomic op in dst_release() stalls. On SMP, this is quite visible if one CPU is 100% handling softirqs for a network device, since dst_clone() is done by other cpus, involving cache line ping pongs. It seems right place to release dst is in dev_hard_start_xmit(), for most devices but ones that are virtual, and some exceptions. David Miller suggested to define a new device flag, set in alloc_netdev_mq() (so that most devices set it at init time), and carefuly unset in devices which dont want a NULL skb->dst in their ndo_start_xmit(). List of devices that must clear this flag is : - loopback device, because it calls netif_rx() and quoting Patrick : "ip_route_input() doesn't accept loopback addresses, so loopback packets already need to have a dst_entry attached." - appletalk/ipddp.c : needs skb->dst in its xmit function - And all devices that call again dev_queue_xmit() from their xmit function (as some classifiers need skb->dst) : bonding, vlan, macvlan, eql, ifb, hdlc_fr Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 496a60cdcd5d0d884dddf6c3b4ea912923a70f13 Author: Eric W. Biederman Date: Wed May 13 17:02:50 2009 +0000 net: FIX bonding sysfs rtnl_lock deadlock Sysfs files for a network device can not unconditionally take the rtnl_lock as the bonding sysfs files do. If someone accesses those sysfs files while the network device is being unregistered with the rtnl_lock held we will deadlock. So use trylock and restart_syscall to avoid this problem. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 26574401fef6766f6c3ca25b5c13febe662d2a32 Author: Eric W. Biederman Date: Wed May 13 17:01:51 2009 +0000 net: Fix ipoib rtnl_lock sysfs deadlock. Network device sysfs files that grab the rtnl_lock unconditionally will deadlock if accessed when the network device is being unregistered. So use trylock and syscall_restart to avoid this deadlock. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit af38f2989572704a846a5577b5ab3b1e2885cbfb Author: Eric W. Biederman Date: Wed May 13 17:00:41 2009 +0000 net: Fix bridgeing sysfs handling of rtnl_lock Holding rtnl_lock when we are unregistering the sysfs files can deadlock if we unconditionally take rtnl_lock in a sysfs file. So fix it with the now familiar patter of: rtnl_trylock and syscall_restart() Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9b8adb5ea005fe73acd5dd58f9bd47eafa74c9d1 Author: Eric W. Biederman Date: Wed May 13 16:59:21 2009 +0000 net: Fix devinet_sysctl_forward sysctls are unregistered with the rntl_lock held making it unsafe to unconditionally grab the the rtnl_lock. Instead we need to call rtnl_trylock and restart the system call if we can not grab it. Otherwise we could deadlock at unregistration time. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5007392d8512e666107dc356d4c2e05627b9029b Author: Eric W. Biederman Date: Wed May 13 16:58:17 2009 +0000 net: FIX ipv6_forward sysctl restart Just returning -ERESTARTSYS without a signal pending is not good that will just leak it to userspace. We need return -ERESTARTNOINTR so we always restart and set signal pending so that we fall of the fast path of syscall return and setup the system call restart. So use restart_syscall() which does all of this for us. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 336ca57c3b4e2b58ea3273e6d978ab3dfa387b4c Author: Eric W. Biederman Date: Wed May 13 16:57:25 2009 +0000 net-sysfs: Use rtnl_trylock in sysfs methods. The earlier patch to fix the deadlock between a network device going away and writing to sysfs attributes was incomplete. - It did not set signal_pending so we would leak ERSTARTSYS to user space. - It used ERESTARTSYS which only restarts if sigaction configures it to. - It did not cover store and show for ifalias. So fix all of these up and use the new helper restart_syscall so we get the details correct on what it takes. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 690cc3ffe33ac4a2857583c22d4c6244ae11684d Author: Eric W. Biederman Date: Wed May 13 16:55:10 2009 +0000 syscall: Implement a convinience function restart_syscall Currently when we have a signal pending we have the functionality to restart that the current system call. There are other cases such as nasty lock ordering issues where it makes sense to have a simple fix that uses try lock and restarts the system call. Buying time to figure out how to rework the locking strategy. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 Author: Johann Baudy Date: Mon May 18 22:11:22 2009 -0700 net: TX_RING and packet mmap New packet socket feature that makes packet socket more efficient for transmission. - It reduces number of system call through a PACKET_TX_RING mechanism, based on PACKET_RX_RING (Circular buffer allocated in kernel space which is mmapped from user space). - It minimizes CPU copy using fragmented SKB (almost zero copy). Signed-off-by: Johann Baudy Signed-off-by: David S. Miller commit f67f34084914144de55c785163d047d5d8dddd2d Author: Dhananjay Phadke Date: Mon May 18 21:46:40 2009 -0700 netxen: fix msi irq setup The pdev->irq was not saved in netxen_adapter, causing request_irq() with invalid irq number. This was broken in commit be339aee634d5cb98a8df8d6febe04002ec497f3 ("netxen: fix irq tear down and msix leak."). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit bb803cfbecb03a0cf8dc7e1864f18dda6631af00 Merge: 3878fb6 511e11e Author: David S. Miller Date: Mon May 18 21:08:20 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/scsi/fcoe/fcoe.c commit 3878fb6fdbceecca20b15748f807340854220f06 Author: Wolfgang Grandegger Date: Fri May 15 23:39:33 2009 +0000 The patch adds support for the PCI cards: PCIcan and PCIcanx (1, 2 or 4 channel) from Kvaser (http://www.kvaser.com). Signed-off-by: Per Dalen Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit a61a8423c71d6da6f1f6f854d8adcea24b80bef6 Author: Wolfgang Grandegger Date: Fri May 15 23:39:32 2009 +0000 can: SJA1000 driver for EMS PCI cards The patch adds support for the one or two channel CPC-PCI and CPC-PCIe cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). Signed-off-by: Sebastian Haas Signed-off-by: Markus Plessing Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit f534e52f091a7b9f51fb6726710bdf731b663e94 Author: Wolfgang Grandegger Date: Fri May 15 23:39:31 2009 +0000 can: SJA1000 generic platform bus driver This driver adds support for the SJA1000 chips connected to the "platform bus", which can be found on various embedded systems. Signed-off-by: Sascha Hauer Signed-off-by: Wolfgang Grandegger Signed-off-by: Marc Kleine-Budde Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 429da1cc841bc9f2e762fd7272fc2b80314b890a Author: Wolfgang Grandegger Date: Fri May 15 23:39:30 2009 +0000 can: Driver for the SJA1000 CAN controller This patch adds the generic Socket-CAN driver for the Philips SJA1000 full CAN controller. Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 39549eef3587f1c1e8c65c88a2400d10fd30ea17 Author: Wolfgang Grandegger Date: Fri May 15 23:39:29 2009 +0000 can: CAN Network device driver and Netlink interface The CAN network device driver interface provides a generic interface to setup, configure and monitor CAN network devices. It exports a set of common data structures and functions, which all real CAN network device drivers should use. Please have a look to the SJA1000 or MSCAN driver to understand how to use them. The name of the module is can-dev.ko. Furthermore, it adds a Netlink interface allowing to configure the CAN device using the program "ip" from the iproute2 utility suite. For further information please check "Documentation/networking/can.txt" Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 4261a2043f1bed16f226c507ea37015090600c0f Author: Wolfgang Grandegger Date: Fri May 15 23:39:28 2009 +0000 can: Update MAINTAINERS and CREDITS file Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit e20dad964aeac229a204e298c563b6ea7ff1e987 Author: Wolfgang Grandegger Date: Fri May 15 23:39:27 2009 +0000 can: Documentation for the CAN device driver interface This patch documents the CAN netowrk device drivers interface, removes obsolete documentation and adds some useful links to CAN resources. Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit a6286ee630f6d95f8466e19d7f1ae38d677028ae Author: Anant Gole Date: Mon May 18 15:19:01 2009 -0700 net: Add TI DaVinci EMAC driver Add support for TI DaVinci EMAC driver. TI DaVinci Ethernet Media Access Controller module is based upon TI CPPI 3.0 DMA engine and supports 10/100 Mbps on all and Gigabit modes on some TI devices. It supports MII/RMII and has up to 8Kbytes of internal descriptor memory. This driver has been working on several TI devices including DM644x, DM646x and DA830 platforms. The specs of this device are available at: http://www.ti.com/litv/pdf/sprue24a Signed-off-by: Anant Gole Signed-off-by: Kevin Hilman Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 75834fc3b6fcff00327f5d2a18760c1e8e0179c5 Author: Eric Paris Date: Mon May 18 10:26:10 2009 -0400 SELinux: move SELINUX_MAGIC into magic.h The selinuxfs superblock magic is used inside the IMA code, but is being defined in two places and could someday get out of sync. This patch moves the declaration into magic.h so it is only done once. Signed-off-by: Eric Paris Signed-off-by: James Morris commit d23a9b5baa1a37ac3620e1ba080965c505053749 Author: Rami Rosen Date: Mon May 18 01:47:52 2009 +0000 ipv4: cleanup: remove unnecessary include. There is no need for net/icmp.h header in net/ipv4/fib_frontend.c. This patch removes the #include net/icmp.h from it. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit e204a345a0b11c6522ec06e62dee71628a492408 Author: Rami Rosen Date: Mon May 18 01:19:12 2009 +0000 ipv4: cleanup - remove two unused parameters from fib_semantic_match(). Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 450c4ea15ecb89567e6a75b89cbb8a598a7efb75 Author: Eric Dumazet Date: Mon May 18 00:35:38 2009 +0000 vlan: use struct netdev_queue counters instead of dev->stats We can update netdev_queue tx_bytes/tx_packets/tx_dropped counters instead of dev->stats ones, to reduce number of cache lines dirtied in xmit path. This fixes a performance problem on SMP when many different cpus take vlan tx path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7004bf252c53da18f6b55103e0c92f777f846806 Author: Eric Dumazet Date: Mon May 18 00:34:33 2009 +0000 net: add tx_packets/tx_bytes/tx_dropped counters in struct netdev_queue offsetof(struct net_device, features)=0x44 offsetof(struct net_device, stats.tx_packets)=0x54 offsetof(struct net_device, stats.tx_bytes)=0x5c offsetof(struct net_device, stats.tx_dropped)=0x6c Network drivers that touch dev->stats.tx_packets/stats.tx_bytes in their tx path can slow down SMP operations, since they dirty a cache line that should stay shared (dev->features is needed in rx and tx paths) We could move away stats field in net_device but it wont help that much. (Two cache lines dirtied in tx path, we can do one only) Better solution is to add tx_packets/tx_bytes/tx_dropped in struct netdev_queue because this structure is already touched in tx path and counters updates will then be free (no increase in size) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ba98898eb3fc07ee54566fcc3626354a44355acb Author: Peter P Waskiewicz Jr Date: Sun May 17 20:58:21 2009 +0000 ixgbe: Increase the driver version number Marching along, let's bump the version number to indicate things actually have happened to the driver. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1fcf03e65650ed888543d33b018bec8dcd95c8e2 Author: Peter P Waskiewicz Jr Date: Sun May 17 20:58:04 2009 +0000 ixgbe: Add generic XAUI support to 82599 This patch adds the generic XAUI device support for 82599 controllers. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e76678dd654545c98a5d0bdc66bd41350573c23e Author: Alexander Duyck Date: Sun May 17 20:57:47 2009 +0000 ixgbe: set max desc to prevent total RSC packet size of 64K The performance of hardware RSC is greatly reduced if the total for max rsc descriptors multiplied by the buffer size is greater than 65535. To prevent this we need to adjust the max rsc descriptors appropriately. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 82d048186e403f36e083b37ad42aa90abb7dcaac Merge: 62551d3 d3707d9 Author: David S. Miller Date: Mon May 18 14:48:30 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 7a05a2cbd317cbd16e6d1689bb1e5e208eaaba6f Author: Ben Dooks Date: Mon May 18 20:15:01 2009 +0100 [ARM] S3C24XX: GPIO: Change usb-simtec.c to use gpiolib. Make arch/arm/mach-s3c2410/usb-simtec.c use gpiolib to manage gpio access. Signed-off-by: Ben Dooks commit 5233c178d4cedad0acd0eb0f24b2e09f7fafaa1c Author: Ben Dooks Date: Mon May 18 20:10:43 2009 +0100 [ARM] S3C24XX: GPIO: Fix missing GPIOs in gpiolib The GPG bank has 16 IOs, not 10. Add the missing GPH bank. Signed-off-by: Ben Dooks commit 9c0ec95797052af84b7579e2a00ea212cebf71a8 Author: Ben Dooks Date: Mon May 18 20:03:23 2009 +0100 [ARM] S3C24XX: GPIO: Move gpiolib initialisation earlier The arch_initcall() is too late for board initialisation to use gpiolib when doing their machine specific initilisation via the .init_machine callback. Bring the file into line with the s3c64xx implementation and use the core_initcall() to register the GPIO chips. Signed-off-by: Ben Dooks commit 373e9644c5f557bc8992036f9a9281e9d98aef40 Author: Ben Dooks Date: Mon May 18 19:40:18 2009 +0100 [ARM] S3C24XX: GPIO: Fix error returns from gpio functions Several GPIO functions have been returning -1 to indicate an error instead of returning a proper error code. Change to return -EINVAL for invalid argument(s). Signed-off-by: Ben Dooks commit e1baa011a7160b491896b577d4f01b696be308fa Author: wanzongshun Date: Sat May 9 02:41:01 2009 +0100 [ARM] 5512/1: Add w90p910 rtc,kpi and usbd device platform_device define. Add rtc,kpi and usbd device platform_device define in arch/arm/mach-w90x900/mach-w90p910evb.c. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 0351c506af1443570194278a7f17414e212a4a74 Author: wanzongshun Date: Sat May 9 02:39:41 2009 +0100 [ARM] 5511/1: Add w90p910 rtc,kpi and usbd device map_desc define. Add rtc,kpi and usbd device map_desc define in /arch/arm/mach-w90x900/w90p910.c. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit f7a9a4d782628b4bd2392d931b95bd49732a2918 Author: Linus Walleij Date: Fri May 8 08:59:51 2009 +0100 [ARM] 5510/1: U300 GPIO debug and init fixes This moves the GPIO driver away from using __devinit and __devexit It also removes all printk() in favor of using dev_* print macros on pdev->dev struct instead. Surplus prints are removed, and the platform_device_probe() function is used instead of putting a .probe function in the platform driver struct. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bcb8a0d6f5e73c61a5290b4faaaa48dfa629e6b0 Merge: 543899f 0b13406 Author: Ben Dooks Date: Mon May 18 16:32:29 2009 +0100 [ARM] S3C: Merge next-s3c64xx-dma2 into for-rmk-devel Merge branch 'next-s3c64xx-dma2' into for-rmk-devel Conflicts: arch/arm/plat-s3c64xx/Makefile commit 0b13406a1f1928ec71e81dde52cb62d72ffd28ef Author: Mark Brown Date: Thu Apr 30 14:58:40 2009 +0100 [ARM] S3C64XX: Lower severity of DMA logging The message was missing a severity macro so pick pr_debug(). Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit fa7a7883fe5c647decee57a9c1b86a96408c5b26 Author: Ben Dooks Date: Tue Mar 10 23:57:26 2009 +0000 [ARM] S3C64XX: DMA support Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 070276d5d049f385763dee19112bea08f56c9a0d Author: Ben Dooks Date: Sun May 17 22:32:23 2009 +0100 [ARM] S3C24XX: GPIO: Change to macros for GPIO numbering Prepare to remove the large number of S3C2410_GPxn defines by moving to S3C2410_GPx(n) in arch/arm. The following perl was used to change the files: perl -pi~ -e 's/S3C2410_GP([A-Z])([0-9]+)([^_^0-9])/S3C2410_GP\1\(\2\)\3/g' Signed-off-by: Ben Dooks commit 75cbcff3729fe2568dff38d16d6494f8fb7f59fe Author: Ben Dooks Date: Sun May 17 22:44:33 2009 +0100 [ARM] S3C24XX: GPIO: Add S3C64XX style GPIO numbering Move the new style of GPIO numbering by using a single macro for each GPIO bank. This means S3C2410_GPA0 becomes S3C2410_GPA(0), and so on. Signed-off-by: Ben Dooks commit fda7b2b097fed9f88bc93ed3de0caea87ffe778e Author: Ben Dooks Date: Sun May 17 22:18:27 2009 +0100 [ARM] S3C24XX: GPIO: Start removal of S3C24XX_GPIO_BASE The S3C24XX_GPIO_BASE makes it difficult to compress the GPIO number space, and is only used in a few places of which everything outside arch/arm/plat-s3c24xx/gpiolib.c will be removed as soon as possible. Change gpiolib.c to use the S3C2410_GPxCON register addresses as the base for each bank, thus eliminating S3C24XX_GPIO_BASE. Signed-off-by: Ben Dooks commit 9c7099ca7519268f6ec79782bc06faa27a714d95 Author: Ben Dooks Date: Sun May 17 22:08:32 2009 +0100 [ARM] S3C24XX: GPIO: Clean out unused definitions in The really does not need the input and output pin configurations as these are standard and have a generic representation (plus the s3c24xx gpio specific code is going to be phased out soon). The following sed was applied to remove the lines: sed -i~ -e '/S3C2410_GP[A-Z][0-9]*_\INP/d' \ -e '/S3C2410_GP[A-Z][0-9]*_\OUTP/d' \ -e '/S3C2410_GPA[0-9]*_OUT/d' to remove these. Signed-off-by: Ben Dooks commit 86c03c526e2b282846c09509a48ab8be68fe7168 Author: Ben Dooks Date: Sun May 17 22:47:07 2009 +0100 [ARM] S3C24XX: Fix missing In our recent changes, arch/arm/plat-s3c24xx/gpiolib.c needs to have included for it to build. This fixes the following error/warnings: arch/arm/plat-s3c/include/plat/pm.h:104: error: expected declaration specifiers or '...' before 'pm_message_t' arch/arm/plat-s3c/include/plat/pm.h:104: warning: 'struct sys_device' declared inside parameter list arch/arm/plat-s3c/include/plat/pm.h:104: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/plat-s3c/include/plat/pm.h:105: warning: 'struct sys_device' declared inside parameter list Signed-off-by: Ben Dooks commit ec976d6eb021dc8f2994248c310a41540f4756bd Author: Ben Dooks Date: Wed May 13 22:52:24 2009 +0100 [ARM] S3C24XX: GPIO: Move gpio functions out of Move all the gpio functions out of as this file is for defining the generic IO base addresses for the kernel IO calls. Make a new header to take this and include it via the chain from which is what most of these files should be using (and will be changed as soon as possible). Note, this does make minor changes to some drivers but should not mess up any pending merges. CC: Richard Purdie Acked-by: Mark Brown CC: David Brownell Signed-off-by: Ben Dooks commit f83fba8baab9e95fff0fe2be0e1e32a1650bdd7f Author: Mark Brown Date: Mon May 18 15:44:43 2009 +0100 ASoC: Add debug trace for bias level transitions A standard way of making sure we know when the bias level changes. Signed-off-by: Mark Brown commit 452c5eaa0d5162e02ffee742ea17540887bc2904 Author: Mark Brown Date: Sun May 17 21:41:23 2009 +0100 ASoC: Integrate bias management with DAPM power management Rather than managing the bias level of the system based on if there is an active audio stream manage it based on there being an active DAPM widget. This simplifies the code a little, moving the power handling into one place, and improves audio performance for bypass paths when no playbacks or captures are active. Signed-off-by: Mark Brown commit aef908434cd24dd5529065bf5d781773fad21125 Author: Mark Brown Date: Sat May 16 17:53:16 2009 +0100 ASoC: Make DAPM sysfs entries non-optional sysfs is so standard these days there's no point. Signed-off-by: Mark Brown commit 6d3ddc81f5762d54ce7d1db70eb757c6c12fabbc Author: Mark Brown Date: Sat May 16 17:47:29 2009 +0100 ASoC: Split DAPM power checks from sequencing of power changes DAPM has always applied any changes to the power state of widgets as soon as it has determined that they are required. Instead of doing this store all the changes that are required on lists of widgets to power up and down, then iterate over those lists and apply the changes. This changes the sequence in which changes are implemented, doing all power downs before power ups and always using the up/down sequences (previously they were only used when changes were due to DAC/ADC power events). The error handling is also changed so that we continue attempting to power widgets if some changes fail. The main benefit of this is to allow future changes to do optimisations over the whole power sequence and to reduce the number of walks of the widget graph required to check the power status of widgets. Signed-off-by: Mark Brown commit eb4c41d30ba1f973c8b10be3644571ab997ae0d6 Author: Torben Schulz Date: Mon May 18 15:02:35 2009 +0200 ALSA: hda - Improved MacBook 3,1 support This patch adds support for MacBook 3,1 sound by adding a model new "mb31" with the appropriate init verbs, mixers and channel modes to the ALC883 configuration. patch_alc882() and patch_alc883() are modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A) correctly. Signed-off-by: Torben Schulz Signed-off-by: Takashi Iwai commit f831cc03490c78a76e2d35ad77ec2292d0323728 Author: Jens Axboe Date: Mon May 18 14:44:45 2009 +0200 virtio_blk: get rid of unused variable drivers/block/virtio_blk.c: In function 'blk_done': drivers/block/virtio_blk.c:53: warning: unused variable 'nr_bytes' Leftover from commit 1cde26f928863d90e9e7c1217880c8450464d305 Signed-off-by: Jens Axboe commit 1cde26f928863d90e9e7c1217880c8450464d305 Author: Hannes Reinecke Date: Mon May 18 14:41:30 2009 +0200 virtio_blk: SG_IO passthru support Add support for SG_IO passthru to virtio_blk. We add the scsi command block after the normal outhdr, and the scsi inhdr with full status information aswell as the sense buffer before the regular inhdr. [hch: forward ported, added the VIRTIO_BLK_F_SCSI flags, some comments and tested the whole beast] [axboe: updated to use ->resid and not dual-path the byte count] Signed-off-by: Hannes Reinecke Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell (+ checkpatch.pl tweak) Signed-off-by: Jens Axboe commit 6c3b46f74587d46e71b8c2b78fdca626a3aca280 Author: Christoph Hellwig Date: Mon May 18 14:38:28 2009 +0200 virtio_blk: don't blindly derefence req->rq_disk request->rq_disk is only set for FS requests or BLOCK_PC requests originating from the generic block layer scsi ioctls. It's not set for requests origination from other soures or internal cache flush commands implemented by the patch I'll send after this. So instead of using it to get at the private data in do_virtblk_request setup queue->queuedata and use it. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell Signed-off-by: Jens Axboe commit 313f6e2d40bd67e394a65e7d64acd0cf9c9d248d Author: Takashi Iwai Date: Mon May 18 12:40:52 2009 +0200 ALSA: hda - Avoid conflicts with snd-ctxfi driver The PCI entries of Creative with HD-audio class can be the devices with emu20k1/emu20k2 chips. These are supported better by snd-ctxfi driver. With that driver, the device will mutate from HD-audio to its native class. This patch adds a simple ifdef to avoid the conflict of device probe between snd-hda-intel and snd-ctxfi drivers. 1102:0009 seems still OK to be added as it has no emu20kx chip, and is a pure HD-audio device. Signed-off-by: Takashi Iwai commit 6c627f3978bf3059d45713e2e1240b7c43cc85f5 Author: Takashi Iwai Date: Mon May 18 12:33:36 2009 +0200 ALSA: hda - Show the actual chip name in 'unkown model' messages Show the actual chip name in 'unknown model..' info messages for Realtek codecs. Signed-off-by: Takashi Iwai commit b7a755a8a145a7e34e735bda9c452317de7a538a Author: Misael Lopez Cruz Date: Sun May 17 20:02:31 2009 -0500 ASoC: TWL4030: Enable/disable voice digital filters Enable TWL4030 VTXL/VTXR and VRX digital filters for uplink and downlink paths, respectively. This patch also corrects voice 8/16kHz mode selection bit (SEL_16K) of CODEC_MODE register. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 95c9c1da79e59fd10ec5da3aeba22981383f7040 Author: Artem Bityutskiy Date: Wed May 13 17:05:11 2009 +0300 UBI: minor serialization fix The @vol->upd_marker should be protected by the @ubi->device_mutex, otherwise 'paranoid_check_volume()' complains sometimes because vol->upd_marker is 1 while vtbl_rec->upd_marker is 0. Signed-off-by: Artem Bityutskiy commit d38dce5bfb400226bbffc81289c42a6271826a7e Author: Artem Bityutskiy Date: Wed May 13 14:05:24 2009 +0300 UBI: do not panic if volume check fails If a volume paranoid check fails, do not return an error code to the caller, but just print error messages and go forward. The primary reason for this is that it is difficult to recover and cancel the operation at that stage. Signed-off-by: Artem Bityutskiy commit cfcf0ec84bee53799e1e393a48af5bdcf719a383 Author: Artem Bityutskiy Date: Tue May 12 20:29:15 2009 +0300 UBI: add dump_stack in checking code I am experiencing an error in 'paranoid_check_volume()'. Add dump_stack() there to make it easier to identify the reasons of the error. Signed-off-by: Artem Bityutskiy commit ffb6b7e4fdef715061859651fe46cd27afc6acec Author: Artem Bityutskiy Date: Tue May 12 15:43:44 2009 +0300 UBI: fix races in I/O debugging checks When paranoid checs are enabled, the 'io_paral' test from the 'mtd-utils' package fails. The symptoms are: UBI error: paranoid_check_all_ff: flash region at PEB 3973:512, length 15872 does not contain all 0xFF bytes UBI error: paranoid_check_all_ff: paranoid check failed for PEB 3973 UBI: hex dump of the 512-16384 region It turned out to be a bug in the checking function. Suppose there are 2 tasks - A and B. Task A is the wear-levelling working ('wear_leveling_worker()'). It is reading the VID header to find which LEB this PEB belongs to. Say, task A is reading header of PEB X. Suppose PEB X is unmapped, and has no VID header. Task B is trying to write to PEB X. Task A: in 'ubi_io_read_vid_hdr()': reads the VID header from PEB X. The read data contain all 0xFF bytes. Task B: writes VID header and some data to PEB X Task A: assumes PEB X is empty, calls 'paranoid_check_all_ff()', which fails. The solution for this problem is to make 'paranoid_check_all_ff()' re-read the VID header, re-check it, and only if it is not there, check the rest. This now implemented by the 'paranoid_check_empty()' function. Signed-off-by: Artem Bityutskiy commit 2cb81e218f336dc5438a960d1ae098188db9ff11 Author: Artem Bityutskiy Date: Tue May 12 15:10:03 2009 +0300 UBI: small debugging code optimization The @ubi->dbg_peb_buf is needed only when paranoid checks are enabled, not when debugging in general is enabled. Signed-off-by: Artem Bityutskiy commit e1cf7e6dd4ffd4391391e4e08b0fd44681b0e74d Author: Artem Bityutskiy Date: Thu May 7 18:24:14 2009 +0300 UBI: improve debugging messages Various minor improvements to the debugging messages which I found useful while hunting problems. Signed-off-by: Artem Bityutskiy commit f089c0b28cdba1076aa8335dcaaaacc3dafc7d36 Author: Artem Bityutskiy Date: Thu May 7 11:46:49 2009 +0300 UBI: re-name volumes_mutex to device_mutex The mutex essencially protects the entire UBI device, so the old @volumes_mutex name is a little misleading. Signed-off-by: Artem Bityutskiy commit 383d08e045faddd89797959786233d4c0e1ace80 Author: Artem Bityutskiy Date: Thu May 7 11:25:54 2009 +0300 UBI: remove redundant mutex The @mult_mutex does not serve any purpose. We already have @volumes_mutex and it is enough. The @volume mutex is pushed down to the 'ubi_rename_volumes()', because we want first to open all volumes in the exclusive mode, and then lock the mutex, just like all other ioctl's (remove, re-size, etc) do. Signed-off-by: Artem Bityutskiy commit 24ed0c4bfc7d2d7507bb9d50f7f3bbdcd85d76dd Author: Ming Lei Date: Sun May 17 15:31:38 2009 +0800 tracing: fix check for return value of register_module_notifier return zero should be correct, so fix it. [ Impact: eliminate incorrect syslog message ] Signed-off-by: Ming Lei Acked-by: Frederic Weisbecker Acked-by: Li Zefan Cc: rostedt@goodmis.org LKML-Reference: <1242545498-7285-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 1079cac0f4eb7d968395378b1625979d4c818dd6 Merge: 5872144 1406de8 Author: Ingo Molnar Date: Mon May 18 10:15:09 2009 +0200 Merge commit 'v2.6.30-rc6' into tracing/core Merge reason: we were on an -rc4 base, sync up to -rc6 Signed-off-by: Ingo Molnar commit b68f1d2e7aa21029d73c7d453a8046e95d351740 Author: Ingo Molnar Date: Sun May 17 19:37:25 2009 +0200 perf_counter, x86: speed up the scheduling fast-path We have to set up the LVT entry only at counter init time, not at every switch-in time. There's friction between NMI and non-NMI use here - we'll probably remove the per counter configurability of it - but until then, dont slow down things ... [ Impact: micro-optimization ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti LKML-Reference: Signed-off-by: Ingo Molnar commit f1bdb523880c7f6990e9e8e50b0fc972ca475e84 Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled Len expressed concern that the update_mptable feature has side-effects on the ACPI code. Make it sure explicitly that the code only ever gets called if the (default disabled) update_mptable boot quirk option is disabled. [ Impact: isolate the update_mptable feature from ACPI code more ] Signed-off-by: Yinghai Lu Cc: Len Brown LKML-Reference: <4A0DC832.5090200@kernel.org> Signed-off-by: Ingo Molnar commit 629e15d245f46bef9d26199b450f882f9437a8fe Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, irq: update_mptable needs pci_routeirq To get all device irq routing and to save them. This is basically an implicit pci=routeirq enablement if (and on if) the update_mptable boot option (which is off by default) has been specified. [ Impact: extend the update_mptable boot opion's scope ] Signed-off-by: Yinghai Lu Cc: Jesse Barnes LKML-Reference: <4A0DB7B4.4060702@kernel.org> Signed-off-by: Ingo Molnar commit 35d5a9a61490bf39d2e48d7f499c8c801a39ebe9 Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 x86: fix system without memory on node0 Jack found a boot crash on a system which doesn't have memory on node0. It turns out with recent per_cpu changes, node_number for BSP will always be 0, and it is not consistent to cpu_to_node() that might set it to a different (nearer) node already. aka when numa_set_node() for node0 is called early before per_cpu area is setup: two places touched that per_cpu(node_number,): 1. in cpu/common.c::cpu_init() and it is not for BP | #ifdef CONFIG_NUMA | if (cpu != 0 && percpu_read(node_number) == 0 && | cpu_to_node(cpu) != NUMA_NO_NODE) | percpu_write(node_number, cpu_to_node(cpu)); | #endif for BP: traps_init ==> cpu_init for AP: start_secondary ==> cpu_init 2. cpu/intel.c or amd.c::srat_detect_node via numa_set_node() for BP: check_bugs ==> identify_boot_cpu ==> identify_cpu() that is rather later before numa_node_id() is used for BP... for AP: start_secondary => smp_callin => smp_store_cpu_info() => => identify_secondary_cpu => identify_cpu() so try to set that for BP earlier in setup_per_cpu_areas(), and don't bother to set that for APs there (it will be updated later and will be used later) (and don't mess the 0 before the copying BP per_cpu data to APs) [ Impact: fix boot crash on memoryless node-0 ] Reported-and-tested-by: Jack Steiner Cc: Tejun Heo Signed-off-by: Yinghai Lu LKML-Reference: <4A0C4A02.7050401@kernel.org> Signed-off-by: Ingo Molnar commit 7c43769a9776141ec23ca81a1bdd5a9c0512f165 Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 x86, mm: Fix node_possible_map logic Recently there were some changes to the meaning of node_possible_map, and it is quite strange: - the node without memory would be set in node_possible_map - but some node with less NODE_MIN_SIZE will be kicked out of node_possible_map. fix it by adding strict_setup_node_bootmem(). Also, remove unparse_node(). so result will be: 1. cpu_to_node() will return online node only (nearest one) 2. apicid_to_node() still returns the node that could be not online but is set in node_possible_map. 3. node_possible_map will include nodes that mem on it are less NODE_MIN_SIZE v2: after move_cpus_to_node change. [ Impact: get node_possible_map right ] Signed-off-by: Yinghai Lu Tested-by: Jack Steiner LKML-Reference: <4A0C49BE.6080800@kernel.org> [ v3: various small cleanups and comment clarifications ] Signed-off-by: Ingo Molnar commit 888a589f6be07d624e21e2174d98375e9f95911b Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 mm, x86: remove MEMORY_HOTPLUG_RESERVE related code after: | commit b263295dbffd33b0fbff670720fa178c30e3392a | Author: Christoph Lameter | Date: Wed Jan 30 13:30:47 2008 +0100 | | x86: 64-bit, make sparsemem vmemmap the only memory model we don't have MEMORY_HOTPLUG_RESERVE anymore. Historically, x86-64 had an architecture-specific method for memory hotplug whereby it scanned the SRAT for physical memory ranges that could be potentially used for memory hot-add later. By reserving those ranges without physical memory, the memmap would be allocated and left dormant until needed. This depended on the DISCONTIG memory model which has been removed so the code implementing HOTPLUG_RESERVE is now dead. This patch removes the dead code used by MEMORY_HOTPLUG_RESERVE. (Changelog authored by Mel.) v2: updated changelog, and remove hotadd= in doc [ Impact: remove dead code ] Signed-off-by: Yinghai Lu Reviewed-by: Christoph Lameter Reviewed-by: Mel Gorman Workflow-found-OK-by: Andrew Morton LKML-Reference: <4A0C4910.7090508@kernel.org> Signed-off-by: Ingo Molnar commit b286e21868ea1af724a7a4802da2c8e144fa70de Merge: ed077b5 1406de8 Author: Ingo Molnar Date: Mon May 18 09:12:45 2009 +0200 Merge commit 'v2.6.30-rc6' into x86/mm Merge reason: sync up to -rc6 which has changes to mm/ which we are going to touch in the commits to follow as well. Signed-off-by: Ingo Molnar commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86: don't call read_apic_id if !cpu_has_apic should not call that if apic is disabled. [ Impact: fix crash on certain UP configs ] Signed-off-by: Yinghai Lu Cc: Cyrill Gorcunov LKML-Reference: <4A09CCBB.2000306@kernel.org> Signed-off-by: Ingo Molnar commit e5198075c67a22ec9a09565b1ce88d3d3f5ba855 Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, apic: introduce io_apic_irq_attr according to Ingo, io_apic irq-setup related functions have too many parameters with a repetitive signature. So reduce related funcs to get less params by passing a pointer to a newly defined io_apic_irq_attr structure. v2: io_apic_irq ==> irq_attr triggering ==> trigger v3: add set_io_apic_irq_attr [ Impact: cleanup ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A08ACD3.2070401@kernel.org> Signed-off-by: Ingo Molnar commit 135cad366b4e7d6a79f6369f6cb5b721985aa62f Author: Magnus Lilja Date: Sun May 17 20:18:08 2009 +0200 i.MX31: Add support for the CPLD on PDK Debug board. The i.MX31 PDK consists of several boards, one of them is a debug board containing a CPLD which controls some debug leds, switch buttons, an interrupt chip and an Ethernet controller. This patch adds support for detecting if the PDK board is present (during boot) and adds the interrupt chip to the kernel. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit c0daaf3f1f672defa3a45ca449b76d0e86c55892 Author: Paul Mackerras Date: Mon May 18 14:02:12 2009 +1000 perf_counter: powerpc: initialize cpuhw pointer before use Commit 9e35ad38 ("perf_counter: Rework the perf counter disable/enable") added code to the powerpc hw_perf_enable (renamed from hw_perf_restore) to test cpuhw->disabled and return immediately if it is not set (i.e. if the PMU is already enabled). Unfortunately the test got added before cpuhw was initialized, resulting in an oops the first time hw_perf_enable got called. This fixes it by moving the initialization of cpuhw to before cpuhw->disabled is tested. [ Impact: fix oops-causing bug on powerpc ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18960.56772.869734.304631@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc3f81b129b5439ba7bac265bbc6a51a39275dae Merge: d2517a4 1406de8 Author: Ingo Molnar Date: Mon May 18 07:37:44 2009 +0200 Merge commit 'v2.6.30-rc6' into perfcounters/core Merge reason: this branch was on an -rc4 base, merge it up to -rc6 to get the latest upstream fixes. Signed-off-by: Ingo Molnar commit 62551d3ea05242d97d47f26fb517b2dfdb752310 Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:57 2009 +0000 ixgbe: Don't reset the hardware when switching between LFC and PFC When running in DCB mode, switching between link flow control and priority flow control shouldn't need to reset the hardware. This removes that reset. This also extends the set_all() dcbnl callback to return a value indicating that the HW config changed, however a reset was not required. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8756924c1ecc832c1a5603d10f5cd201e299b312 Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:36 2009 +0000 ixgbe: When in DCB mode with PFC enabled, show LFC is disabled Ethtool should report that link flow control is disabled when in priority flow control mode. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 264857b8fe8a16fc95f12e898951fc6bd4bdaa7a Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:16 2009 +0000 ixgbe: Allow link flow control in DCB mode for 82599 adapters 82599 supports using either link flow control or priority flow control when in DCB mode. The dcbnl interface already supports sending down configurations through rtnetlink that can enable LFC when DCB is enabled, so the driver should take advantage of this. 82598 does not support using LFC when DCB is enabled, so explicitly disable it when we're in DCB mode. This means we always run in PFC mode when DCB is enabled. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 70b77628d8d943b27cc0f72002b5884028aee38c Author: Peter P Waskiewicz Jr Date: Sun May 17 12:34:55 2009 +0000 ixgbe: Set Priority Flow Control low water threshhold for DCB This sets the low water threshhold for priority flow control for 82598 and 82599 controllers in DCB mode. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 63f39bd17aa700595fa3e34a61c5c07551dd1b7d Author: Yi Zou Date: Sun May 17 12:34:35 2009 +0000 ixgbe: Enable jumbo frame for FCoE feature in 82599 Enable jumbo frame when FCoE feature is enabled in 82599. Use 3K as the receive queue buffer size for receive queues used by FCoE to address for max Fiber Channel frame size as 2148 bytes (with max 2112 bytes of payload). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 29ebf6f8c8a99bbda053f1fbdff0570cc5d866b3 Author: Yi Zou Date: Sun May 17 12:34:14 2009 +0000 ixgbe: Enable FCoE redirection table feature in 82599 Enable using FCoE redirection table feature in 82599. The FCoE redirection table has maximum of eight entries, corresponding to maximum of eight receive queues to be used for distributing incoming FCoE packets. This patch sets up the FCoE redirection table when multiple receive queues are available for FCoE. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0331a832a88d4bf34baf289b82e2829763230143 Author: Yi Zou Date: Sun May 17 12:33:52 2009 +0000 ixgbe: Add RING_F_FCOE for FCoE feature in 82599 Add ring feature for FCoE to make use of the FCoE redirection table in 82599. The FCoE redirection table is a receive side scaling feature for Fiber Channel over Ethernet feature in 82599, enabling distributing FCoE packets to different receive queues based on the exchange id. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 184dd3459bb334d9061b58faed3610d08d6c7ff8 Author: Vasu Dev Date: Sun May 17 12:33:28 2009 +0000 fcoe: adds spma mode support If we can find a type NETDEV_HW_ADDR_T_SAN mac address from the corresponding netdev for a fcoe interface then sets up added the fc->ctlr.spma flag and stores spma mode address in ctl_src_addr. In case the spma flag is set then:- 1. Adds spma mode MAC address in ctl_src_addr as secondary MAC address, the FLOGI for FIP and pre-FIP will go out using this address. 2. Cleans up stored spma MAC address in ctl_src_addr in fcoe_netdev_cleanup. 3. Sets up spma bit in fip_flags for FIP solicitations along with exiting FPMA bit setting. 4. Initialize the FLOGI FIP MAC descriptor to stored spma MAC address in ctl_src_addr. This is used as proposed FCoE MAC address from initiator along with both SPMA and FPMA bit set in FIP solicitation, in response the switch may grant any FPMA or SPMA mode MAC address to initiator. Removes FIP descriptor type checking against ELS type ELS_FLOGI in fcoe_ctlr_encaps to update a FIP MAC descriptor, instead now checks against FIP_DT_FLOGI. I've tested this with available FPMA-only FCoE switch but since data_src_addr is updated using same old code for both FPMA and SPMA modes with FIP or pre-FIP links, so added SPMA mode will work with SPMA-only switch also provided that switch grants a valid MAC address. Signed-off-by: Vasu Dev Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ab6b85c1d7a1bf6c2b27fb542a7b2404e45b7e24 Author: Vasu Dev Date: Sun May 17 12:33:08 2009 +0000 fcoe: consolidates netdev related config and cleanup for spma mode Currently fcoe_netdev_config adds netdev pkt handler for fcoe pkts, fcoe_if_create adds netdev pkt handler for fip packets, a secondary MAC address is added by fcoe_netdev_config and then later cleanup for these netdev related config/adds is done only during fcoe_if_destroy and no cleanup done on error during fcoe interface creation after above netdev config calling in fcoe_if_create. So this patch adds single func for above mentioned cleanup the fcoe_netdev_cleanup and then calls this func on either fcoe interface destroy or exiting from fcoe_if_create due to an error after fcoe/fip related above netdev config is done. Moved netdev pkt handler addition code blocks for fip pkts close to similar code block for foce pkt in fcoe_netdev_config, so that added fcoe_netdev_cleanup could be called on error from fcoe_netdev_config to undo these both additions for fcoe/fip pkt handlers. This move required reference to fcoe_fip_recv in fcoe_netdev_config, so moved fip related functions fcoe_fip_recv, fcoe_fip_send and fcoe_update_src_mac above fcoe_netdev_config. This consolidation will enable spma mode support in next patch to easily add or delete spma mode mac address beside fixing current no cleanup issue during error. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aca6bee75fe53ae019b9cabff42095dfb6471fde Author: Waskiewicz Jr, Peter P Date: Sun May 17 12:32:48 2009 +0000 ixgbe: Add SAN MAC address to the RAR, return the address to DCB After acquiring the SAN MAC address from the EEPROM, we need to program it into one of the RARs. Also, DCB will use this MAC address to run DCBX commands, so it doesn't have to play musical MAC addresses when things like bonding enter the picture. So we need to return the MAC address through the netlink interface to userspace. This also moves the init_rx_addrs() call out of start_hw() and into reset_hw(). We shouldn't try to read any of the RAR information before initializing our internal accounting of the RAR table, which was what was happening. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0365e6e4373a5a447746fd7ac26074b92f180311 Author: PJ Waskiewicz Date: Sun May 17 12:32:25 2009 +0000 ixgbe: Add FCoE Storage MAC Address support This patch implements the Storage Address entrypoint from the net device. It will read the SAN MAC addresses from the EEPROM of the 82599 hardware, and make them available to the FCoE stack through the net device. Also, add/del the SAN MAC address to the netdev dev_addr_list via the kernel api dev_addr_add()/dev_addr_del() when there is a valid SAN MAC supported by the HW. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ebc06eeb7260ecad3bd69202ba6291138691d27b Author: Alexander Beregalov Date: Fri May 15 10:22:42 2009 +0000 skfddi: convert PRINTK() to pr_debug() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c7b1f4f376867356ca001c6a81988cf41fa4dc43 Author: Alexander Beregalov Date: Fri May 15 10:22:41 2009 +0000 mac89x0: remove PRINTK() There are no users of it. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 2818fba1322c469181603a1fbffadf3d3c5cb1e0 Author: Alexander Beregalov Date: Fri May 15 10:22:40 2009 +0000 de620: convert PRINTK() to pr_debug() and cleanup Also remove DE620_DEBUG and de620_debug. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 64303258961c74f0168e056da14b612ce839dbc1 Author: Alexander Beregalov Date: Fri May 15 10:22:39 2009 +0000 de600: convert PRINTK() to pr_debug() Also remove de600_debug as it is not needed. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 62abb45f50dbd53a117aff72ff4e606592edb029 Author: Alexander Beregalov Date: Fri May 15 10:22:38 2009 +0000 de620: fix forgotten semicolon It seems it always was here. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 7290383191fa57d7f6320e27a03e5a8afee362fd Author: Joe Perches Date: Fri May 15 07:59:42 2009 +0000 drivers/net: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6bc5046e6df7d7122631c82ccaa6edf7085331ac Author: Ben Hutchings Date: Fri May 15 06:06:16 2009 +0000 sfc: Use generic XENPAK register definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e0b221bf4e07edf2fda645e457dc3c35c2f2f3a9 Author: Ben Hutchings Date: Fri May 15 06:05:49 2009 +0000 mdio: Add XENPAK LASI register definitions These registers were originally defined for XENPAK modules, but are also implemented by many other 10G PHYs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f2a3e626202a87734a47153935ec9d15c7fcf761 Author: Ben Hutchings Date: Fri May 15 06:04:12 2009 +0000 mdio: Add 10GBASE-T SNR register definition These do not have an in-kernel user but may be useful to user-space. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit df18acca8eb13c8cf55fa45e9f9231dc51f64d98 Author: Peter Korsgaard Date: Wed May 13 10:10:41 2009 +0000 smsc95xx: strip ethernet fcs (crc) on receive path The smsc95xx driver was forwarding the trailing fcs on received frames up the stack leading to confusion in tcpdump. Signed-off-by: Peter Korsgaard Tested-by: Steve Glendinning Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 61189c78bda846f4682c6003e893362f4305518b Author: Peter Korsgaard Date: Wed May 13 10:09:53 2009 +0000 dm9601: trivial comment fixes The comments describing the rx/tx headers used a combination of zero- and 1-based indexing, leading to confusion. Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 9d21493b4beb8f918ba248032fefa393074a5e2b Author: Eric Dumazet Date: Sun May 17 20:55:16 2009 -0700 net: tx scalability works : trans_start struct net_device trans_start field is a hot spot on SMP and high performance devices, particularly multi queues ones, because every transmitter dirties it. Is main use is tx watchdog and bonding alive checks. But as most devices dont use NETIF_F_LLTX, we have to lock a netdev_queue before calling their ndo_start_xmit(). So it makes sense to move trans_start from net_device to netdev_queue. Its update will occur on a already present (and in exclusive state) cache line, for free. We can do this transition smoothly. An old driver continue to update dev->trans_start, while an updated one updates txq->trans_start. Further patches could also put tx_bytes/tx_packets counters in netdev_queue to avoid dirtying dev->stats (vlan device comes to mind) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0f7ee7c17241915fdaff49d1a36f5aafd80a7dce Author: Manish Katiyar Date: Sun May 17 23:52:51 2009 -0400 ext2: Fix memory leak in ext2_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit de5ce037304f2c88a319b1c3b808ab0c4c618c1c Author: Manish Katiyar Date: Sun May 17 23:52:47 2009 -0400 ext3: Fix memory leak in ext3_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit f68301656b5f5d2de104f2687add6beeb8f3c3b9 Author: Manish Katiyar Date: Sun May 17 23:52:44 2009 -0400 ext4: Fix memory leak in ext4_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit 0a305720ee597aad41af61e6b6844321d3e24251 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: remove unused structure member rcvbytes The B channel data structure member rcvbytes was never set to anything else but zero, so drop it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit b88bd95655c7bc059606529e01467594978d7b72 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: remove UNDOCREQ config option Drop the kernel config option GIGASET_UNDOCREQ, permanently activating the code it controlled, as there have been no reports of problems caused by its activation but many problems caused by it being disabled. Also fix a few bad comments while we're at it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 5a1888ea994bf6b28179255a376e83dfa53c81c5 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: move up Kconfig inclusion point In preparation for porting to kernel CAPI subsystem, include the Gigaset driver's Kconfig directly from ISDN's instead of I4L's. Impact: Kconfig reorganisation, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit b3fcb13f1c866ae0330c445c3cb481014c36a02f Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: documentation update Mention handling of unregisteted DECT wireless datasets in README.gigaset. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7226d7c9607b754cdad612b75122d640ff3b85ed Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: fix error return code gigaset_register_to_LL() is expected to print a message and return 0 on failure. Make it do so consistently. Impact: error handling bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 1315d69634834f1f485b21b0ed8f10b763a675d2 Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: skip unnecessary hex formatting Don't generate the hex representation of the payload data if it isn't actually used afterwards. Impact: optimization Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 42e3d611158faa2d372ccfb1e17bfde13935de68 Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: fix possible oops in error handling Use pr_warning() / pr_err() instead of dev_warn() / dev_err() in two places where the dev pointer isn't guaranteed to be valid. Impact: error handling bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 528efc6a54a9e4c03488ee72988567991c9476ba Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: remove obsolete references to m10x state table The separation of state tables for base and M10x has long been removed. Clean up remaining traces of it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit d62fda082c48b417b47a553860abf75d9cf8b591 Author: Eric Dumazet Date: Tue May 12 20:48:02 2009 +0000 bnx2: bnx2_tx_int() optimizations When using bnx2 in a high transmit load, bnx2_tx_int() cost is pretty high. There are two reasons. One is an expensive call to bnx2_get_hw_tx_cons(bnapi) for each freed skb One is cpu stalls when accessing skb_is_gso(skb) / skb_shinfo(skb)->nr_frags because of two cache line misses. (One to get skb->end/head to compute skb_shinfo(skb), one to get is_gso/nr_frags) This patch : 1) avoids calling bnx2_get_hw_tx_cons(bnapi) too many times. 2) makes bnx2_start_xmit() cache is_gso & nr_frags into sw_tx_bd descriptor. This uses a litle bit more ram (256 longs per device on x86), but helps a lot. 3) uses a prefetch(&skb->end) to speedup dev_kfree_skb(), bringing cache line that will be needed in skb_release_data() result is 5 % bandwidth increase in benchmarks, involving UDP or TCP receive & transmits, when a cpu is dedicated to ksoftirqd for bnx2. bnx2_tx_int going from 3.33 % cpu to 0.5 % cpu in oprofile Note : skb_dma_unmap() still very expensive but this is for another patch, not related to bnx2 (2.9 % of cpu, while it does nothing on x86_32) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9dc20c5f78c53bf57fb7874b6e942842e1db20d3 Author: John Dykstra Date: Tue May 12 15:34:50 2009 +0000 tcp: tcp_prequeue() can use keyed wakeups When TCP frees up write buffer space, avoid waking up tasks that have done a poll() or select() on the same socket specifying read-side events. This is an extension of a read-side patch by Eric Dumazet. Signed-off-by: John Dykstra Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 0568c518937ee3a9b6a94d18bae9c150fe5d6832 Author: Theodore Ts'o Date: Sun May 17 23:31:23 2009 -0400 ext4: down i_data_sem only for read when walking tree for fiemap Not sure why I put this in as down_write originally; all we are doing is walking the tree, nothing will change under us and concurrent reads should be no problem. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 543899f610799426babb5313682fd9c249e34677 Author: Ben Dooks Date: Sun May 17 23:40:30 2009 +0100 [ARM] S3C64XX: Use common watchdog reset for system reset. Use the newly moved to perform the arch_reset() call which has been unimplemented for a while. Signed-off-by: Ben Dooks commit 3cba5ef862bc2c2a0cf2841d993bfb99b9a6c476 Author: Ben Dooks Date: Sun May 17 23:30:45 2009 +0100 [ARM] S3C: Move watchdog system reset to own file. Move the watchdog reset code from to a new file as this code is needed by both s3c2410, s3c64xx and soon-to-be added s3c24a0. Signed-off-by: Ben Dooks commit d44b5e07c6813e6d747f7f947f1da5f0abf14eb4 Author: Stephen Rothwell Date: Mon May 11 21:44:51 2009 +0000 net/ibmveth: fix panic in probe netdev->dev_addr changed from being an array to being a pointer, so we should not take its address for memcpy(). Signed-off-by: Stephen Rothwell Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 9f05f6a921353f4293cda37f221b9bfa532d3c57 Author: Ben Dooks Date: Wed May 13 21:46:15 2009 +0100 [ARM] S3C24XX: GPIO: Remove pin specific input and output defines The use of S3C2410_GP[A-Z]x_INP and S3C2410_GP[A-Z]x_OUTP are very rare and are taking up large amounts of space in the regs-gpio.h header. The GPIO layer has had generic input and out defines called S3C2410_GPIO_INPUT and S3C2410_GPIO_OUTPUT for a while which work for all S3C24XX GPIOs. Do the following replacements: S3C2410_GP[A-Z][0-9]*_\OUTP => S3C2410_GPIO_OUTPUT S3C2410_GP[A-Z][0-9]*_\INP => /S3C2410_GPIO_INPUT S3C2410_GPA[0-9]*_OUT => S3C2410_GPIO_OUTPUT to remove any usages of these and prepare the header for the removal of these. The following command was used to acheive this: find . -type f -writable ! -name regs-gpio.h ! -name "*~" | xargs sed -i~ -e 's/S3C2410_GP[A-Z][0-9]*_\OUTP/S3C2410_GPIO_OUTPUT/g' -e 's/S3C2410_GP[A-Z][0-9]*_\INP/S3C2410_GPIO_INPUT/g' -e 's/S3C2410_GPA[0-9]*_OUT/S3C2410_GPIO_OUTPUT/g' Signed-off-by: Ben Dooks commit ec7f4d5d67ef63c724ab6d4bdc7d2ffa8861071a Author: Ben Dooks Date: Wed May 13 22:20:35 2009 +0100 [ARM] S3C24XX: GPIO: Remove s3c2410_gpio_irq2pin() call Remove the s3c2410_gpio_irq2pin() function as it is not being used in any in kernel driver and the function is probably not being used anywhere else. This is also part of the effort to remove any of the s3c24xx gpio specific code that cannot be recreated by using the gpiolib framework now in the kernel. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 6fd058f7791087648c683eb8572edf3be3c4c23c Author: Theodore Ts'o Date: Sun May 17 15:38:01 2009 -0400 ext4: Add a comprehensive block validity check to ext4_get_blocks() To catch filesystem bugs or corruption which could lead to the filesystem getting severly damaged, this patch adds a facility for tracking all of the filesystem metadata blocks by contiguous regions in a red-black tree. This allows quick searching of the tree to locate extents which might overlap with filesystem metadata blocks. This facility is also used by the multi-block allocator to assure that it is not allocating blocks out of the system zone, as well as by the routines used when reading indirect blocks and extents information from disk to make sure their contents are valid. Signed-off-by: "Theodore Ts'o" commit 6d45522c532be430b2ed63ed48a6a9e15328af66 Author: Yi Zou Date: Wed May 13 13:12:16 2009 +0000 ixgbe: Add FCoE related statistics to 82599 This adds FCoE related statistics to 82599, including number Rx-ed and Tx-ed FCoE packets, number of Rx-ed and Tx-ed FCoE packets in dwords, number of bad Fiber Channel CRCs detected in FCoE packets, and number of FCoE packets dropped on the Rx side. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 332d4a7d981e25d239c5d723a4f35020397dc606 Author: Yi Zou Date: Wed May 13 13:11:53 2009 +0000 ixgbe: Implement FCoE Rx side large receive offload feature to 82599 This patch implements the FCoE Rx side offload feature in ixgbe_main.c to 82599 using the Rx offload infrastructure code added in the previous patch. The large receive offload by Direct Data Placement (DDP) for FCoE is achieved by implementing the ndo_fcoe_ddp_setup and ndo_fcoe_ddp_done in net_device_ops via netdev. It is up to the ULD, i.e., fcoe and libfc to query and setup large receive offload accordingly through the corresponding netdev upon creating fcoe instances. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d0ed89373f2da1a0d83697d87441e519caf18cf7 Author: Yi Zou Date: Wed May 13 13:11:29 2009 +0000 ixgbe: Add infrastructure code for FCoE large receive offload to 82599 This adds infrastructure code for FCoE Rx side offload feature to 82599, which provides large receive offload for FCoE by Direct Data Placement (DDP). The ixgbe_fcoe_ddp_get() and ixgbe_fcoe_ddp_put() pair corresponds to the netdev support to FCoE by the function pointers provided in net_device_ops as ndo_fcoe_ddp_setup and ndo_fcoe_ddp_done. The implementation of these in ixgbe is shown in the next patch. Signed-off-by: Yi Zou Signed-off-by: Chris Leech Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eacd73f79a106c6a0bc429003ab691024860ab2d Author: Yi Zou Date: Wed May 13 13:11:06 2009 +0000 ixgbe: Implement FCoE Tx side offload features in base driver of 82599 This patch implements the FCoE Tx side offload features in ixgbe_main.c to 82599 using the Tx offload infrastructure code added in the previous patch. This is achieved by the calling the FCoE Sequence Offload (FSO) function ixgbe_fso() on the transmit path of ixgbe. This patch also includes an EEPROM check to make sure the NIC we're loading on is an offload-enabled SKU. Signed-off-by: Yi Zou Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bc079228e74d63742255c466d2bce1f42423f219 Author: Yi Zou Date: Wed May 13 13:10:44 2009 +0000 ixgbe: Add infrastructure code for FCoE large send offload to 82599 This adds infrastructure code for FCoE Tx side offload feature to 82599, including Fiber Channel CRC calculation, auto insertion of the start of frame (SOF) and end of frame (EOF) of FCoE packets, and large send by FCoE Sequence Offload (FSO). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d3a2ae6d315382b2dcc7747c5b3b70f0490e9157 Author: Yi Zou Date: Wed May 13 13:10:21 2009 +0000 ixgbe: Add FCoE feature code to 82599 This adds the FCoE feature code ixgbe_fcoe.c to 82599. For a start, this patch only adds ixgbe_configure_fcoe() to configure related register for FCoE to 82599. In patches that follow, I will be adding more functions to ixgbe_fcoe.c to add support of FCoE offload features to 82599. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e92cbeac89d4c7b228894a9b8eb37e3ac51afe73 Author: Yi Zou Date: Wed May 13 13:10:01 2009 +0000 ixgbe: Add FCoE feature header to 82599 This adds the FCoE feature header ixgbe_fcoe.h to 82599. This header includes the defines and structures required by the ixgbe driver to support various offload features in 82599 for Fiber Channel over Ethernet (FCoE). These offloads features include Fiber Channel CRC calculation, FCoE SOF/EOF auto insertion, FCoE Sequence Offload (FSO) for large send, and Direct Data Placement (DDP) for large receive. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bff66176bb47b2cf3331d9e42d37ea4094826756 Author: Yi Zou Date: Wed May 13 13:09:39 2009 +0000 ixgbe: Add FCoE feature register defines to 82599 This adds FCoE related register defines to 82599. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 952ee9df26c487f2d73b2dced58ec904f19ea0f8 Author: Emil Medve Date: Wed May 13 06:04:58 2009 +0000 mv643xx_eth: Remove a stale PPC_MULTIPLATFORM PPC_MULTIPLATFORM was killed in commit 28794d3 but this stale occurrence was hiding the mv643xx_eth driver in some cases (e.g. Pegasos II) Signed-off-by: Emil Medve Signed-off-by: David S. Miller commit a186d2aead8beb164ddb76245d189c66f7021b59 Author: Jiri Pirko Date: Tue May 12 22:40:12 2009 +0000 net: remove needless (now buggy) & from dev->dev_addr (part2) Missed part of "&" removal. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 3699a1c7d42f9a694bb512d91ca457f363a48e38 Author: Andrew Morton Date: Tue May 12 10:48:37 2009 +0000 drivers/net/82596.c: suppress warnings i386 allmodconfig: drivers/net/82596.c: In function 'init_rx_bufs': drivers/net/82596.c:544: warning: cast to pointer from integer of different size drivers/net/82596.c:545: warning: cast to pointer from integer of different size drivers/net/82596.c:548: warning: cast to pointer from integer of different size drivers/net/82596.c:557: warning: cast to pointer from integer of different size drivers/net/82596.c:565: warning: cast to pointer from integer of different size drivers/net/82596.c:569: warning: cast to pointer from integer of different size drivers/net/82596.c:575: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'rebuild_rx_bufs': drivers/net/82596.c:606: warning: cast to pointer from integer of different size drivers/net/82596.c:608: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'init_i596_mem': drivers/net/82596.c:680: warning: cast to pointer from integer of different size drivers/net/82596.c:681: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_rx': drivers/net/82596.c:818: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_add_cmd': drivers/net/82596.c:975: warning: cast to pointer from integer of different size drivers/net/82596.c:979: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_start_xmit': drivers/net/82596.c:1088: warning: cast to pointer from integer of different size drivers/net/82596.c:1099: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_interrupt': drivers/net/82596.c:1404: warning: cast to pointer from integer of different size (ugh) Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3977d0334b98770b81dfeb248db232c9bb3d3c88 Author: Mike Travis Date: Tue May 12 10:48:36 2009 +0000 sfc: modify allocation error message Change error message when alloc_cpumask_var fails. Repairs "cpumask: convert drivers/net/sfc". Signed-off-by: Mike Travis Acked-by: Ben Hutchings Acked-by: David S. Miller Cc: Rusty Russell Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cb1c4b71f6da18fa98bab4af055f391d01bee8ba Author: Li Zefan Date: Tue May 12 10:47:33 2009 +0000 cls_cgroup: remove unneeded cgroup_lock We can remove this lock here, since we are in cgroup write handler and thus the cgrp is guaranteed to be valid, and no lock is needed when writing a u32 variable. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3a6d54c56326c29c5357655779cfe6cf36481b17 Author: Jiri Pirko Date: Mon May 11 23:37:15 2009 +0000 net: remove needless (now buggy) & from dev->dev_addr Patch fixes issues with dev->dev_addr changing from array to pointer. Hopefully there are no others. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 8b3521eeb7598c3b10c7e14361a7974464527702 Author: Rami Rosen Date: Mon May 11 05:52:49 2009 +0000 ipv4: remove an unused parameter from configure method of fib_rules_ops. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 4c5158d4c3ab1f2927a740372a0ee9c3fed7ba47 Author: Russell King Date: Sun May 17 10:58:54 2009 +0100 [ARM] smp: fix style issues in smp_twd.c Signed-off-by: Russell King commit f32f4ce25745209f16a5a6cef7442144b596c68a Author: Russell King Date: Sat May 16 12:14:21 2009 +0100 [ARM] smp: allow re-use of realview localtimer TWD support Signed-off-by: Russell King commit a8cbcd92bd4bf893085eddf7f58e63ea98503d94 Author: Russell King Date: Sat May 16 11:51:14 2009 +0100 [ARM] smp: separate SCU support code from realview Signed-off-by: Russell King commit 49613d4d9ae759193915823e67de546fca58c951 Author: Russell King Date: Sat May 16 11:41:53 2009 +0100 [ARM] smp: SCU is used on non-realview platforms The SCU can be used by non-realview platforms, so make it visible for other people to use rather than having them copy the header file. Signed-off-by: Russell King commit bc28248ee25e5c239cbe6afca35a100b08401de5 Author: Russell King Date: Sun May 17 18:58:34 2009 +0100 [ARM] smp: move core localtimer support out of platform specific files Signed-off-by: Russell King commit 5b740ea975c4ce3da12ac21b56f9e43354ca4327 Author: Julia Lawall Date: Sun May 17 11:29:21 2009 +0200 sound: use dev_set_drvdata Eliminate direct accesses to the driver_data field. cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd015 The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device *dev; expression E; type T; @@ - dev->driver_data = (T)E + dev_set_drvdata(dev, E) @@ struct device *dev; type T; @@ - (T)dev->driver_data + dev_get_drvdata(dev) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 9f36d31437922354d104a2db407f397e79e4027e Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:25 2009 +0200 ide: remove hw_regs_t typedef Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dca3983059a4481e4ae97bbf0ac4b4c21429e1a5 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:24 2009 +0200 ide: pass number of ports to ide_host_{alloc,add}() (v2) Pass number of ports to ide_host_{alloc,add}() and then update all users accordingly. v2: - drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c (noticed by Sergei) There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29e52cf793ded6bece50de50e738596f94f07d9f Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:22 2009 +0200 ide: remove chipset field from hw_regs_t * Convert host drivers that still use hw_regs_t's chipset field to use the one in struct ide_port_info instead. * Move special handling of ide_pci chipset type from ide_hw_configure() to ide_init_port(). * Remove chipset field from hw_regs_t. While at it: - remove stale comment in delkin_cb.c There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ca1b96e00ab5d1b0838965834469a0284c81a517 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:21 2009 +0200 ide: replace special_t typedef by IDE_SFLAG_* flags Replace: - special_t typedef by IDE_SFLAG_* flags - 'special_t special' ide_drive_t's field by 'u8 special_flags' one There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 582078ee3d7dacd74a7b3fe02ea258cadf32b602 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:18 2009 +0200 ide: merge ide_disk_special() into do_special() (v2) While at it: - change debug printk() level to KERN_DEBUG and use __func__ - update documentation v2: - fix DEBUG build (noticed by Sergei) There should be no functional changes caused by this patch. Cc: Sergei Shtylyov Cc: Joe Perches Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f582c8e2193e3848039de87e6a3ace7cbc7ed88 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:18 2009 +0200 ide: BUG() on unknown flags in ide_disk_special() Signed-off-by: Bartlomiej Zolnierkiewicz commit 6029336426a2b43e4bc6f4a84be8789a047d139e Author: Joao Ramos Date: Sun May 17 17:22:54 2009 +0200 ide: try to use PIO Mode 0 during probe if possible Initially set PIO Mode 0 for all host drivers that have a 'set_pio_mode' method before the IDE core figures out the most suited PIO mode for the attached device. Signed-off-by: Joao Ramos Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e8e7526c3c0863be25ab03a0871ee0978de5ba50 Author: Mark de Wever Date: Sun May 17 17:22:53 2009 +0200 ide-tape: fix debug call This error only occurs when IDETAPE_DEBUG_LOG is enabled. Signed-off-by: Mark de Wever Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2eec8c318b9bbfe9e0f2a889b4ad3f4b4e5ba429 Author: Sascha Hauer Date: Fri Mar 20 20:27:37 2009 +0100 mx3fb: Issue prettier log message Without this patch we end up with a log message like "mx3_sdc_fb mx3_sdc_fb: mx3fb: fb registered". That's two fb too much for my taste. Signed-off-by: Sascha Hauer commit 92368890d551794ee8d7e90477d8498bb7f82a9b Author: Stefan Richter Date: Wed May 13 21:42:14 2009 +0200 firewire: core: improve check for local node My recently added test for a device being local in fw-cdev.c got it slightly wrong: Comparisons of node IDs are only valid if the generation is current, which I forgot to check. Normally, serialization by card->lock takes care of this, but a device in FW_DEVICE_GONE state will necessarily have a wrong generation and invalid node_id. The "is it local?" check is made 100% correct and simpler now by means of a struct fw_device flag which is set at fw_device creation. Besides the fw-cdev site which was to be fixed, there is another site which can make use of the new flag, and an RFC-2734 driver will benefit from it too. Signed-off-by: Stefan Richter commit d2517a49d55536b38c7a87e5289550cfedaa4dcc Author: Ingo Molnar Date: Sun May 17 10:04:45 2009 +0200 perf_counter, x86: fix zero irq_period counters The quirk to irq_period unearthed an unrobustness we had in the hw_counter initialization sequence: we left irq_period at 0, which was then quirked up to 2 ... which then generated a _lot_ of interrupts during 'perf stat' runs, slowed them down and skewed the counter results in general. Initialize irq_period to the maximum instead. [ Impact: fix perf stat results ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 0203026b58b4299ba7281c0b4b417207c1f05d0e Author: Ingo Molnar Date: Sun May 17 11:24:08 2009 +0200 perf_counter: fix threaded task exit Flushing counters in __exit_signal() with irqs disabled is not a good idea as perf_counter_exit_task() acquires mutexes. So flush it before acquiring the tasklist lock. (Note, we still need a fix for when the PID has been unhashed.) [ Impact: fix crash with inherited counters ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 856d56b9e5de650a64a6c41c17aaed702b55d578 Author: Peter Zijlstra Date: Fri May 15 20:45:59 2009 +0200 perf_counter: Fix counter inheritance Srivatsa Vaddagiri reported that a Java workload triggers this warning in kernel/exit.c: WARN_ON_ONCE(!list_empty(&tsk->perf_counter_ctx.counter_list)); Add the inherited counter propagation on self-detach, this could cause counter leaks and incomplete stats in threaded code like the below: #include #include void *thread(void *arg) { sleep(5); return NULL; } void main(void) { pthread_t thr; pthread_create(&thr, NULL, thread, NULL); } Reported-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 8bc2095951517e2c74b8aeeca4685ddd6b16ed4b Author: Peter Zijlstra Date: Fri May 15 20:45:59 2009 +0200 perf_counter: Fix inheritance cleanup code Clean up code that open-coded the list_{add,del}_counter() code in __perf_counter_exit_task() which consequently diverged. This could lead to software counter crashes. Also, fold the ctx->nr_counter inc/dec into those functions and clean up some of the related code. [ Impact: fix potential sw counter crash, cleanup ] Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 3f7ea467be1bad860c0f71ba7373dd3cf76b485a Author: Nelson Castillo Date: Fri May 8 08:10:12 2009 -0500 [ARM] S3C: ADC: Expose number of remaining conversions to convert callback This patch allow us to efficiently modify the number of remaining conversions from the client side. This us useful when we do not know in advance how many conversions we will need or when we need to cancel pending conversions. This change is simple enough to be compatible with existing code that can just define the new pointer in the callback and ignore it. Sample usage: http://tinyurl.com/s3c2410-ts-c (function stylus_adc_action). Signed-off-by: Nelson Castillo Signed-off-by: Ben Dooks commit b57f0fe10712026d15a9d5a20e31f240ee72ec15 Author: Nelson Castillo Date: Fri May 8 08:10:04 2009 -0500 [ARM] S3C: ADC: Fix lines with more than 80 chars in adc.h Small cleanup. Signed-off-by: Nelson Castillo [ben-linux@fluff.org: rewrote subject] Signed-off-by: Ben Dooks commit 06fa1d37ce9a8fab86a5db304ca5b576f0223d18 Author: Ben Dooks Date: Sat May 16 22:11:20 2009 +0100 [ARM] SMDK6410: Add USB high-speed/OtG gadget device Add the USB gadget support to the SMDK6410. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit f0e1fa760099eef43f4450471d795807a1cc43c8 Author: Ben Dooks Date: Sat May 16 22:05:27 2009 +0100 [ARM] S3C: Add USB high-speed/OtG device definitions Add platform device definitions for the high-speed and OtG capable device block on the newer Samsung parts. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit fdac1c76beb9d142675c852834a64a77703bd450 Merge: 0368241 d878829 Author: Bartlomiej Zolnierkiewicz Date: Sat May 16 19:49:03 2009 +0200 Merge branch 'for-linus' into for-next commit 153fa1d8c6cf7b0e552bbd093dbad2e3c9b318ed Author: Magnus Lilja Date: Sat May 16 12:43:10 2009 +0200 i.MX31: Restructure UART setup for PDK board. Restructure UART pin setup in preparation for adding other pins in later patches. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 92ab0a50157449c5bcf55ab4aad0a0c2da0be7c7 Author: Alberto Panizzo Date: Fri May 15 18:48:13 2009 +0200 ARM MXC: Make-sure-ipg_per_clk-is-generated-by-ipg_clk-and-not-usb_pll From ff1fd9d7015d9b9ad3e0df2016d0415e2719747c Mon Sep 17 00:00:00 2001 From: Alberto Panizzo Date: Fri, 15 May 2009 17:21:21 +0200 Subject: [PATCH] Make sure ipg_per_clk is generated by ipg_clk and not usb_pll Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 183c7fff50a6a83234b5dc6673b6906bd7145326 Author: Magnus Lilja Date: Mon May 4 22:18:09 2009 +0200 i.MX31: Add NAND device driver for Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 812a2cca295ee7f56cd1b988a0f93646285c214a Author: Takashi Iwai Date: Sat May 16 10:00:49 2009 +0200 ALSA: hda - Split codec->name to vendor and chip name strings Split the name string in hda_codec struct to vendor_name and chip_name strings to be stored directly from the preset name. Since mostly only the chip name is referred in many patch_*.c, this results in the reduction of many codes in the end. Signed-off-by: Takashi Iwai commit a48b2d4a0091904b4cf57d667adc2faf689750d3 Author: Felipe Balbi Date: Fri May 15 20:12:47 2009 -0700 Input: introduce lm8323 keypad driver lm8323 is the keypad driver used in n810 device. [akpm@linux-foundation.org: coding-style fixes] [dtor@mail.ru: various cleanups] Signed-off-by: Felipe Balbi Reviewed-by: Trilok Soni Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 535650fd7008caffad29f001bcda43f56bafea8e Author: Zephaniah E. Hull Date: Thu May 14 22:02:33 2009 -0700 Input: psmouse - ESD workaround fix for OLPC XO touchpad It appears that when the XO touchpad unit resets from ESD, it sends AA AA instead of AA 00, the psmouse-base code handles the case of AA 00 by triggering a serio reconnect for the port, causing a full reprobe of the device. Testing with OFW shows that this is likely to solve the problem, so the attached patch simply expands the existing test to also catch AA AA. Signed-off-by: Andres Salomon Signed-off-by: Deepak Saxena Signed-off-by: Dmitry Torokhov commit 78f7f36711396991431a1d7ceab6103d2c54694c Author: Kwangwoo Lee Date: Fri May 15 19:14:35 2009 -0700 Input: tsc2007 - make sure platform provides get_pendown_state() The platform codes must provide get_pendown_state() for the driver to work properly. Signed-off-by: Kwangwoo Lee Signed-off-by: Dmitry Torokhov commit 05cebd3816dabfb223abe27b3ad3b50140c457a0 Author: Aristeu Sergio Rozanski Filho Date: Thu May 14 22:01:57 2009 -0700 Input: uinput - flush all pending ff effects before destroying device The destruction of a input device in uinput is triggered by an ioctl(). If a process tries to destroy an input device while other is uploading a force feedback effect by evdev to the same device, they'll deadlock. This patch fixes the problem by flushing all pending FF uploads before destroying the device and preventing new uploads during this operation. [dtor@mail.ru: fix logic that ensures we don't submit new requests to the device that is being destroyed.] Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit a2bd40d215b0997e21a0cfd06c1aa474ec3a0944 Author: Hartley Sweeten Date: Mon May 4 19:09:25 2009 +0100 [ARM] 5504/1: ep93xx: Merge all edb93xx platforms The Cirrus Logic EDB93xx development board platform init files share redundant code. The only differences are in the flash memory configuration, MACH_TYPE, and additional on-board I2C devices. This patch merges all of them into one file. Cc: Lennert Buytenhek Cc: Herbert Valerio Riedel Cc: Toufeeq Hussain Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 28e43a519b9edb8277fc6b490ad17aa38c45a02b Author: Roel Kluin Date: Fri May 15 10:16:45 2009 -0700 RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes() With a postfix increment, i is incremented one past 10K/5K before the loop ends, so the error messages will be displayed too soon if the test succeeds on the last iteration. Fix the comparisons to be > instead of >=. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 748285ccf7ea76d3d76d0d5f2945ad6fb91f5329 Author: David Teigland Date: Fri May 15 10:50:57 2009 -0500 dlm: use more NOFS allocation Change some GFP_KERNEL allocations to use either GFP_NOFS or ls_allocation (when available) which the fs sets to GFP_NOFS. The point is to prevent allocations from going back into the cluster fs in places where that might lead to deadlock. Signed-off-by: David Teigland commit 52650257ea06bb15c2e2bbe854cbdf463726141a Author: Jaswinder Singh Rajput Date: Thu May 14 12:35:46 2009 +0530 x86, mtrr: replace MTRRdefType_MSR with msr-index's MSR_MTRRdefType Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit ba5673ff1ff5f428256db4cedd4b05b7be008bb6 Author: Jaswinder Singh Rajput Date: Thu May 14 12:29:25 2009 +0530 x86, mtrr: replace MTRRfix4K_C0000_MSR with msr-index's MSR_MTRRfix4K_C0000 Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 654ac05801ae806661c8fdeb3b5c420a31cbc5b1 Author: Jaswinder Singh Rajput Date: Thu May 14 12:21:54 2009 +0530 x86, mtrr: remove mtrr MSRs double declaration Removed MTRR MSR from mtrr/mtrr.h as these are already declared in msr-index.h and nobody is using them: MTRRfix16K_A0000_MSR MTRRfix4K_C8000_MSR MTRRfix4K_D0000_MSR MTRRfix4K_D8000_MSR MTRRfix4K_E0000_MSR MTRRfix4K_E8000_MSR MTRRfix4K_F0000_MSR MTRRfix4K_F8000_MSR Use standard msr-index.h's MSR declaration and no need to declare again [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 7d9d55e449089df8463bca2045d702ae6cda64a2 Author: Jaswinder Singh Rajput Date: Thu May 14 12:15:32 2009 +0530 x86, mtrr: replace MTRRfix16K_80000_MSR with msr-index's MSR_MTRRfix16K_80000 Use standard msr-index.h's MSR declaration and no need to declare again [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit a036c7a358cc9d7ed28a188480b9a4d709e09b24 Author: Jaswinder Singh Rajput Date: Thu May 14 12:10:43 2009 +0530 x86, mtrr: replace MTRRfix64K_00000_MSR with msr-index's MSR_MTRRfix64K_00000 Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit d9bcc01d58d18ed287091707b0b45c6ac888a11a Author: Jaswinder Singh Rajput Date: Thu May 14 12:06:12 2009 +0530 x86, mtrr: replace MTRRcap_MSR with msr-index's MSR_MTRRcap Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 0bbd0d4be8d5d3676c126e06e3c75c16def00441 Author: Paul Mackerras Date: Thu May 14 13:31:48 2009 +1000 perf_counter: powerpc: supply more precise information on counter overflow events This uses values from the MMCRA, SIAR and SDAR registers on powerpc to supply more precise information for overflow events, including a data address when PERF_RECORD_ADDR is specified. Since POWER6 uses different bit positions in MMCRA from earlier processors, this converts the struct power_pmu limited_pmc5_6 field, which only had 0/1 values, into a flags field and defines bit values for its previous use (PPMU_LIMITED_PMC5_6) and a new flag (PPMU_ALT_SIPR) to indicate that the processor uses the POWER6 bit positions rather than the earlier positions. It also adds definitions in reg.h for the new and old positions of the bit that indicates that the SIAR and SDAR values come from the same instruction. For the data address, the SDAR value is supplied if we are not doing instruction sampling. In that case there is no guarantee that the address given in the PERF_RECORD_ADDR subrecord will correspond to the instruction whose address is given in the PERF_RECORD_IP subrecord. If instruction sampling is enabled (e.g. because this counter is counting a marked instruction event), then we only supply the SDAR value for the PERF_RECORD_ADDR subrecord if it corresponds to the instruction whose address is in the PERF_RECORD_IP subrecord. Otherwise we supply 0. [ Impact: support more PMU hardware features on PowerPC ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18955.37028.48861.555309@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 9d23a90a67261e73b2fcac04d8ca963c6b496afb Author: Paul Mackerras Date: Thu May 14 21:48:08 2009 +1000 perf_counter: allow arch to supply event misc flags and instruction pointer At present the values we put in overflow events for the misc flags indicating processor mode and the instruction pointer are obtained using the standard user_mode() and instruction_pointer() functions. Those functions tell you where the performance monitor interrupt was taken, which might not be exactly where the counter overflow occurred, for example because interrupts were disabled at the point where the overflow occurred, or because the processor had many instructions in flight and chose to complete some more instructions beyond the one that caused the counter overflow. Some architectures (e.g. powerpc) can supply more precise information about where the counter overflow occurred and the processor mode at that point. This introduces new functions, perf_misc_flags() and perf_instruction_pointer(), which arch code can override to provide more precise information if available. They have default implementations which are identical to the existing code. This also adds a new misc flag value, PERF_EVENT_MISC_HYPERVISOR, for the case where a counter overflow occurred in the hypervisor. We encode the processor mode in the 2 bits previously used to indicate user or kernel mode; the values for user and kernel mode are unchanged and hypervisor mode is indicated by both bits being set. [ Impact: generalize perfcounter core facilities ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18956.1272.818511.561835@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit ef923214a4816c289e4af2d67a9ebb1a31e4ac61 Author: Paul Mackerras Date: Thu May 14 13:29:14 2009 +1000 perf_counter: powerpc: use u64 for event codes internally Although the perf_counter API allows 63-bit raw event codes, internally in the powerpc back-end we had been using 32-bit event codes. This expands them to 64 bits so that we can add bits for specifying threshold start/stop events and instruction sampling modes later. This also corrects the return value of can_go_on_limited_pmc; we were returning an event code rather than just a 0/1 value in some circumstances. That didn't particularly matter while event codes were 32-bit, but now that event codes are 64-bit it might, so this fixes it. [ Impact: extend PowerPC perfcounter interfaces from u32 to u64 ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18955.36874.472452.353104@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 391fbdc5d527149578490db2f1619951d91f3561 Author: Christine Caulfield Date: Thu May 7 10:54:16 2009 -0500 dlm: connect to nodes earlier Make network connections to other nodes earlier, in the context of dlm_recoverd. This avoids connecting to nodes from dlm_send where we try to avoid allocations which could possibly deadlock if memory reclaim goes into the cluster fs which may try to do a dlm operation. Signed-off-by: Christine Caulfield Signed-off-by: David Teigland commit f0bca459829fd33d659c8cd0369ac86a3924a9bc Author: Sergey Belyashov Date: Fri May 15 16:05:57 2009 +0200 HID: autocentering support for Logitech Force 3D Pro This patch adds autocentering support for Logitech Force 3D Pro. Signed-off-by: Sergey Belyashov Signed-off-by: Jiri Kosina commit b04b4f7862de8d6e8b536853aaf66a6c1bb05cbd Author: Alexander Beregalov Date: Fri May 15 18:00:38 2009 +0400 ALSA: parisc/harmony: fix printk format warning Fix this warning: sound/parisc/harmony.c:938: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai commit 0f6f4319a72a2b32d19643ff811f25633d8b0207 Author: Jiri Kosina Date: Fri May 15 15:46:44 2009 +0200 HID: fix hid-ff drivers so that devices work even without ff support Currently, the hid-*ff force feedback drivers, which claim the blacklisted device on a HID bus, are only compiled in if the user selects force feedback support. However we want the device to be supported even when the kernel is configured without force feedback. This patch fixes the drivers in a way that they get compiled even if force feedback is turned off; all the force feedback support code is compiled out in such case, and the driver works as a usual driver on HID bus, claiming and initializing the device, making it operational without FF effects. Reported-by: Jussi Kivilinna Signed-off-by: Jiri Kosina commit 2e569d36729c8105ae066a9b105068305442cc77 Author: Peter Zijlstra Date: Fri May 15 15:37:47 2009 +0200 perf_counter: frequency based adaptive irq_period, 32-bit fix fix: kernel/built-in.o: In function `perf_counter_alloc': perf_counter.c:(.text+0x7ddc7): undefined reference to `__udivdi3' [ Impact: build fix on 32-bit systems ] Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: <1242394667.6642.1887.camel@laptop> Signed-off-by: Ingo Molnar commit 2fc998907947f92b1b9113faad531d7f5a857987 Author: Nickolas Lloyd Date: Fri May 15 15:33:30 2009 +0200 ALSA: hda - add controls to toggle DC bias on mic ports This patch adds a mixer control for the STAC92XX boards to control the DC bias of mic ports, allowing recording from both powered and non-powered sources. It replaces the "Mic Output Switch" with "Mic Jack Mode" to switch between Mic, Line In, and Line Out. Signed-off-by: Nickolas Lloyd Signed-off-by: Takashi Iwai commit 2d02494f5a90f2e4b3c4c6acc85ec94674cdc431 Author: Thomas Gleixner Date: Sat May 2 20:08:52 2009 +0200 sched, timers: cleanup avenrun users avenrun is an rough estimate so we don't have to worry about consistency of the three avenrun values. Remove the xtime lock dependency and provide a function to scale the values. Cleanup the users. [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra commit dce48a84adf1806676319f6f480e30a6daa012f9 Author: Thomas Gleixner Date: Sat Apr 11 10:43:41 2009 +0200 sched, timers: move calc_load() to scheduler Dimitri Sivanich noticed that xtime_lock is held write locked across calc_load() which iterates over all online CPUs. That can cause long latencies for xtime_lock readers on large SMP systems. The load average calculation is an rough estimate anyway so there is no real need to protect the readers vs. the update. It's not a problem when the avenrun array is updated while a reader copies the values. Instead of iterating over all online CPUs let the scheduler_tick code update the number of active tasks shortly before the avenrun update happens. The avenrun update itself is handled by the CPU which calls do_timer(). [ Impact: reduce xtime_lock write locked section ] Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra commit f5456a6b056b709282e87a68b4c1b81ac2e866fa Author: Peter Zijlstra Date: Fri May 15 15:19:29 2009 +0200 perf top: update to use the new freq interface Provide perf top -F as alternative to -c. [ Impact: new 'perf top' feature ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.707922166@chello.nl> Signed-off-by: Ingo Molnar commit 60db5e09c13109b13830cc9dcae688003fd39e79 Author: Peter Zijlstra Date: Fri May 15 15:19:28 2009 +0200 perf_counter: frequency based adaptive irq_period Instead of specifying the irq_period for a counter, provide a target interrupt frequency and dynamically adapt the irq_period to match this frequency. [ Impact: new perf-counter attribute/feature ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.646195868@chello.nl> Signed-off-by: Ingo Molnar commit 789f90fcf6b0b54e655740e9396c954378542c79 Author: Peter Zijlstra Date: Fri May 15 15:19:27 2009 +0200 perf_counter: per user mlock gift Instead of a per-process mlock gift for perf-counters, use a per-user gift so that there is less of a DoS potential. [ Impact: allow less worst-case unprivileged memory consumption ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.496182835@chello.nl> Signed-off-by: Ingo Molnar commit 548e1ddf255b4ebfb4ef20c08936fd8d4deb3bd9 Author: Peter Zijlstra Date: Fri May 15 15:19:26 2009 +0200 perf_counter: remove perf_disable/enable exports Now that ACPI idle doesn't use it anymore, remove the exports. [ Impact: remove dead code/data ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.429826617@chello.nl> Signed-off-by: Ingo Molnar commit f1a11e0576c7a73d759d05d776692b2b2d37172b Author: Thomas Gleixner Date: Tue May 5 19:21:40 2009 +0200 futex: remove the wait queue The waitqueue which is used in struct futex_q is a leftover from the futexfd implementation. There is no need to use a waitqueue at all, as the waiting task is the only user of it. The waitqueue just adds additional locking and a loop in the wake up path which both can be avoided. We have already a task reference in struct futex_q which is used for PI futexes. Use it for normal futexes as well and just wake up the task directly. The logic of signalling the futex wakeup via setting q->lock_ptr to NULL is kept with the difference that we set it NULL before doing the wakeup. This opens an exit race window vs. a non futex wake up of the to be woken up task, which we prevent with get_task_struct / put_task_struct on the waiter. [ Impact: simplification ] Signed-off-by: Thomas Gleixner commit fac733f029251a393c42a8313432f2d9fe43bb83 Author: Jussi Kivilinna Date: Wed May 13 11:54:38 2009 +0300 HID: force feedback support for SmartJoy PLUS PS2/USB adapter This driver adds force feedback support for SmartJoy PLUS PS2/USB adapter. I made this driver one device spesific instead of making generic 'wisegroup-ff' because I have another Wisegroup PS2/USB adapter that doesn't work same way as SmartJoy PLUS. If another device that is compatible pops up, this driver could be then renamed to something more generic. Signed-off-by: Jussi Kivilinna Signed-off-by: Jiri Kosina commit 6e03a201bbe8137487f340d26aa662110e324b20 Author: David Woodhouse Date: Thu Apr 9 22:04:07 2009 -0700 firmware: speed up request_firmware(), v3 Rather than calling vmalloc() repeatedly to grow the firmware image as we receive data from userspace, just allocate and fill individual pages. Then vmap() the whole lot in one go when we're done. A quick test with a 337KiB iwlagn firmware shows the time taken for request_firmware() going from ~32ms to ~5ms after I apply this patch. [v2: define PAGE_KERNEL_RO as PAGE_KERNEL where necessary, use min_t()] [v3: kunmap() takes the struct page *, not the virtual address] Signed-off-by: David Woodhouse Tested-by: Sachin Sant commit 2bf2778e0fb38255e55ab5e10022132b0a72420e Author: Takashi Iwai Date: Fri May 15 12:20:52 2009 +0200 ASoC: Optimize switch/case in magician.c Use default to optimize the switch/case in magicial_playback_hw_params(), which also fixes the compile warnings below: sound/soc/pxa/magician.c:89: warning: 'acds' may be used uninitialized in this function sound/soc/pxa/magician.c:89: warning: 'acps' may be used uninitialized in this function Signed-off-by: Takashi Iwai commit 2baaec28068d07db3d4ae6ba885fa07255b2ad79 Author: Takashi Iwai Date: Fri May 15 12:18:47 2009 +0200 ASoC: Add missing __devexit in wm8940.c Signed-off-by: Takashi Iwai commit 58d7e993b16b62d30f8ef27757614056fe4def11 Author: Ingo Molnar Date: Fri May 15 11:03:23 2009 +0200 perf stat: handle Ctrl-C Before this change, if a long-running perf stat workload was Ctrl-C-ed, the utility exited without displaying statistics. After the change, the Ctrl-C gets propagated into the workload (and causes its early exit there), but perf stat itself will still continue to run and will display counter results. This is useful to run open-ended workloads, let them run for a while, then Ctrl-C them to get the stats. [ Impact: extend perf stat with new functionality ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 5f592bb99b2634b2c515bb75d92cae14b1e22c51 Merge: dd4a416 81a4275 Author: Takashi Iwai Date: Fri May 15 10:30:21 2009 +0200 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 81a4275bff16b0a63074669541be6eb4d5279f26 Merge: 63c26ba f492ec9 Author: Mark Brown Date: Fri May 15 08:59:52 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 251e8e3c7235f5944805a64f24c79fc4696793f1 Author: Ingo Molnar Date: Thu May 14 05:16:59 2009 +0200 perf_counter: Remove ACPI quirk We had a disable/enable around acpi_idle_do_entry() due to an erratum in an early prototype CPU i had access to. That erratum has been fixed in the BIOS so remove the quirk. The quirk also kept us from profiling interrupts that hit the ACPI idle instruction - so this is an improvement as well, beyond a cleanup and a micro-optimization. [ Impact: improve profiling scope, cleanup, micro-optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 9029a5e3801f1cc7cdaab80169d82427acf928d8 Author: Ingo Molnar Date: Fri May 15 08:26:20 2009 +0200 perf_counter: x86: Protect against infinite loops in intel_pmu_handle_irq() intel_pmu_handle_irq() can lock up in an infinite loop if the hardware does not allow the acking of irqs. Alas, this happened in testing so make this robust and emit a warning if it happens in the future. Also, clean up the IRQ handlers a bit. [ Impact: improve perfcounter irq/nmi handling robustness ] Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 1c80f4b598d9b075a2a0be694e28be93a6702bcc Author: Ingo Molnar Date: Fri May 15 08:25:22 2009 +0200 perf_counter: x86: Disallow interval of 1 On certain CPUs i have observed a stuck PMU if interval was set to 1 and NMIs were used. The PMU had PMC0 set in MSR_CORE_PERF_GLOBAL_STATUS, but it was not possible to ack it via MSR_CORE_PERF_GLOBAL_OVF_CTRL, and the NMI loop got stuck infinitely. [ Impact: fix rare hangs during high perfcounter load ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit a4016a79fcbd139e7378944c0d86a39fdbc70ecc Author: Peter Zijlstra Date: Thu May 14 14:52:17 2009 +0200 perf_counter: x86: Robustify interrupt handling Two consecutive NMIs could daze and confuse the machine when the first would handle the overflow of both counters. [ Impact: fix false-positive syslog messages under multi-session profiling ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 9e35ad388bea89f7d6f375af4c0ae98803688666 Author: Peter Zijlstra Date: Wed May 13 16:21:38 2009 +0200 perf_counter: Rework the perf counter disable/enable The current disable/enable mechanism is: token = hw_perf_save_disable(); ... /* do bits */ ... hw_perf_restore(token); This works well, provided that the use nests properly. Except we don't. x86 NMI/INT throttling has non-nested use of this, breaking things. Therefore provide a reference counter disable/enable interface, where the first disable disables the hardware, and the last enable enables the hardware again. [ Impact: refactor, simplify the PMU disable/enable logic ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 962bf7a66edca4d36a730a38ff8410a67f560e40 Author: Peter Zijlstra Date: Wed May 13 13:21:36 2009 +0200 perf_counter: x86: Fix up the amd NMI/INT throttle perf_counter_unthrottle() restores throttle_ctrl, buts its never set. Also, we fail to disable all counters when throttling. [ Impact: fix rare stuck perf-counters when they are throttled ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 53020fe81eecd0b7be295868ce5850ef8f41074e Author: Peter Zijlstra Date: Wed May 13 21:26:19 2009 +0200 perf_counter: Fix perf_output_copy() WARN to account for overflow The simple reservation test in perf_output_copy() failed to take unsigned int overflow into account, fix this. [ Impact: fix false positive warning with more than 4GB of profiling data ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit a026dfecc035f213c1cfa0bf6407ce3155f6a9df Author: Peter Zijlstra Date: Wed May 13 10:02:57 2009 +0200 perf_counter: x86: Allow unpriviliged use of NMIs Apply sysctl_perf_counter_priv to NMIs. Also, fail the counter creation instead of silently down-grading to regular interrupts. [ Impact: allow wider perf-counter usage ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit f5a5a2f6e69e88647ae12da39f0ff3a510bcf0a6 Author: Ingo Molnar Date: Wed May 13 12:54:01 2009 +0200 perf_counter: x86: Fix throttling If counters are disabled globally when a perfcounter IRQ/NMI hits, and if we throttle in that case, we'll promote the '0' value to the next lapic IRQ and disable all perfcounters at that point, permanently ... Fix it. [ Impact: fix hung perfcounters under load ] Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit ec3232bdf8518bea8410f0027f870b24d3aa8753 Author: Peter Zijlstra Date: Wed May 13 09:45:19 2009 +0200 perf_counter: x86: More accurate counter update Take the counter width into account instead of assuming 32 bits. In particular Nehalem has 44 bit wide counters, and all arithmetics should happen on a 44-bit signed integer basis. [ Impact: fix rare event imprecision, warning message on Nehalem ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 1a853e36871b533ccc3f3c5bdd5cd0d867043a00 Author: Arnaldo Carvalho de Melo Date: Thu May 14 22:50:46 2009 -0300 perf record: Allow specifying a pid to record Allow specifying a pid instead of always fork+exec'ing a command. Because the PERF_EVENT_COMM and PERF_EVENT_MMAP events happened before we connected, we must synthesize them so that 'perf report' can get what it needs. [ Impact: add new command line option ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Clark Williams Cc: John Kacur Cc: Peter Zijlstra LKML-Reference: <20090515015046.GA13664@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 103f7033bd0f7b65ff3e0a5ea72449d08010b031 Author: Borislav Petkov Date: Sun Apr 26 10:39:07 2009 +0200 ide: unify interrupt reason checking Add ide_check_ireason() function that handles all ATAPI devices. Reorganize all unlikely cases in ireason checking further down in the code path. In addition, add PFX for printks originating from ide-atapi. Finally, remove ide_cd_check_ireason. Signed-off-by: Borislav Petkov commit 239f7e25346e22c4a94bde004d845e7397947c01 Author: Borislav Petkov Date: Thu Apr 23 08:30:29 2009 +0200 ide-cd: use whole request_sense buffer in EH Now that we use a static request_sense buffer, use it instead of the first 18 bytes only. Also, remove sense-arg to cdrom_analyze_sense_data and cdrom_log_sense since we can access it through drive->sense_data now. Signed-off-by: Borislav Petkov commit 19f52a784f7ecb5b51cd73cc4514614b600b995a Author: Borislav Petkov Date: Mon May 4 09:53:03 2009 +0200 ide-atapi: remove pc->buf Now after all users of pc->buf have been converted, remove the 64B buffer embedded in each packet command. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 55ce3a129ea2e8faba4a11bb5dbc305590d1c20c Author: Borislav Petkov Date: Mon May 4 09:38:15 2009 +0200 ide-tape: fix READ POSITION cmd handling ide-tape used to issue READ POSITION in several places and the evaluation of the returned READ POSITION data was done in the ->pc_callback. Convert it to use local buffer and move that evaluation chunk in the idetape_read_position(). Additionally, fold idetape_create_read_position_cmd() into it, too, thus concentrating READ POSITION handling in one method only and making all places call that. Finally, mv {idetape,ide_tape}_read_position. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 837272b4f9393df40d16cc2ac731221027048ba6 Author: Borislav Petkov Date: Mon May 4 09:48:57 2009 +0200 ide-tape/ide_tape_get_bsize_from_bdesc: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 60cfab85da965035c7baf66a63f048155bb302b1 Author: Borislav Petkov Date: Tue May 12 08:59:49 2009 +0200 ide-floppy/ide_floppy_get_format_progress: use local sense buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit ae3a8387be529e632eac69b342524c25b892fc63 Author: Borislav Petkov Date: Sat May 2 10:58:17 2009 +0200 ide-atapi: use local sense buffer Access the sense buffer through the bio in ->pc_callback method thus alleviating the need for the pc->buf pointer. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 5122e5174f872c9f3120c8aff71c448f84b6f038 Author: Borislav Petkov Date: Sat May 2 10:53:10 2009 +0200 ide-floppy/ide_floppy_format_unit: use local buffer Pass the buffer into ide_floppy_create_format_unit_cmd instead of using pc->buf. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 802e663427b16c77368a4fb2f77c105fbfffd68c Author: Borislav Petkov Date: Sat May 2 10:45:17 2009 +0200 ide-floppy/ide_floppy_get_sfrp_bit: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit d9a683076412924ca03c8b6cb766964425cf822e Author: Borislav Petkov Date: Sat May 2 10:43:11 2009 +0200 ide-floppy/ide_floppy_get_flexible_disk_page: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit b13345f39dadbabdabaf8819cf6df26913da9e8d Author: Borislav Petkov Date: Sat May 2 10:26:12 2009 +0200 ide-atapi: add a buffer-arg to ide_queue_pc_tail This is in preparation of removing ide_atapi_pc. Expose the buffer as an argument to ide_queue_pc_tail with later replacing it with local buffer or even kmalloc'ed one if needed due to stack usage constraints. Also, add the possibility of passing a NULL-ptr buffer for cmds which don't transfer data besides the cdb. While at it, switch to local buffer in idetape_get_mode_sense_results(). There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 5a0e43b5e2ee9a295f864c38f0e853b1a4fc3892 Author: Borislav Petkov Date: Fri May 1 23:27:11 2009 +0200 ide-atapi: add a len-parameter to ide_queue_pc_tail This is in preparation for removing ide_atapi_pc. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 077e6dba20e74a455a0452379d2a965c7e1b01ad Author: Borislav Petkov Date: Fri May 1 21:21:02 2009 +0200 ide-atapi: switch to rq->resid_len Now that we have rq->resid_len, use it to account partial completion amount during the lifetime of an rq, decrementing it on each successful transfer. As a result, get rid of now unused pc->xferred. While at it, remove noisy debug call in ide_prep_sense. Signed-off-by: Borislav Petkov commit dfb7e621fa12c0579e88560ab176c5768f9e0bfb Author: Borislav Petkov Date: Fri May 1 20:35:21 2009 +0200 ide-atapi: switch to blk_rq_bytes() on do_request() path After the recent struct request cleanups, blk_rq_bytes() is guaranteed to be valid and is the current total length of the rq's bio. Use that instead of pc->req_xfer in the do_request() path after the command has been queued The remaining usage of pc->req_xfer now is only until we map the rq to a bio. While at it: - remove local caching of rq completion length in ide_tape_issue_pc() Signed-off-by: Borislav Petkov commit 10c0b3437c4dc0d14ac254bbe71e54ea5f238d97 Author: Borislav Petkov Date: Fri May 1 20:29:53 2009 +0200 ide-tape: fix potential fs requests bug ide-tape had a potential bug for fs requests when preparing the command packet: it was writing the transfer length as a number of fixed blocks. However, the block layer implies 512 byte blocks and ide-tape can have other block sizes so account for that too. ide-floppy does this calculation properly with the block size factor (floppy->bs_factor). Signed-off-by: Borislav Petkov commit 5872144f64b34a5942f6b4acedc90b02de72c58b Author: Li Zefan Date: Fri May 15 11:07:56 2009 +0800 tracing/filters: fix off-by-one bug We should leave the last slot for the ending '\0'. [ Impact: fix possible crash when the length of an operand is 128 ] Signed-off-by: Li Zefan LKML-Reference: <4A0CDC8C.30602@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 8cd995b6deedf98b7694ed32a786ee7f793d1eec Author: Li Zefan Date: Fri May 15 11:07:27 2009 +0800 tracing/filters: add missing unlock in a failure path [ Impact: fix deadlock in a rare case we fail to allocate memory ] Signed-off-by: Li Zefan LKML-Reference: <4A0CDC6F.7070200@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 1ec7c4849c214fc78b023230264399836ea3b245 Author: Steven Rostedt Date: Thu May 14 23:40:06 2009 -0400 tracing: stop stack trace on first empty entry The stack tracer stores eight entries in the ring buffer when an event traces the stack. The output outputs all eight entries regardless of how many entries were recorded. This patch breaks out of the loop when a null entry is discovered. [ Impact: only print the stack that is recorded ] Signed-off-by: Steven Rostedt commit 29a679754b1a2581ee456eada6c2de7ce95068bb Author: Steven Rostedt Date: Thu May 14 23:19:09 2009 -0400 x86/stacktrace: return 0 instead of -1 for stack ops If we return -1 in the ops->stack for the stacktrace saving, we end up breaking out of the loop if the stack we are tracing is in the exception stack. This causes traces like: -0 [002] 34263.745825: raise_softirq_irqoff <-__blk_complete_request -0 [002] 34263.745826: <= 0 <= 0 <= 0 <= 0 <= 0 <= 0 <= 0 By returning "0" instead, the irq stack is saved as well, and we see: -0 [003] 883.280992: raise_softirq_irqoff <-__hrtimer_star t_range_ns -0 [003] 883.280992: <= hrtimer_start_range_ns <= tick_nohz_restart_sched_tick <= cpu_idle <= start_secondary <= <= 0 <= 0 [ Impact: record stacks from interrupts ] Signed-off-by: Steven Rostedt commit 639138a991aaf1a3f65cc66700d097edc5f602fe Author: Magnus Damm Date: Fri May 15 12:07:17 2009 +0900 sound: oss: sh_dac_audio timer fixes. This patch modifies sh_dac_audio in the following ways: - use high resolution timer instead of TMU1 - fix cpu/dac.h include - add future rewrite comment Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bec36eca6f5d1d83a9c3733fc40ba173ad849df2 Author: Paul Mundt Date: Fri May 15 12:03:04 2009 +0900 sh: hd64461: Fix up I/O base register offsets. hd64461 is mapped in a fixed location, so the I/O base itself is fairly meaningless as a configuration item. Additionally, this makes it impossible to share hd64461 code alongside generic drivers (in the case of sh_dac_audio), so simply make it commonly defined and permit the mach_is_foo() logic to work out the proper semantics. Signed-off-by: Paul Mundt commit c3d20103d08e5c0b6738fbd0acf3ca004e5356c5 Author: Eric Paris Date: Tue May 12 15:14:23 2009 -0400 IMA: do not measure everything opened by root by default The IMA default policy measures every single file opened by root. This is terrible for most users. Consider a system (like mine) with virtual machine images. When those images are touched (which happens at boot for me) those images are measured. This is just way too much for the default case. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit f850a7c040d9faafb41bceb0a05d6bb7432c8c7a Author: Eric Paris Date: Tue May 12 15:13:55 2009 -0400 IMA: remove read permissions on the ima policy file The IMA policy file does not implement read. Trying to just open/read/close the file will load a blank policy and you cannot then change the policy without a reboot. This removes the read permission from the file so one must at least be attempting to write... Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 63c26baa2aa624b023892d66ed696525fc787560 Author: Marek Vasut Date: Thu May 14 20:52:46 2009 +0100 ASoC: Support AC97 link off by default on WM9712 The WM9712 can be configured by resistor strapping GPIO4 to behave like the WM9713 and default to leaving the AC97 link disabled after cold reset until a warm reset occurs. In this configuration we need to issue a warm reset after cold to bring the link up so do so. The warm reset will be harmless on systems that don't need it. [Changelog rewritten to document the reasoning. -- broonie] Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit c13cb78ace34ef9e4cfa2a2fae9a7772d90d6ace Merge: d34c430 916465a Author: Mark Brown Date: Thu May 14 20:35:51 2009 +0100 Merge branch 'pxa2xx-i2s' into for-2.6.31 commit 916465a841937a60baac6144ae3f41b0d1560f3b Author: Karl Beldan Date: Wed May 13 22:16:59 2009 +0200 ASoC: pxa2xx-i2s: Fix suspend/resume pxa2xx_i2s_resume is : - unconditionnaly setting SACR0_ENB - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0 fix these. In pxa2xx_i2s_{resume,suspend}, save/restore registers even when !dai->active. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 9bc04fd1677a956fdd7c5645a09de34ca9a8f1a6 Author: Karl Beldan Date: Wed May 13 22:16:52 2009 +0200 ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown. Now we 'get' i2s_clk at probe and 'put' it at driver removal or when probe fails. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 34555c1077ac8f4854e0db9ad11b989a6908d210 Author: Karl Beldan Date: Wed May 13 22:16:46 2009 +0200 ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately - hw_params enables both RPL and REC functions each time : Enable the appropriate function in pxa2xx_i2s_trigger. - pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is off : Turn it off only when both functions are off. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit b243b77c708665d7af8c5e42611c27c89f918788 Author: Karl Beldan Date: Thu May 14 10:25:42 2009 +0200 ASoC: pxa2xx-i2s: Proper hw initialization Make sure we are in a know good state at end of probe : Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled (SACR0_RST enables REC and RPL). Resetting loses current settings so remove reset from stream startup. Now reset occurs only at probe. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 2ac3b6e00acb46406c993d57921f86a594aafe08 Author: Theodore Ts'o Date: Thu May 14 13:57:08 2009 -0400 ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state The ext4_get_blocks() function was depending on the value of bh_result->b_state as an input parameter to decide whether or not update the delalloc accounting statistics by calling ext4_da_update_reserve_space(). We now use a separate flag, EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE, to requests this update, so that all callers of ext4_get_blocks() can clear map_bh.b_state before calling ext4_get_blocks() without worrying about any consistency issues. Signed-off-by: "Theodore Ts'o" commit 7442f9dadb8626bd9e7e01445560499560b99f5d Author: Takashi Iwai Date: Thu May 14 18:20:33 2009 +0200 ALSA: hda - Add a quirk entry for Macbook Pro 5,1 Added the codec SSID for MacBook Pro 5,1 as compatible as MP51. However, the headphone auto-muting function doesn't work. So, this is just a tentative solution. Signed-off-by: Takashi Iwai commit 2fa3cdfb319055fd8b25abdafa413e16f00ad493 Author: Theodore Ts'o Date: Thu May 14 09:29:45 2009 -0400 ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks() The static function ext4_da_get_block_write() was only used by mpage_da_map_blocks(). So to simplify the code, merge that function into mpage_da_map_blocks(). Signed-off-by: "Theodore Ts'o" commit b3e0afe61e8271a8d082478752a67e5c279c8f23 Author: Takashi Iwai Date: Thu May 14 15:19:30 2009 +0200 ALSA: ctxfi - Add prefix to debug prints Added ctxfi: prefix to each debug print. Signed-off-by: Takashi Iwai commit 35b053becb64eba13f3ea5c8c51023997169ff34 Author: Takashi Iwai Date: Thu May 14 15:17:16 2009 +0200 ALSA: ctxfi - Avoid unneeded pci_read_config_*() calls Use struct pci subsystem_device and revision fields instead of unneeded calls of pci_read_config_*(). Signed-off-by: Takashi Iwai commit 9fc20f030ba457d20eb994e1def7e2ce7d5ae1a8 Author: Takashi Iwai Date: Thu May 14 15:14:18 2009 +0200 ALSA: ctxfi - Move PCI ID definitions to linux/pci_ids.h Signed-off-by: Takashi Iwai commit 903dba1eae49270a8c2275636071c3a238c8104d Author: Jean Delvare Date: Thu May 14 14:37:21 2009 +0200 ALSA: keywest: Get rid of useless i2c_device_name() macro The i2c_device_name() macro is used only once and doesn't have much value, it hurts redability more than it helps. Get rid of it. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Signed-off-by: Takashi Iwai commit d34c43078236b41146877c49af341ab85b5fb8db Author: Jon Smirl Date: Wed May 13 21:59:14 2009 -0400 ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit 14610ce711a363028ffffad98947d57f21fa5372 Author: Anuj Aggarwal Date: Thu May 14 13:59:19 2009 +0530 ASoC: Added OMAP3 EVM support in ASoC. Resending the patch after fixing the minor issues. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit d0da727e025da8b443a4a614dbb7a031b89857d0 Author: Takashi Iwai Date: Thu May 14 10:56:04 2009 +0200 ALSA: ctxfi - Add missing inclusion of linux/delay.h Signed-off-by: Takashi Iwai commit 9304d0ccf1922b9b954b6e9223d1b2bc83198ad2 Author: Magnus Damm Date: Thu May 14 07:53:39 2009 +0000 sh: intc tables for sh7770 This patch adds INTC tables for sh7770, thanks goes to Paul for the first prototype version. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ad3256e361663923342bff7f292dd289f794aa33 Author: Paul Mundt Date: Thu May 14 17:40:08 2009 +0900 sh: Provide FORCE_MAX_ZONEORDER. Several platforms want to be able to do large physically contiguous allocations (primarily nommu and video codecs on SH-Mobile), provide a MAX_ORDER override for those cases. Tested-by: Conrad Parker Signed-off-by: Paul Mundt commit 549b5e358d17a8c04953ed80896ce07d37722451 Author: Paul Mundt Date: Thu May 14 17:38:46 2009 +0900 sh: clkfwk: Add MSTP bits to SH7785 clock framework. This plugs in all of the MSTP functions in to the clock framework, and hands them off to the platform devices that want them. Signed-off-by: Paul Mundt commit 77f6bf57ba9d2c50173536dbfdacdab27cb867ca Author: Andrew Morton Date: Thu May 14 09:49:44 2009 +0200 splice: fix error return code fs/splice.c: In function 'default_file_splice_read': fs/splice.c:566: warning: 'error' may be used uninitialized in this function which is sort-of true. The code will in fact return -ENOMEM instead of the kernel_readv() return value. Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 8cc72361481f00253f1e468ade5795427386d593 Author: Wai Yew CHAY Date: Thu May 14 08:05:58 2009 +0200 ALSA: SB X-Fi driver merge The Sound Blaster X-Fi driver supports Creative solutions based on 20K1 and 20K2 chipsets. Supported hardware : Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Series Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series Creative Sound Blaster X-Fi Titanium Professional Audio Creative Sound Blaster X-Fi Titanium Creative Sound Blaster X-Fi Elite Pro Creative Sound Blaster X-Fi Platinum Creative Sound Blaster X-Fi Fatal1ty Creative Sound Blaster X-Fi XtremeGamer Creative Sound Blaster X-Fi XtremeMusic Current release features: * ALSA PCM Playback * ALSA Record * ALSA Mixer Note: * External I/O modules detection not included. Signed-off-by: Wai Yew CHAY Singed-off-by: Ryan RICHARDS Signed-off-by: Takashi Iwai commit 5b891a9332dc4212bf166a4506092fbcd60f2319 Author: Jack Stone Date: Wed May 13 16:53:39 2009 -0700 infiniband: Remove void casts Remove uneeded casts of void *. Signed-off-by: Jack Stone Signed-off-by: Roland Dreier commit bde2cfaf8ff5511b4f434078554f89ff6cb677f2 Author: Stefan Roscher Date: Wed May 13 16:52:43 2009 -0700 IB/ehca: Increment version number Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 1988d1fa1a9d642c5714a6afc9775fba0627f3ed Author: Stefan Roscher Date: Wed May 13 16:52:43 2009 -0700 IB/ehca: Remove unnecessary memory operations for userspace queue pairs The queue map for flush completion circumvention is only used for kernel space queue pairs. This patch skips the allocation of the queue maps in case the QP is created for userspace. In addition, this patch does not iomap the galpas for kernel usage if the queue pair is only used in userspace. These changes will improve the performance of creation of userspace queue pairs. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit c94f156f63c835ffc02b686f9d4238b106f31a5d Author: Stefan Roscher Date: Wed May 13 16:52:42 2009 -0700 IB/ehca: Fall back to vmalloc() for big allocations In case of large queue pairs there is the possibillity of allocation failures due to memory fragmentation when using kmalloc(). To ensure the memory is allocated even if kmalloc() can not find chunks which are big enough, we fall back to allocating the memory with vmalloc(). Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit bf31a1a02eb28d9bda0bb74345df7889faeb7335 Author: Anton Blanchard Date: Wed May 13 16:52:40 2009 -0700 IB/ehca: Replace vmalloc() with kmalloc() for queue allocation To improve performance of driver resource allocation, replace vmalloc() calls with kmalloc(). Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit b103387037cea2ba0f04b44d408d54c53f678061 Author: Eric Paris Date: Wed May 13 12:50:40 2009 -0400 TPM: get_event_name stack corruption get_event_name uses sprintf to fill a buffer declared on the stack. It fills the buffer 2 bytes at a time. What the code doesn't take into account is that sprintf(buf, "%02x", data) actually writes 3 bytes. 2 bytes for the data and then it nul terminates the string. Since we declare buf to be 40 characters long and then we write 40 bytes of data into buf sprintf is going to write 41 characters. The fix is to leave room in buf for the nul terminator. Signed-off-by: Eric Paris Signed-off-by: James Morris commit d3707d9918d47c0997a6b1e4ae24e7ab55e43796 Author: Johannes Berg Date: Tue May 12 22:05:40 2009 +0200 mac80211: make noack test available There's this internal wifi_wme_noack_test variable that we use to set the QoS control if set. For one, it is unlikely that it is set. Secondly, if set it needs to influence the IEEE80211_TX_CTL_NO_ACK TX control flag, and finally we should also be able to set it at all, so make it available in debugfs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b59066a291ca7c12a1e5b58f3ada5ab6e32cb6bd Author: Johannes Berg Date: Tue May 12 21:18:38 2009 +0200 mac80211: IBSS supported rate fixes Currently mac80211 announces a rate set with no basic rates, this fixes it to use 1/2 or 6/9 Mbit as basic rates by default. Additionally, mac80211 will currently adopt the peer's entire rate set, rather than just the basic rate set; fix that too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0d61887c2ee19bb63f6a8c0e2c149184e879501 Author: Johannes Berg Date: Tue May 12 20:47:32 2009 +0200 mac80211: don't connect to IBSS network with different privacy Even when we find an IBSS with the SSID we're looking for, we may not be able to connect to it because it has a key and we don't, or vice versa. Avoid such situations by checking the privacy capability bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0502de6fe85b66ee51647eb75bc5af3c885d712 Author: Johannes Berg Date: Tue May 12 20:11:26 2009 +0200 mac80211: split out and decrease probe wait time The time we wait for a probe response after probing an AP due to beacon loss is currently the same as the monitoring interval, 2s. This is far too long, APs should respond to probes within a fraction of that time. To be able to adjust both values, add a new constant IEEE80211_PROBE_WAIT, use it for checking the probe response, and adjust it down to 200ms instead of 2 seconds. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 34bfc411f63c8b0efb328b7574fc97bc1714cb29 Author: Johannes Berg Date: Tue May 12 19:58:12 2009 +0200 mac80211: respond to beacon loss report only once The driver might keep reporting beacon loss until we disassociate -- catch that and don't respond to any subsequent events until the probe is either successful or we disassociate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7eef3563cb3f05e7f0db992716c514af6f4d089 Author: Johannes Berg Date: Tue May 12 08:36:43 2009 +0200 wext: remove seq_start/stop sparse annotations Even though they are true, they cause sparse to complain because it doesn't see the __acquires(dev_base_lock) on dev_seq_start() because it is only added to the function in net/core/dev.c, not the header file. To keep track of the nesting correctly we should probably annotate those functions publically, but for now let's just remove the annotation I added to wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit faa8fdc85347cc76d87b43ea718785661c54f656 Author: Jouni Malinen Date: Mon May 11 21:57:58 2009 +0300 nl80211: Add RSC configuration for new keys When setting a key with NL80211_CMD_NEW_KEY, we should allow the key sequence number (RSC) to be set in order to allow replay protection to work correctly for group keys. This patch documents this use for nl80211 and adds the couple of missing pieces in nl80211/cfg80211 and mac80211 to support this. In addition, WEXT SIOCSIWENCODEEXT compat processing in cfg80211 is extended to handle the RSC (this was already specified in WEXT, but just not implemented in cfg80211/mac80211). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 3f77316c6b99f596bfbf72c0542f47f7230b702e Author: Jouni Malinen Date: Mon May 11 21:57:57 2009 +0300 nl80211: Add IEEE 802.1X PAE control for station mode Add a new NL80211_ATTR_CONTROL_PORT flag for NL80211_CMD_ASSOCIATE to allow user space to indicate that it will control the IEEE 802.1X port in station mode. Previously, mac80211 was always marking the port authorized in station mode. This was enough when drop_unencrypted flag was set. However, drop_unencrypted can currently be controlled only with WEXT and the current nl80211 design does not allow fully secure configuration. Fix this by providing a mechanism for user space to control the IEEE 802.1X port in station mode (i.e., do the same that we are already doing in AP mode). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit eccb8e8f0c3af47aeb6dbe4012eb8d4fc888767a Author: Johannes Berg Date: Mon May 11 21:57:56 2009 +0300 nl80211: improve station flags handling It is currently not possible to modify station flags, but that capability would be very useful. This patch introduces a new nl80211 attribute that contains a set/mask for station flags, and updates the internal API (and mac80211) to mirror that. The new attribute is parsed before falling back to the old so that userspace can specify both (if it can) to work on all kernels. Signed-off-by: Johannes Berg Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0e46724a48fcc3bac1fecea413d20af64a75844f Author: Jouni Malinen Date: Mon May 11 21:57:55 2009 +0300 nl80211: Validate MFP flag type when parsing STA flags NL80211_STA_FLAG_MFP was forgotten from sta_flags_policy. The previous version added the flag due to the loop used in parse_station_flags, but the proper behavior would be to allow nla_parse_nested() to go through the policy for all flags. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 08645126dd24872c2e27014f93968f7312e29176 Author: Johannes Berg Date: Mon May 11 13:54:58 2009 +0200 cfg80211: implement wext key handling Move key handling wireless extension ioctls from mac80211 to cfg80211 so that all drivers that implement the cfg80211 operations get wext compatibility. Note that this drops the SIOCGIWENCODE ioctl support for getting IW_ENCODE_RESTRICTED/IW_ENCODE_OPEN. This means that iwconfig will no longer report "Security mode:open" or "Security mode:restricted" for mac80211. However, what we displayed there (the authentication algo used) was actually wrong -- linux/wireless.h states that this setting is meant to differentiate between "Refuse non-encoded packets" and "Accept non-encoded packets". (Combined with "cfg80211: fix a couple of bugs with key ioctls". -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bb74a6e5c5535ddd977aa161c72bef738e566daa Author: Mark Brown Date: Wed May 13 17:23:54 2009 +0100 ASoC: Point at kernel.org git The Wolfson git is not currently tracking bleeding edge ASoC so change to my kernel.org git which is doing so. Signed-off-by: Mark Brown commit 8c10dc4f54d315ce801dc9ef4018aab8d0d75a7b Author: Karl Beldan Date: Mon May 11 23:49:41 2009 +0200 ASoC: pxa2xx-i2s: Proper initialization Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled at probe. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 334034c132017fa662716b70591b2297ed7f238c Author: Thomas Gleixner Date: Tue May 12 13:37:11 2009 -0700 avr32: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Haavard Skinnemoen commit eea08f32adb3f97553d49a4f79a119833036000a Author: Arun R Bharadwaj Date: Thu Apr 16 12:16:41 2009 +0530 timers: Logic to move non pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch migrates all non pinned timers and hrtimers to the current idle load balancer, from all the idle CPUs. Timers firing on busy CPUs are not migrated. While migrating hrtimers, care should be taken to check if migrating a hrtimer would result in a latency or not. So we compare the expiry of the hrtimer with the next timer interrupt on the target cpu and migrate the hrtimer only if it expires *after* the next interrupt on the target cpu. So, added a clockevents_get_next_event() helper function to return the next_event on the target cpu's clock_event_device. [ tglx: cleanups and simplifications ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit cd1bb94b4a0531e8211a3774f17de831f8285f76 Author: Arun R Bharadwaj Date: Thu Apr 16 12:15:34 2009 +0530 timers: /proc/sys sysctl hook to enable timer migration * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch creates the /proc/sys sysctl interface at /proc/sys/kernel/timer_migration Timer migration is enabled by default. To disable timer migration, when CONFIG_SCHED_DEBUG = y, echo 0 > /proc/sys/kernel/timer_migration Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 5c333864a6ba811052d52ef14fbed056b9ac3512 Author: Arun R Bharadwaj Date: Thu Apr 16 12:14:37 2009 +0530 timers: Identifying the existing pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: The following pinned hrtimers have been identified and marked: 1)sched_rt_period_timer 2)tick_sched_timer 3)stack_trace_timer_fn [ tglx: fixup the hrtimer pinned mode ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 597d0275736dad9c3bda6f0a00a1c477dc0f37b1 Author: Arun R Bharadwaj Date: Thu Apr 16 12:13:26 2009 +0530 timers: Framework for identifying pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch creates a new framework for identifying cpu-pinned timers and hrtimers. This framework is needed because pinned timers are expected to fire on the same CPU on which they are queued. So it is essential to identify these and not migrate them, in case there are any. For regular timers, the currently existing add_timer_on() can be used queue pinned timers and subsequently mod_timer_pinned() can be used to modify the 'expires' field. For hrtimers, new modes HRTIMER_ABS_PINNED and HRTIMER_REL_PINNED are added to queue cpu-pinned hrtimer. [ tglx: use .._PINNED mode argument instead of creating tons of new functions ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 9582d41135c0d362f04ed6bf3dc8d693a7eafee2 Author: Steven Whitehouse Date: Wed May 13 15:06:25 2009 +0100 GFS2: Remove a couple of unused sysfs entries These two tunables are pointless and would never need to be changed anyway. There is also a race between them and umount as the deamons which they refer to might have gone away. The easiest way to fix the race is to remove the interface. Signed-off-by: Steven Whitehouse commit 48c2b613616235d7c97fda5982f50100a6c79166 Author: Steven Whitehouse Date: Wed May 13 14:49:48 2009 +0100 GFS2: Add commit= mount option It has always been possible to adjust the gfs2 log commit interval, but only from the sysfs interface. This adds a mount option, commit=, which will be familar to ext3 users. The sysfs interface continues to be available as well, although this might be removed in the future. Also this patch cleans up some duplicated structures in the GFS2 sysfs code. Signed-off-by: Steven Whitehouse commit cedcf3366f2191885aff92d33d6078ef08203e52 Author: Paul Mundt Date: Wed May 13 21:51:28 2009 +0900 sh: clkfwk: Map tree hierarchy in debugfs. This adopts the OMAP clock framework debugfs bits and replaces the aging procfs bits. The procfs clocks entry was primarily a debugging aid, and used to be tied in to cpuinfo before the clock list grew too unweildly. Signed-off-by: Paul Mundt commit cc96eace48fdf0f8925a74c6c1f7ffa512e458d2 Author: Paul Mundt Date: Wed May 13 20:28:15 2009 +0900 sh: clkfwk: rate table construction and rounding for SH7785. This adds support for constructing a rate table by looking at potential divisors for a specified clock. Each FQRMR clock is given its own table. Presently each table is rebuilt when the parent propagates down a new rate, so some more logic needs to be added to do this more intelligently. Additionally, a fairly generic round_rate() implementation is then layered on top of it, which subsequently provides us with cpufreq support. Signed-off-by: Paul Mundt commit a1c0643ff9f360a30644f6e3cd643ca2a5083aea Author: Steven Whitehouse Date: Wed May 13 10:56:52 2009 +0100 GFS2: Move journal live test at transaction start There seems little point grabbing the transaction glock only to have to release it again if the journal isn't live. This moves the test earlier to avoid grabbing the lock when we don't need it in the first place. Signed-off-by: Steven Whitehouse commit ca2dcd40f54c8928b3994712a6cadd2078a087fa Author: Bastien Nocera Date: Mon May 11 17:18:12 2009 +0200 HID: Wacom Graphire Bluetooth driver Based on the work by Andrew Zabolotny, an HID driver for the Bluetooth Wacom tablet. This is required as it uses a slightly different protocols from what's currently support by the drivers/input/wacom* driver, and those only support USB. A user-space patch is required to activate mode 2 of the Wacom tablet, as hidp does not support hid_output_raw_report. Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 92e0d896ce3087112602449efd87c6d7f4eae8d0 Author: Sergey Belyashov Date: Mon May 4 13:01:02 2009 +0400 HID: autocentering support for Logitech G25 Racing Wheel Some months ago I send patch which adds autocentering for Logitech MOMO Wheel. Now I have access to Logitech G25 Racing Wheel and test autocentering for it. I write patch for current kernel to support autocentering for G25 in legacy mode (this device supports other modes, but after switching device reconnects with ID 0xc299 and FF support comes out) and others Logitech (Driving Force, Formula Force Ex etc) wheels with ID 046d:c294. Signed-off-by: Sergey Belyashov Signed-off-by: Jiri Kosina commit 22b530e0287724f00dde9a15a94d408c3334e86c Author: Takashi Iwai Date: Wed May 13 11:32:52 2009 +0200 ALSA: hda - Disable fallback to model=acer for Acer laptops The model=acer for ALC883/889 doesn't work well for the recent Acer Aspire laptops. Since model=auto works better nowadays, it's safer to use the default fallback instead of the Acer specific one. Signed-off-by: Takashi Iwai commit a77b5ac0ea8e47c77008d3a9a9976dcfbc01c42a Author: Paul Mundt Date: Wed May 13 17:55:00 2009 +0900 sh: clkfwk: Update SH7785 for refactored clock framework. This updates the SH7785 CPU code as well as the SH7785LCR board support code for making use of the newly refactored clock framework. Support for the legacy CPG clocks is dropped at this point, with the extal frequency fed in from the board code. Signed-off-by: Paul Mundt commit 253b0887b3736160feac9ccdcf146a2073e41463 Author: Paul Mundt Date: Wed May 13 17:38:11 2009 +0900 sh: clkfwk: Rework legacy CPG clock handling. This moves out the old legacy CPG clocks to their own file, and converts over the existing users. With these clocks going away and each CPU dealing with them on their own, CPUs can gradually move over to the new interface. Signed-off-by: Paul Mundt commit 100890c55e326a9acb4429593c5ad2012c194564 Author: Paul Mundt Date: Wed May 13 17:05:51 2009 +0900 sh: clkfwk: Provide a generic clk_set_rate_ex() path for root clocks. In the case of root clocks (such as clkin oscillators, extal, etc.), the rate information is entirely platform dependent and needs to be lazily set and propagated from the platform code. This provides a method for establishing the rate update on these types of clocks that define no set_rate() op of their own. Signed-off-by: Paul Mundt commit d672fef02738582bdeae6e77176e141eeb9169bc Author: Paul Mundt Date: Wed May 13 17:03:09 2009 +0900 sh: clkfwk: Handle NULL clkops for root clocks. root clocks may simply be placeholders for rate and ancestry information, and have no real associated operations of their own. Account for this, so we are still able to use these sorts of clocks for rate propagation. Signed-off-by: Paul Mundt commit af777ce42d3d51cdef353ce296d6f99dc503feef Author: Paul Mundt Date: Wed May 13 16:59:40 2009 +0900 sh: clkfwk: module_clk -> peripheral_clk rename. For consistenct naming, and to allow us to fix up some confusion in the SH-Mobile clock framework, amongst other places. Signed-off-by: Paul Mundt commit c8a4fb472c5101ec52f94b1e1277b8fde4b823cf Author: Guennadi Liakhovetski Date: Tue May 12 21:41:03 2009 +0200 FB: fix unsafe use of disable_irq() in mx3fb.c mx3fb.c calls disable_irq() from a DMA callback, i.e., in an IRQ-handler context, which has always been unsafe, and became deadly after the merge of threaded interrupt handler support. Use disable_irq_nosync() instead. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 4f23122858a27ba97444b9b37a066d83edebd4c8 Author: Jens Axboe Date: Wed May 13 08:35:35 2009 +0200 splice: fix repeated kmap()'s in default_file_splice_read() We cannot reliably map more than one page at the time, or we risk deadlocking. Just allocate the pages from low mem instead. Reported-by: Andrew Morton Signed-off-by: Jens Axboe commit 5bb9efe33ea4001a17ab98186a40a134a3061d67 Author: Peter Zijlstra Date: Wed May 13 08:12:51 2009 +0200 perf_counter: fix print debug irq disable inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. bash/15802 [HC0[0]:SC0[0]:HE1:SE1] takes: (sysrq_key_table_lock){?.....}, Don't unconditionally enable interrupts in the perf_counter_print_debug() path. [ Impact: fix potential deadlock pointed out by lockdep ] LKML-Reference: Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 7971687094ef48695aa56a0c03416b609bd4d1fd Author: Paul Walmsley Date: Tue May 12 17:50:30 2009 -0600 OMAP2xxx clock: rename clk_init_one() to clk_preinit() Rename clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. Signed-off-by: Paul Walmsley commit 0db4e8259792202060b962ad1a8715f030268c8b Author: Artem Bityutskiy Date: Tue May 12 17:34:40 2009 -0600 OMAP3 clock: lessen amount of noisy messages On our system we see the following messages: Disabling unused clock "gpt2_ick" Disabling unused clock "gpt3_ick" Disabling unused clock "gpt4_ick" Disabling unused clock "gpt5_ick" ... The messages have KERN_INFO level and if you have serial console, they normally go there. I do not think it is good idea to print that much stuff there. Moreover, messages are not properly prefixed and for mortals it is not immeadietly clear where they come from. Let's give them debugging level instead. Signed-off-by: Artem Bityutskiy Signed-off-by: Paul Walmsley [paul@pwsan.com: trimmed debugging output in patch description] commit b7aee4bfa7cad909220491214037731c1edb510a Author: Paul Walmsley Date: Tue May 12 17:27:10 2009 -0600 OMAP3 clock: use pr_debug() rather than pr_info() in some clock change code The CORE DPLL M2 frequency change code should use pr_debug(), not pr_info(), for its debug messages. Same with omap2_clksel_round_rate_div(). While here, convert a few printk(KERN_ERR .. into pr_err(). Signed-off-by: Paul Walmsley commit 4519c2bf433b97d091635eb51e4ba8ffa1c84d62 Author: Paul Walmsley Date: Tue May 12 17:26:32 2009 -0600 OMAP3 clock: only unlock SDRC DLL if SDRC clk < 83MHz According to the 34xx TRM Rev. K section 11.2.4.4.11.1 "Purpose of the DLL/CDL Module," the SDRC delay-locked-loop can be locked at any SDRC clock frequency from 83MHz to 166MHz. CDP code unconditionally unlocked the DLL whenever shifting to a lower SDRC speed, but this seems unnecessary and error-prone, as the DLL is no longer able to compensate for process, voltage, and temperature variations. Instead, only unlock the DLL when the SDRC clock rate would be less than 83MHz. Signed-off-by: Paul Walmsley commit b2abb271a5705bc80478e79d95fc9f3babc2605c Author: Paul Walmsley Date: Tue May 12 17:27:10 2009 -0600 OMAP3 SRAM: renumber registers to make space for argument passing Renumber registers in omap3_sram_configure_core_dpll() assembly code to make space for additional parameters. Signed-off-by: Paul Walmsley commit 98cfe5abf24c6d2f06b70fa8a8a111681bed3ed9 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SDRC: initialize SDRC_POWER at boot Initialize SDRC_POWER to a known-good setting when the kernel boots. Necessary since some bootloaders don't initialize SDRC_POWER properly. Signed-off-by: Paul Walmsley commit fa0406a8d8c3a4a302085ccd031d999161405f70 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: clear the SDRC PWRENA bit during SDRC frequency change Clear the SDRC_POWER.PWRENA bit before putting the SDRAM into self-refresh mode. This prevents the SDRC from attempting to power off the SDRAM, which can cause the system to hang. Signed-off-by: Paul Walmsley commit d75d9e73cd59127a4d926a2bf5e9cdcc90f033d6 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 clock: add interconnect barriers to CORE DPLL M2 change Where necessary, add interconnect barriers to force posted writes to complete before continuing. Signed-off-by: Paul Walmsley commit 69d4255b139274f71faca28bc93bb49da8eb1a91 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: add ARM barriers to omap3_sram_configure_core_dpll Add more barriers in the SRAM CORE DPLL M2 divider change code. - Add a DSB SY after the function's entry point to flush all cached and buffered writes and wait for the interconnect to claim that they have completed[1]. The idea here is to force all delayed write traffic going to the SDRAM to at least post to the L3 interconnect before continuing. If these writes are allowed to occur after the SDRC is idled, the writes will not be acknowledged and the ARM will stall. Note that in this case, it does not matter if the writes actually complete to the SDRAM - it is only necessary for the writes to leave the ARM itself. If the writes are posted by the interconnect when the SDRC goes into idle, the writes will be delayed until the SDRC returns from idle[2]. If the SDRC is in the middle of a write when it is requested to enter idle, the SDRC will not acknowledge the idle request until the writes complete to the SDRAM.[3] The old-style DMB in sdram_in_selfrefresh is now superfluous, so, remove it. - Add an ISB before the function's exit point to prevent the ARM from speculatively executing into SDRAM before the SDRAM is enabled[4]. ... 1. ARMv7 ARM (DDI 0406A) A3-47, A3-48. 2. Private communication with Richard Woodruff . 3. Private communication with Richard Woodruff . 4. ARMv7 ARM (DDI 0406A) A3-48. Signed-off-by: Paul Walmsley Cc: Richard Woodruff commit d9295746c0ed3991bdec18c6a5890d71d88904b4 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: mark OCM RAM as Non-cacheable Normal memory Mark the SRAM (aka OCM RAM) as Non-cacheable Normal memory[1]. This is to prevent the ARM from evicting existing cache lines to SDRAM while code is executing from the SRAM. Necessary since one of the primary uses for the SRAM is to hold the code and data for the CORE DPLL M2 divider reprogramming code, which must execute while the SDRC is idled. If the ARM attempts to write cache lines back to the while the SRAM code is running, the ARM will stall[2]. TI deals with this problem in the CDP kernel by marking the SRAM as Strongly-ordered memory. Tero Kristo caught a bug in an earlier version of this patch - thanks Tero. ... 1. ARMv7 ARM (DDI 0406A) pp. A3-30, A3-31, B3-32. 2. Private communication with Richard Woodruff Signed-off-by: Paul Walmsley Cc: Tero Kristo Cc: Richard Woodruff commit 39a2eddb9b62959dc55c6978b5eaeb3dd57c5ff2 Author: Steven Rostedt Date: Tue May 12 14:35:54 2009 -0400 genirq: fix comment to say IRQ_WAKE_THREAD Trying to implement a driver to use threaded irqs, I was confused when the return value to use that was described in the comment above request_threaded_irq was not defined. Turns out that the enum is IRQ_WAKE_THREAD where as the comment said IRQ_THREAD_WAKE. [Impact: do not confuse developers with wrong comments ] Signed-off-by: Steven Rostedt LKML-Reference: Signed-off-by: Thomas Gleixner commit c4f68236e41641494f9c8a418ccc0678c335bbb5 Author: H. Peter Anvin Date: Tue May 12 11:37:34 2009 -0700 x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN Handle the misconfiguration where CONFIG_PHYSICAL_START is incompatible with CONFIG_PHYSICAL_ALIGN. This is a configuration error, but one which arises easily since Kconfig doesn't have the smarts to express the true relationship between these two variables. Hence, align __PHYSICAL_START the same way we align LOAD_PHYSICAL_ADDR in . For non-relocatable kernels, this would cause the boot to fail. [ Impact: fix boot failures for non-relocatable kernels ] Reported-by: Ingo Molnar Signed-off-by: H. Peter Anvin commit 7ed42a28b269f8682eefae27f5c11187eb56e63b Author: H. Peter Anvin Date: Tue May 12 11:33:08 2009 -0700 x86, boot: correct sanity checks in boot/compressed/misc.c arch/x86/boot/compressed/misc.c contains several sanity checks on the output address. Correct constraints that are no longer correct: - the alignment test should be MIN_KERNEL_ALIGN on both 32 and 64 bits. - the 64 bit maximum address was set to 2^40, which was the limit of one specific x86-64 implementation. Change the test to 2^46, the current Linux limit, and at least try to test the end rather than the beginning. - for non-relocatable kernels, test against LOAD_PHYSICAL_ADDR on both 32 and 64 bits. [ Impact: fix potential boot failure due to invalid tests ] Signed-off-by: H. Peter Anvin commit a2dc52b5d1d8cc280b3e795abf1c80ac8c49f30c Author: Theodore Ts'o Date: Tue May 12 13:51:29 2009 -0400 ext4: Add BUG_ON debugging checks to noalloc_get_block_write() Enforce that noalloc_get_block_write() is only called to map one block at a time, and that it always is successful in finding a mapping for given an inode's logical block block number if it is called with create == 1. Signed-off-by: "Theodore Ts'o" commit b920c75502cb2c48654ef196d647c8eb81ab608a Author: Theodore Ts'o Date: Thu May 14 00:54:29 2009 -0400 ext4: Add documentation to the ext4_*get_block* functions This adds more documentation to various internal functions in fs/ext4/inode.c, most notably ext4_ind_get_blocks(), ext4_da_get_block_write(), ext4_da_get_block_prep(), ext4_normal_get_block_write(). In addition, the static function ext4_normal_get_block_write() has been renamed noalloc_get_block_write(), since it is used in many places far beyond ext4_normal_writepage(). Plenty of warnings have been added to the noalloc_get_block_write() function, since the way it is used is amazingly fragile. Signed-off-by: "Theodore Ts'o" commit c21770573319922e3f3fcb331cfaa290c49f1c81 Author: Theodore Ts'o Date: Thu May 14 00:58:52 2009 -0400 ext4: Define a new set of flags for ext4_get_blocks() The functions ext4_get_blocks(), ext4_ext_get_blocks(), and ext4_ind_get_blocks() used an ad-hoc set of integer variables used as boolean flags passed in as arguments. Use a single flags parameter and a setandard set of bitfield flags instead. This saves space on the call stack, and it also makes the code a bit more understandable. Signed-off-by: "Theodore Ts'o" commit 12b7ac176831df1aa58a787e67c3e5d698b30163 Author: Theodore Ts'o Date: Thu May 14 00:57:44 2009 -0400 ext4: Rename ext4_get_blocks_wrap() to be ext4_get_blocks() Another function rename for clarity's sake. The _wrap prefix simply confuses people, and didn't add much people trying to follow the code paths. Signed-off-by: "Theodore Ts'o" commit 7537d81aa7b7cd31b0caeac8091456e93d96fa8d Author: Abhijith Das Date: Tue May 12 11:16:20 2009 -0500 GFS2: Fix timestamps on write This patch copies the timestamps from the vfs inode into gfs2 and syncs it to the disk inode during writes. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit b5710ce92a8cf8e3fc0ffc230cfdbfa23463f1c8 Author: Cyrill Gorcunov Date: Tue May 12 18:51:28 2009 +0400 x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix Fix trivial typo in the drivers/pci/hotplug/ibmphp_core.c changes. [ Impact: build fix ] Signed-off-by: Cyrill Gorcunov CC: Yinghai Lu Cc: eswierk@aristanetworks.com LKML-Reference: <20090512145128.GA10220@lenovo> Signed-off-by: Ingo Molnar commit e758a33d6fc5b9d6a3ae489863d04fcecad8120b Author: Paul Mackerras Date: Tue May 12 21:59:01 2009 +1000 perf_counter: call hw_perf_save_disable/restore around group_sched_in I noticed that when enabling a group via the PERF_COUNTER_IOC_ENABLE ioctl on the group leader, the counters weren't enabled and counting immediately on return from the ioctl, but did start counting a little while later (presumably after a context switch). The reason was that __perf_counter_enable calls group_sched_in which calls hw_perf_group_sched_in, which on powerpc assumes that the caller has called hw_perf_save_disable already. Until commit 46d686c6 ("perf_counter: put whole group on when enabling group leader") it was true that all callers of group_sched_in had called hw_perf_save_disable first, and the powerpc hw_perf_group_sched_in relies on that (there isn't an x86 version). This fixes the problem by putting calls to hw_perf_save_disable / hw_perf_restore around the calls to group_sched_in and counter_sched_in in __perf_counter_enable. Having the calls to hw_perf_save_disable/restore around the counter_sched_in call is harmless and makes this call consistent with the other call sites of counter_sched_in, which have all called hw_perf_save_disable first. [ Impact: more precise counter group disable/enable functionality ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18953.25733.53359.147452@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit fd5b12458b25a88eb6f6b56464846d98a45e8928 Merge: 9fe5ee0 8be5f1a Author: Paul Mundt Date: Tue May 12 19:54:36 2009 +0900 Merge branch 'master' into sh/clkfwk commit 8be5f1a68f2c14082939dd54e7037dcee2eb54f8 Author: Paul Mundt Date: Tue May 12 19:53:55 2009 +0900 sh: Kill off the remnants of the old timer code. Now with all of the TMU users moved over to the new TMU driver, and the old TMU driver killed off, the left-over infrastructure can go along with it. Signed-off-by: Paul Mundt commit f19900b2e608b604777a74d6d711bbf744657756 Author: Magnus Damm Date: Tue May 12 10:25:54 2009 +0000 sh: remove old TMU driver This patch removes the old TMU driver (CONFIG_SH_TMU/timer-tmu.c) As replacement, select the sh_tmu driver with CONFIG_SH_TIMER_TMU and configure timer channel using platform data. If multiple TMU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_tmu.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2b23a8826a60268ec52302729911dd7ac6b10776 Author: Magnus Damm Date: Tue May 12 10:21:11 2009 +0000 sh: CMT platform data for sh7720/sh7721 This patch adds CMT platform data for sh7720 and sh7721. All 5 32-bit CMT channels unfortunately share a single IRQ. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a1a5a2f60ceabc026ba28cdbf81d7d47603b480 Author: Magnus Damm Date: Tue May 12 10:17:52 2009 +0000 sh: TMU platform data for sh7720/sh7721 This patch adds TMU platform data for sh7720 and sh7721. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e5ad00896a381937326ac55fc173630fe731d041 Author: Magnus Damm Date: Tue May 12 10:15:30 2009 +0000 sh: TMU platform data for sh7710/sh7712 This patch adds TMU platform data for sh7710 and sh7712. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c8a9011bce6c43f4988cbcf1db8fc31433e69964 Author: Magnus Damm Date: Tue May 12 10:04:49 2009 +0000 sh: TMU platform data for sh7706/sh7707/sh7708/sh7709 Add TMU platform data for sh7706/sh7707/sh7708/sh7709. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit acd664ab54a449a7257dcb3c7ef9cd1e310b4c4f Author: Magnus Damm Date: Tue May 12 10:01:01 2009 +0000 sh: TMU platform data for sh7705 This patch adds TMU platform data for sh7705. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6a3501b63d30643120566cc1efba5acd0e64b12d Author: Magnus Damm Date: Tue May 12 09:50:46 2009 +0000 sh: TMU platform data for sh7724 This patch adds TMU platform data for sh7724. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f2710ebcd0a0404ccca3bbad68fd3639fe87ba6f Author: Magnus Damm Date: Tue May 12 09:48:21 2009 +0000 sh: TMU platform data for sh7366 This patch adds TMU platform data for sh7366. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e37677a429a67cb45004b060ea3376e500bc73c4 Author: Magnus Damm Date: Tue May 12 09:39:06 2009 +0000 sh: TMU platform data for sh7343 This patch adds TMU platform data for sh7343. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 67d889bd828a3cbf36ef27bd4a5c5f7ec76e20b9 Author: Magnus Damm Date: Tue May 12 09:34:26 2009 +0000 sh: add sh4-202 INTC tables This patch adds INTC tables for sh4-202 with support for HUDI, TMU0, TMU1, TMU2, RTC, SCIF and WDT. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5f8a29ba39d52b2eaaed907b3cb3016b949a8f9b Author: Magnus Damm Date: Tue May 12 09:28:25 2009 +0000 sh: TMU platform data for sh4-202 This patch adds TMU platform data for sh4-202. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f251935e02e89aa203e0729bfd727175018cec6f Author: Magnus Damm Date: Tue May 12 09:20:08 2009 +0000 sh: TMU platform data for sh7770 This patch adds TMU platform data for sh7770. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5d8728a71f416fd38a0945271c71cb2933fc5734 Author: Magnus Damm Date: Tue May 12 09:18:13 2009 +0000 sh: add sh7770_generic_defconfig This patch adds a generic sh7770 defconfig file. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ee8b4d7c7d39d9a9913e27686ef786642c3ccbb Author: Magnus Damm Date: Tue May 12 09:13:59 2009 +0000 sh: TMU platform data for sh7763 This patch adds TMU platform data for sh7763. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit dd4a416442a2fb4bd761163277d37ab6ce75ee4e Merge: ddc4097 13e2c86 Author: Takashi Iwai Date: Tue May 12 12:32:07 2009 +0200 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 9fe5ee0efb1b1d4a0939bc4252a8427e3337d96a Author: Paul Mundt Date: Tue May 12 19:29:04 2009 +0900 sh: clkfwk: Use arch_clk_init() for on-chip clock registration. CPUs registering on-chip clocks should be using arch_clk_init() with the new scheme so that the CPUs have the opportunity to establish the topology prior to the initial root clock rate propagation. This ensures that CPUs with on-chip clocks that use CLK_ENABLE_ON_INIT are properly enabled at the initial propagation time, without having to further poke the root clocks. Signed-off-by: Paul Mundt commit 4797f6b021a3fa399942245d07a1feb30df81bb8 Author: Yinghai Lu Date: Sat May 2 10:40:57 2009 -0700 x86: read apic ID in the !acpi_lapic case Ed found that on 32-bit, boot_cpu_physical_apicid is not read right, when the mptable is broken. Interestingly, actually three paths use/set it: 1. acpi: at that time that is already read from reg 2. mptable: only read from mptable 3. no madt, and no mptable, that use default apic id 0 for 64-bit, -1 for 32-bit so we could read the apic id for the 2/3 path. We trust the hardware register more than we trust a BIOS data structure (the mptable). We can also avoid the double set_fixmap() when acpi_lapic is used, and also need to move cpu_has_apic earlier and call apic_disable(). Also when need to update the apic id, we'd better read and set the apic version as well - so that quirks are applied precisely. v2: make path 3 with 64bit, use -1 as apic id, so could read it later. v3: fix whitespace problem pointed out by Ed Swierk v5: fix boot crash [ Impact: get correct apic id for bsp other than acpi path ] Reported-by: Ed Swierk Signed-off-by: Yinghai Lu Acked-by: Cyrill Gorcunov LKML-Reference: <49FC85A9.2070702@kernel.org> [ v4: sanity-check in the ACPI case too ] Signed-off-by: Ingo Molnar commit 6cda3eb62ef42aa5acd649bf99c8db544e0f4051 Merge: b9c61b70 cec6be6 Author: Ingo Molnar Date: Tue May 12 12:17:30 2009 +0200 Merge branch 'x86/apic' into irq/numa Merge reason: both topics modify the APIC code but were able to do it in parallel so far. An upcoming patch generates a conflict so merge them to avoid the conflict. Signed-off-by: Ingo Molnar commit ddc4097b77bbb227851a44287acb2fb8a9896cc1 Merge: bec4c99 ae31c1f Author: Takashi Iwai Date: Tue May 12 11:57:09 2009 +0200 Merge branch 'topic/drvdata-fix' into topic/asoc commit 511b4c171a8054506e8898c40833e31270689b8b Author: Takashi Iwai Date: Tue May 12 11:51:46 2009 +0200 ALSA: hdsp - Add a comment about external firmwares for hdsp When the hdsp driver is built in kernel, the corresponding firmware files have to be built into the kernel as well (otherwise the boot will hang up for fairly long time), but there is no way to control it in Kconfig yet, unfortunately. Instead, show a comment for user just to make sure. Signed-off-by: Takashi Iwai commit 13e2c86c20f5d07b20d5a6dee24bcdd2b30b859f Merge: 97b8096 1ffafeb Author: Mark Brown Date: Tue May 12 10:53:33 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 97b8096dc92ae62b1d40e6bec7e7b257d2b30161 Author: Joonyoung Shim Date: Mon May 11 20:36:08 2009 +0900 ASoC: TWL4030: change DAPM for analog microphone selection The inputs of the twl4030 codec can be mixed, so we will use the mixer DAPM for the analog microphone registers(0x05, 0x06), but if we enable more than one input at the same time, the input impedance of the input amplifier will be reduced. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7de0a0aee5cf24639c14b17ab4077f5dba0d7cb9 Author: Mark Brown Date: Mon May 11 20:05:57 2009 +0100 ASoC: Enforce symmetric rates for PXA2xx I2S There is a single I2S_SYNC pin on the chip. Signed-off-by: Mark Brown commit eaaa5328835d8085d24221a0e5ceaacbe14a7523 Author: Mike Rapoport Date: Mon May 11 15:05:29 2009 +0300 ASoC: em-x270: make the driver support also eXeda and CM-X300 machines Signed-off-by: Mike Rapoport Signed-off-by: Mark Brown commit 8e365f9b6e583e82dff96ff415ff9cc2106f5b3c Author: Raphael Doursenaud Date: Tue May 12 11:49:39 2009 +0200 ALSA: hdsp: allow firmware loading from inside the kernel Allow the use of the FIRMWARE_IN_KERNEL option with hdsp cards and in-kernel driver. Also corrected a typo in the comment. Signed-off-by: Raphael Doursenaud Signed-off-by: Takashi Iwai commit ed077b58f6146684069975122b1728a9d248a501 Author: Shaohua Li Date: Tue May 12 16:40:00 2009 +0800 x86: make sparse mem work in non-NUMA mode With sparse memory, holes should not be marked present for memmap. This patch makes sure sparsemem really works on SMP mode (!NUMA). [ Impact: use less memory to map fragmented RAM, avoid boot-OOM/crash ] Signed-off-by: Shaohua Li Signed-off-by: Sheng Yang LKML-Reference: <1242117600.22431.0.camel@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit bf78ad69cd351798b9447a269c6bd41ce1f111f4 Author: Amerigo Wang Date: Mon May 11 23:29:09 2009 -0400 x86: process.c, remove useless headers is not needed by these files, remove them. [ Impact: cleanup ] Signed-off-by: WANG Cong Cc: akpm@linux-foundation.org LKML-Reference: <20090512032956.5040.77055.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 9d62dcdfa6f6fc843f7d9b494bcd48f00b94f883 Author: Amerigo Wang Date: Mon May 11 22:05:28 2009 -0400 x86: merge process.c a bit Merge arch_align_stack() and arch_randomize_brk(), since they are the same. Tested on x86_64. [ Impact: cleanup ] Signed-off-by: Amerigo Wang Signed-off-by: Ingo Molnar commit 2b1ccc0ee918a653d0483fdad9dd6112ce8e9043 Author: Jens Axboe Date: Tue May 12 11:11:48 2009 +0200 splice: fix misleading comment Splice is tied to pipes by design, it'll not change. And now that the splice stuff is in splice.h (and note pipe.h), the rest of the comment is out-of-date as well. Signed-off-by: Jens Axboe commit 871b72dd1e12afc3f024479531d25a9339d2e3f9 Author: Dmitry Adamushko Date: Mon May 11 23:48:27 2009 +0200 x86: microcode: use smp_call_function_single instead of set_cpus_allowed, cleanup of synchronization logic * Solve issues described in 6f66cbc63081fd70e3191b4dbb796746780e5ae1 in a way that doesn't resort to set_cpus_allowed(); * in fact, only collect_cpu_info and apply_microcode callbacks must run on a target cpu, others will do just fine on any other. smp_call_function_single() (as suggested by Ingo) is used to run these callbacks on a target cpu. * cleanup of synchronization logic of the 'microcode_core' part The generic 'microcode_core' part guarantees that only a single cpu (be it a full-fledged cpu, one of the cores or HT) is being updated at any particular moment of time. In general, there is no need for any additional sync. mechanism in arch-specific parts (the patch removes existing spinlocks). See also the "Synchronization" section in microcode_core.c. * return -EINVAL instead of -1 (which is translated into -EPERM) in microcode_write(), reload_cpu() and mc_sysdev_add(). Other suggestions for an error code? * use 'enum ucode_state' as return value of request_microcode_{fw, user} to gain more flexibility by distinguishing between real error cases and situations when an appropriate ucode was not found (which is not an error per-se). * some minor cleanups Thanks a lot to Hugh Dickins for review/suggestions/testing! Reference: http://marc.info/?l=linux-kernel&m=124025889012541&w=2 [ Impact: refactor and clean up microcode driver locking code ] Signed-off-by: Dmitry Adamushko Acked-by: Hugh Dickins Cc: Andrew Morton Cc: Rusty Russell Cc: Andreas Herrmann Cc: Peter Oruba Cc: Arjan van de Ven LKML-Reference: <1242078507.5560.9.camel@earth> [ did some more cleanups ] Signed-off-by: Ingo Molnar arch/x86/include/asm/microcode.h | 25 ++ arch/x86/kernel/microcode_amd.c | 58 ++---- arch/x86/kernel/microcode_core.c | 326 +++++++++++++++++++++----------------- arch/x86/kernel/microcode_intel.c | 92 +++------- 4 files changed, 261 insertions(+), 240 deletions(-) (~20 new comment lines) commit e13cf6e04ebc231653e03ebde4799dc55bf62849 Author: john stultz Date: Mon May 11 18:13:13 2009 -0700 ntp: fix comment typos Bernhard Schiffner noticed I had a few comment typos in this patch, (note: to save embarrassment, when making typos, avoid copying and pasting them) so this patch corrects them. [ Impact: cleanup ] Reported-by: Bernhard Schiffner Signed-off-by: John Stultz Cc: riel@redhat.com Cc: akpm@linux-foundation.org LKML-Reference: <1242090794.7214.131.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit ae31c1fbdbb18d917b0a1139497c2dbd35886989 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 sound: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit f3f8290cb3fa4aa627321530bb85d5f35e487433 Author: Paul Mundt Date: Tue May 12 16:07:40 2009 +0900 sh: clkfwk: Handle clk_get_sys() returning an ERR_PTR. clk_get() needs to also perform an IS_ERR() check to see whether clk_get_sys() failed or not. Signed-off-by: Paul Mundt commit e458824f9d32e9bf7700d1eb0d201749af48eee0 Author: Tejun Heo Date: Tue May 12 08:49:32 2009 +0200 scsi: fix resid_len mis-conversion in scsi_end_request() Commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f introduced rq->data_len and converted residual count users to it. While converting, it mistakenly converted scsi_end_request() to finish requests with residual count when it wants to do is fully complete the request. Fix it by using blk_end_request_all() instead. This bug was spotted by Boaz Harrosh. Signed-off-by: Tejun Heo Spotted-by: Boaz Harrosh Cc: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Jens Axboe commit 9541ba1d665542c96f7c0b5b836bbc1fd9d961b6 Author: Chris Pockelé Date: Tue May 12 08:08:53 2009 +0200 ALSA: hda - Add support of Samsung NC10 mini notebook Add specific configuration for Samsung NC10 mini notebook. Internal mic/speakers will be correctly muted when plugging in external ones. Mixer controls are added for speakers, headphones and PC beep. "Boost" is added for the microphones. Signed-off-by: Chris Pockelé Signed-off-by: Takashi Iwai commit e4d996ca806e93dddb5d76c0d3d859b494c559f6 Author: Theodore Ts'o Date: Tue May 12 00:25:28 2009 -0400 ext4: Rename ext4_get_blocks_handle() to be ext4_ind_get_blocks() The static function ext4_get_blocks_handle() is badly named. Of *course* it takes a handle. Since its counterpart for extent-based file is ext4_ext_get_blocks(), rename it to be ext4_ind_get_blocks(). Signed-off-by: "Theodore Ts'o" commit f888e652d758bfe0c04c209b72a05972daeba386 Author: Theodore Ts'o Date: Tue May 12 00:21:29 2009 -0400 ext4: Simplify function signature for ext4_da_get_block_write() The function ext4_da_get_block_write() is called in exactly one write, and the last argument, create, is always 1. Remove it to simplify the code slightly. Signed-off-by: "Theodore Ts'o" commit bc8e67409ccdcff72c3f1656b1fb1aad7ff396db Author: Vincent Minet Date: Fri May 15 08:33:18 2009 -0400 ext4: Fix spinlock assertions on UP systems On UP systems without DEBUG_SPINLOCK, ext4_is_group_locked always fails which triggers a BUG_ON() call. This patch fixes it by using assert_spin_locked instead. Signed-off-by: Vincent Minet Signed-off-by: "Theodore Ts'o" commit 168b6b1d0594c7866caa73b12f3b8d91075695f2 Author: Steven Rostedt Date: Mon May 11 22:11:05 2009 -0400 ring-buffer: move code around to remove some branches This is a bit of micro-optimizations. But since the ring buffer is used in tracing every function call, it is an extreme hot path. Every nanosecond counts. This change shows over 5% improvement in the ring-buffer-benchmark. [ Impact: more efficient code ] Signed-off-by: Steven Rostedt commit 88eb0125362f2ab272cbaf84252cf101ddc2dec9 Author: Steven Rostedt Date: Mon May 11 16:28:23 2009 -0400 ring-buffer: use internal time stamp function The ring_buffer_time_stamp that is exported adds a little more overhead than is needed for using it internally. This patch adds an internal timestamp function that can be inlined (a single line function) and used internally for the ring buffer. [ Impact: a little less overhead to the ring buffer ] Signed-off-by: Steven Rostedt commit 0f0c85fc80adbbd2265d89867d743f929d516805 Author: Steven Rostedt Date: Mon May 11 16:08:00 2009 -0400 ring-buffer: small optimizations Doing some small changes in the fast path of the ring buffer recording saves over 3% in the ring-buffer-benchmark test. [ Impact: a little faster ring buffer recording ] Signed-off-by: Steven Rostedt commit d93e4c940f51ae06b59c14523c4d55947f9597d6 Author: Eric Paris Date: Mon May 11 20:47:15 2009 -0400 securityfs: securityfs_remove should handle IS_ERR pointers Both of the securityfs users (TPM and IMA) can call securityfs_remove and pass an IS_ERR(dentry) in their failure paths. This patch handles those rather than panicing when it tries to start deferencing some negative memory. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1a62e958fa4aaeeb752311b4f5e16b2a86737b23 Author: Eric Paris Date: Mon May 11 13:59:22 2009 -0400 IMA: open all files O_LARGEFILE If IMA tried to measure a file which was larger than 4G dentry_open would fail with -EOVERFLOW since IMA wasn't passing O_LARGEFILE. This patch passes O_LARGEFILE to all IMA opens to avoid this problem. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit f06dd16a03f6f7f72fab4db03be36e28c28c6fd6 Author: Eric Paris Date: Mon May 11 13:59:16 2009 -0400 IMA: Handle dentry_open failures Currently IMA does not handle failures from dentry_open(). This means that we leave a pointer set to ERR_PTR(errno) and then try to use it just a few lines later in fput(). Oops. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 37bcbf13d32e4e453e9def79ee72bd953b88302f Author: Eric Paris Date: Mon May 11 13:59:10 2009 -0400 IMA: use current_cred() instead of current->cred Proper invocation of the current credentials is to use current_cred() not current->cred. This patches makes IMA use the new method. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 5031296c57024a78ddad4edfc993367dbf4abb98 Author: H. Peter Anvin Date: Thu May 7 16:54:11 2009 -0700 x86: add extension fields for bootloader type and version A long ago, in days of yore, it all began with a god named Thor. There were vikings and boats and some plans for a Linux kernel header. Unfortunately, a single 8-bit field was used for bootloader type and version. This has generally worked without *too* much pain, but we're getting close to flat running out of ID fields. Add extension fields for both type and version. The type will be extended if it the old field is 0xE; the version is a simple MSB extension. Keep /proc/sys/kernel/bootloader_type containing (type << 4) + (ver & 0xf) for backwards compatiblity, but also add /proc/sys/kernel/bootloader_version which contains the full version number. [ Impact: new feature to support more bootloaders ] Signed-off-by: H. Peter Anvin commit fe83fcc0a14dcf71996de5eb84771b2369ba7abc Author: H. Peter Anvin Date: Mon May 11 16:23:16 2009 -0700 x86, defconfig: update kernel position parameters Update CONFIG_RELOCATABLE, CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to reflect the current defaults. [ Impact: make defconfig match Kconfig defaults ] Signed-off-by: H. Peter Anvin commit c4a994645d04d5fa6bfa52a3204af87dd92168d5 Author: H. Peter Anvin Date: Mon May 11 16:20:12 2009 -0700 x86, defconfig: update to current, no material changes Update defconfigs to reflect current configuration files. No other changes. [ Impact: updates defconfigs to match what "make defconfig" generates ] Signed-off-by: H. Peter Anvin commit 26717808f93a27c22d4853c4fb17fa225f4ccc68 Author: H. Peter Anvin Date: Thu May 7 14:19:34 2009 -0700 x86: make CONFIG_RELOCATABLE the default Remove the EXPERIMENTAL tag from CONFIG_RELOCATABLE and make it the default. Relocatable kernels have been used for a while now, and should now have identical semantics to non-relocatable kernels when loaded by a non-relocating bootloader. Signed-off-by: H. Peter Anvin commit ceefccc93932b920a8ec6f35f596db05202a12fe Author: H. Peter Anvin Date: Mon May 11 16:12:16 2009 -0700 x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB Default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN each to 16 MB, so that both non-relocatable and relocatable kernels are loaded at 16 MB by a non-relocating bootloader. This is somewhat hacky, but it appears to be the only way to do this that does not break some some set of existing bootloaders. We want to avoid the bottom 16 MB because of large page breakup, memory holes, and ZONE_DMA. Embedded systems may need to reduce this, or update their bootloaders to be aware of the new min_alignment field. [ Impact: performance improvement, avoids problems on some systems ] Signed-off-by: H. Peter Anvin commit d297366ba692faf1f0384811a6ff0b20c3470b1b Author: H. Peter Anvin Date: Mon May 11 16:06:23 2009 -0700 x86: document new bzImage fields Document the new bzImage fields for kernel memory placement. [ Impact: adds documentation ] Signed-off-by: H. Peter Anvin commit 37ba7ab5e33cebc25c68fffe33e9f21e7c2014e8 Author: H. Peter Anvin Date: Mon May 11 15:56:08 2009 -0700 x86, boot: make kernel_alignment adjustable; new bzImage fields Make the kernel_alignment field adjustable; this allows us to set it to a large value (intended to be 16 MB to avoid ZONE_DMA contention, memory holes and other weirdness) while a smart bootloader can still force a loading at a lesser alignment if absolutely necessary. Also export pref_address (preferred loading address, corresponding to the link-time address) and init_size, the total amount of linear memory the kernel will require during initialization. [ Impact: allows better kernel placement, gives bootloader more info ] Signed-off-by: H. Peter Anvin commit 99aa45595f45603526513d5e29fc00f8afbf3913 Author: H. Peter Anvin Date: Mon May 11 16:02:10 2009 -0700 x86, boot: remove dead code from boot/compressed/head_*.S Remove a couple of lines of dead code from arch/x86/boot/compressed/head_*.S; all of these update registers that are dead in the current code. [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit 2ff799d3cff1ecb274049378b28120ee5c1c5e5f Author: Vaidyanathan Srinivasan Date: Mon May 11 20:09:14 2009 +0530 sched: Don't export sched_mc_power_savings on multi-socket single core system Fix to prevent sched_mc_power_saving from being exported through sysfs for multi-scoket single core system. Max cores should be always greater than one (1). My earlier patch that introduced fix for not exporting 'sched_mc_power_saving' on laptops broke it on multi-socket single core system. This fix addresses issue on both laptop and multi-socket single core system. Below are the Test results: 1. Single socket - multi-core Before Patch: Does not export 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass 2. Multi Socket - single core Before Patch: exports 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass 3. Multi Socket - Multi core Before Patch: exports 'sched_mc_power_saving' After Patch: exports 'sched_mc_power_saving' [ Impact: make the sched_mc_power_saving control available more consistently ] Signed-off-by: Mahesh Salgaonkar Cc: Suresh B Siddha Cc: Venkatesh Pallipadi Cc: Peter Zijlstra LKML-Reference: <20090511143914.GB4853@dirshya.in.ibm.com> Signed-off-by: Ingo Molnar commit 40b387a8a9a821878ecdf9fb117958c426fc1385 Author: H. Peter Anvin Date: Mon May 11 14:41:55 2009 -0700 x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits Use LOAD_PHYSICAL_ADDR instead of CONFIG_PHYSICAL_START in the 64-bit decompression code, for equivalence with the 32-bit code. [ Impact: cleanup, increases code similarity ] Signed-off-by: H. Peter Anvin commit 77d1a4999502c260df0eb2de437d320bf8c64b36 Author: H. Peter Anvin Date: Mon May 11 14:21:12 2009 -0700 x86, boot: make symbols from the main vmlinux available Make symbols from the main vmlinux, as opposed to just compressed/vmlinux, available to header.S. Also, export a few additional symbols. This will be used in a subsequent patch to export the total memory footprint of the kernel. [ Impact: enable future enhancement ] Signed-off-by: H. Peter Anvin commit 0dae89572cbcd5f676ea52a9448d9639d97a53d6 Author: Paul Mundt Date: Tue May 12 06:18:09 2009 +0900 sh: clkfwk: Wire up clk_get_sys() support. This stubs in clk_get_sys() from the ARM clkdev implementation. Tentatively conver the clk_get() lookup code to use this, and once the rest of the in-tree users are happy with this, it can replace the fallback lookups. Signed-off-by: Paul Mundt commit 31cb31f76e030ae05ed45f409ce5eb68ef2987f6 Author: Roel Kluin Date: Mon May 11 21:57:08 2009 +0200 ASoC: remove driver_data direct access of struct device Signed-off-by: Mark Brown commit 007e8363b656768fe3f59c180824ff704680bb25 Author: Paul Mundt Date: Tue May 12 06:05:32 2009 +0900 sh: clkfwk: Kill off clk_recalc_rate(). The only user for this is the SH-Mobile r_clk, which is now added as a root clock and can be kicked via propagate_rate() as usual. Given that, there is no longer any need for the special clk_recalc_rate(), so we kill it off. Signed-off-by: Paul Mundt commit f5c84cf50812c80133e64683d0500b2416d55cb3 Author: Paul Mundt Date: Tue May 12 05:59:27 2009 +0900 sh: clkfwk: Tidy up on-chip clock registration and rate propagation. This tidies up the set_rate hack that the on-chip clocks were abusing to trigger rate propagation, which is now handled generically. Additionally, now that CLK_ENABLE_ON_INIT is wired up where it needs to be for these clocks, the clk_enable() can go away. In some cases this was bumping up the refcount higher than it should have been. Signed-off-by: Paul Mundt commit aa87aa343f2cd236b5eccd643abd4df918ed5c4f Author: Paul Mundt Date: Tue May 12 05:51:05 2009 +0900 sh: clkfwk: Improve the generic clk_set_parent() implementation. This causes the generic clk_set_parent() implementation to be a bit more intelligent. A clk_reparent() is added to move the clock over to the new parent's sibling list, which then allows the generic rate propagation code to succeed. This also becomes a nop if the new and old parents are unchanged. Signed-off-by: Paul Mundt commit ae891a4264c91246c0b4c22be68b9838747ae48d Author: Paul Mundt Date: Tue May 12 05:30:10 2009 +0900 sh: clkfwk: Fix up the clk_enable() error path. There are a couple of instances where a clk_enable() can fail, which the SH-Mobile code presently handles, but doesn't get reported all the way back up. This fixes up the return type so the errors make it all the way down to the drivers. Additionally, we now also error out properly if the parent enable fails. Prep work for aggressively turning off unused clocks on boot. Signed-off-by: Paul Mundt commit 154502e160e02dee7b00ec2149762ae5d48e0bb4 Author: Paul Mundt Date: Tue May 12 05:18:13 2009 +0900 sh: clkfwk: Convert SH-Mobile CPUs to use CLK_ENABLE_ON_INIT. Kill off all of the clk_always_enabled leftovers and use the new flag directly. Signed-off-by: Paul Mundt commit 4ff29ff8e8723a41e7defd8bc78a7b16cbf940a2 Author: Paul Mundt Date: Tue May 12 05:14:53 2009 +0900 sh: clkfwk: Consolidate the ALWAYS_ENABLED / NEEDS_INIT mess. There is no real distinction here in behaviour, either a clock needs to be enabled on initialiation or not. The ALWAYS_ENABLED flag was always intended to only apply to clocks that were physically always on and could simply not be disabled at all from software. Unfortunately over time this was abused and the meaning became a bit blurry. So, we kill off both of all of those paths now, as well as the newer NEEDS_INIT flag, and consolidate on a CLK_ENABLE_ON_INIT. Clocks that need to be enabled on initialization can set this, and it will purposely enable them and bump the refcount up. Signed-off-by: Paul Mundt commit b1f6cfe48c3cb1dfa77db3d2f42f765febaef9bc Author: Paul Mundt Date: Tue May 12 04:27:43 2009 +0900 sh: clkfwk: refactor rate propagation. This resyncs the rate propagation strategy with the scheme used by the OMAP clock framework. Child clocks are tracked on a list under each parent and propagation happens there specifically rather than constantly iterating over the global clock list. Signed-off-by: Paul Mundt commit 7be69c0b9aa93ef655db4d46e5654996489d62f5 Author: Johannes Berg Date: Mon May 11 16:06:36 2009 +0200 wext: fix get_wireless_stats locking Currently, get_wireless_stats is racy by _design_. This is because it returns a buffer, which needs to be statically allocated since it cannot be freed if it was allocated dynamically. Also, SIOCGIWSTATS and /proc/net/wireless use no common lock, and /proc/net/wireless accesses are not synchronised against each other. This is a design flaw in get_wireless_stats since the beginning. This patch fixes it by wrapping /proc/net/wireless accesses with the RTNL so they are protected against each other and SIOCGIWSTATS. The more correct method of fixing this would be to pass in the buffer instead of returning it and have the caller take care of synchronisation of the buffer, but even then most drivers probably assume that their callback is protected by the RTNL like all other wext callbacks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e80cf8537ae54ec96c389055d6e9b0ef630c042d Author: Johannes Berg Date: Mon May 11 14:43:13 2009 +0200 cfg80211: disallow interfering with stations on non-AP On non-AP interfaces userspace has no business interfering with the station management, this can confuse mac80211 (and other drivers probably wouldn't support it anyway). Allow adding and removing stations only on AP interfaces. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 528769cf1e422d932052be1487459262f3d75333 Author: Jouni Malinen Date: Mon May 11 10:20:35 2009 +0300 mac80211: Robust Action frame categories for MFP IEEE 802.11w/D9.0 introduces a mechanism for Action field Category values to be used to select which Action frames are Robust. Public and Vendor-specific categories are marked as not Robust in IEEE 802.11w; HT will be marked not Robust in IEEE 802.11n. A new Vendor-specific Protected category is allocated for Robust vendor-specific Action frames. Another new category, Protected Dual of Action, is introduced for protecting some existing Public Action frames (e.g., IEEE 802.11y protected enablement). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cbe8fa9c5e88fd5f554ebc519af3b0ed17dde0dd Author: Johannes Berg Date: Sat May 9 20:09:03 2009 +0200 cfg80211: put wext data into substructure To make it more apparent in the code what is for wext only (and needs to be #ifdef'ed) put all the info for wext into a substruct in each wireless_dev. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4e943900fb9675d3a5ebdabc2cd4a9a54edace97 Author: Johannes Berg Date: Sat May 9 20:06:47 2009 +0200 cfg80211: constify key mac address in ops The address pointed to by mac_addr can be marked as const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8fbff4b838c53945d6baeafe609c627000f85cd6 Author: Vasanthakumar Thiagarajan Date: Fri May 8 17:54:51 2009 -0700 ath9k: Cleanup ineffective return values This patch makes the return type of some of the functions void as those functions always return true Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 19eddca67628e5fb722e4ebbbba8c307a884d0e8 Author: Vasanthakumar Thiagarajan Date: Fri May 8 17:54:50 2009 -0700 ath9k: Remove bogus break after return Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f2c95b04aba3510323381fe49a0539c23da2e8f4 Author: Wey-Yi Guy Date: Fri May 8 13:44:45 2009 -0700 iwlwifi: default WMM AC parameters Set the default WMM AC parameters for BK/BE/VI/VO parameters: AC CWmin CW max AIFSN TXOP Limit TXOP Limit (802.11b) (802.11a/g) AC_BK 15 1023 7 0 0 AC_BE 15 1023 3 0 0 AC_VI 7 15 2 188 94 (6.016ms) (3.008ms) AC_VO 3 7 2 102 47 (3.264ms) (1.504ms) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0b4d0ab44fa2f7bda7b14312741ba3f337a02d5a Author: Wey-Yi Guy Date: Fri May 8 13:44:44 2009 -0700 iwlwifi: show qos AC parameters Show current qos AC parameters in sysfs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 38167459da50e3fe9a10635308bfb0048cc36e8e Author: Wey-Yi Guy Date: Fri May 8 13:44:43 2009 -0700 iwlagn: show current rate scale data in debugfs Add "rate_scale_data" debugfs file to show current bit rate (HT and Legacy), plus additional information (rssi, noise, tsf, beacon time stamp). Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fff7a4346c07c30a39910c3b627434fc0e7ccc33 Author: Wey-Yi Guy Date: Fri May 8 13:44:42 2009 -0700 iwlwifi: use #define instead of hard coded value Instead of hard coded value, use the define in iwl-commands.h for better code maintenance Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 43121432e2d3a9018c40e820b1e44f3f180aa0d6 Author: Abhijeet Kolekar Date: Fri May 8 13:44:41 2009 -0700 iwl3945: read rev id in nic config Read rev id in nic_config instead of nic_init. Nic_config has some checking for rev_id but we actually don't read the rev_id in there. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9906a07e1607e86957ac8780c35a9acf425c4c95 Author: Reinette Chatre Date: Fri May 8 13:44:40 2009 -0700 iwlwifi: more descriptive unsupported hardware message Somehow these pre-production cards are showing up in the community. With this message we hope that it will be clear that the hardware is not supported. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d6e933993fdad4a270c557fa5317f668bef1d824 Author: Mohamed Abbas Date: Fri May 8 13:44:39 2009 -0700 iwlagn: improve rate scale table search iwlagn rate scaling will periodically search other rate scale tables to switch to the best table regarding performance. In the past the number of search tables were 3. Every time the rate scale algorithm goes through these available tables in will stay in current table for some time before start searching again. Recent driver support more feature and antenna, so we have more tables to search. This patch make sure we go through all available tables. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7af2c460789a78d9c0d4dc7776fcb87acdc71052 Author: Johannes Berg Date: Fri May 8 13:44:38 2009 -0700 iwlwifi: clean up PS code This removes all the dead code that tries to adjust the power saving level based on the system AC state (inacceptable policy in the kernel) or based on overtemp conditions (unused). Also, pass _all_ policy wrt. enabling PS to mac80211, since we do not use the power_disabled internally I now use that to mirror the mac80211 CONF_PS setting. When mac80211 turns off CONF_PS we follow suit. This means that the user power level (which can currently only be set from sysfs) is not touched for mac80211 powersave changes. This means no "association status" checks are necessary since mac80211 will not allow power save to be enabled when not associated. Signed-off-by: Johannes Berg Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0f74a0e65a69d4cc579e60f76a30b38ad7dbe06 Author: Johannes Berg Date: Fri May 8 13:44:37 2009 -0700 iwlwifi: fix PS disable status race iwlwifi internally needs to keep track of whether PS is enabled in the firmware or not. To do this, it keeps a bit in the status flags, called STATUS_POWER_PMI. The code to set this bit looks as follows: static int iwl_set_power(struct iwl_priv *priv, void *cmd) { return iwl_send_cmd_pdu_async(priv, POWER_TABLE_CMD, sizeof(struct iwl_powertable_cmd), cmd, NULL); } int iwl_power_update_mode(...) { [...] if (final_mode != IWL_POWER_MODE_CAM) set_bit(STATUS_POWER_PMI, &priv->status); iwl_update_power_cmd(priv, &cmd, final_mode); cmd.keep_alive_beacons = 0; if (final_mode == IWL_POWER_INDEX_5) cmd.flags |= IWL_POWER_FAST_PD; ret = iwl_set_power(priv, &cmd); if (final_mode == IWL_POWER_MODE_CAM) clear_bit(STATUS_POWER_PMI, &priv->status); else set_bit(STATUS_POWER_PMI, &priv->status); if (priv->cfg->ops->lib->update_chain_flags && update_chains) priv->cfg->ops->lib->update_chain_flags(priv); [...] } Now, this bit really needs to track what the _firmware_ thinks, not what the driver thinks. Therefore, there is a race condition here -- the driver sets the bit before it knows that the async command sent to the card in the iwl_set_power function has been processed. As a result, the call to update_chain_flags() may think that the card has been woken up (PMI bit cleared) while in reality it hasn't processed the async POWER_TABLE_CMD yet. This leads to bugs -- any commands the update_chain_flags function sends can get stuck and subsequent commands also fail. The fix is almost trivial: since there's no reason to send an async command here (in fact, there almost never should be since many mac80211 callbacks can sleep) just make the function wait for the card to process the command and then return and clear the PMI bit. Signed-off-by: Johannes Berg Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19cc10870ece942d287241937944c237130f50f4 Author: Johannes Berg Date: Fri May 8 13:44:36 2009 -0700 iwlwifi: do proper hw restart When the microcode fails for any reason, ask mac80211 to recover instead of trying ourselves and failing at it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 44033f80cefd1d7b474efdabc412476d4bafb8f4 Author: Johannes Berg Date: Fri May 8 21:21:41 2009 +0200 mac80211: remove ieee80211_ht_bss_info This struct is no longer used (and hasn't been for a while). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 413ad50a5c15f3bae8075c15b101679f05c37a69 Author: Johannes Berg Date: Fri May 8 21:21:06 2009 +0200 mac80211: properly track HT operation_mode When we disassociate, we set the channel to non-HT which obviously invalidates any ht_operation_mode setting. But when we then associate with the next AP again, we might still have the ht_operation_mode from the previous AP cached and fail to configure the hardware with the new (but unchanged) operation mode. This patch fixes it by separately tracking whether our cache is valid. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ed6bcce77f75d98af6ee07069deac6041948bee Author: Johannes Berg Date: Fri May 8 20:47:39 2009 +0200 mac80211: move HT operation mode BSS info There really is no need to have a separate struct for a single variable. The fact that it exists is due to the code legacy, but we can remove that now. Very simple. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5a9940118a616266183c53a9ee4352feadb9c2e8 Author: Ivo van Doorn Date: Fri May 8 18:30:43 2009 +0200 rt2x00: Fix chipset detection for rt73usb The lower 4 bytes of the chipset revision must contain a non-zero value. This bug was introduced by "rt2x00: Simplify rt2x00_check_rev". Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 99c84cb0692729088788d8e1d1cee670154176e4 Author: Johannes Berg Date: Fri May 8 14:12:21 2009 +0200 mac80211: improve scan timing The call to ieee80211_hw_config() is supposed to apply changes synchronously, so once it returns the parameters are applied to the hardware. Thus, there really is no need to delay the probing by the channel switch time again since the channel switch has already happened once we get to this code. Additionally, there is no need to wait for a NAV update (probe delay) when the channel is passively scanned. Remove that extra time too. This cuts scanning time from over 7 seconds to under 4 on ar9170, which is due to the number of channels scanned and ar9170's switch time being advertised as 135ms (my test now indicates it is about 77ms with the current driver, but the difference might also be due to using a different machine with different USB controllers). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f2ca3ea484a51dc7ea5b738510fd03cb6ca7e2e2 Author: Jouni Malinen Date: Fri May 8 12:36:03 2009 +0300 mac80211: MFP - Drop unprotected Action frames prior key setup When management frame protection (IEEE 802.11w) is used, unprotected Robust Action frames are not allowed prior to key configuration. However, unprotected Deauthentication and Disassociation frames are allowed at that point, but not after key configuration. Make ieee80211_drop_unencrypted() handle the special cases for MFP by separating the basic Data frame case from Management frame processing and handle the Management frames only if MFP has been negotiated. In addition, do not use sdata->drop_unencrypted for Management frames since the decision on whether to accept the frame depends on the key being configured. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0c7c10c7cc6bc890d23c8c62b81b4feccd92124b Author: Jouni Malinen Date: Fri May 8 12:34:10 2009 +0300 mac80211: Drop unencrypted frames based on key setup When using nl80211, we do not have a mechanism to set sdata->drop_unencrypted. Currently, this breaks code that is supposed to drop unencrypted frames when protection is expected since ieee80211_rx_h_decrypt() is optimized to not set rx->key when the frame is not protected. This patch modifies ieee80211_rx_h_decrypt() to set rx->key for all frames and only skip decryption if the frame is not protected. This allows ieee80211_drop_unencrypted() to correctly drop frames even if drop_unencrypted is not set. The changes here are not enough to handle all cases, though. Additional patches will be needed to implement proper IEEE 802.1X PAE for station mode (currently, this is only used for AP mode) and some additional rules are needed for MFP to drop unprotected Robust Action frames prior to having PTK and IGTK configured. In theory, the unprotected frames could and should be dropped in ieee80211_rx_h_decrypt(). However, due to the special case with EAPOL frames that have to be allowed to be received unprotected even when keys are set, it is simpler to only set rx->key and allow the ieee80211_frame_allowed() function to handle the actual dropping of data frames after 802.11->802.3 header conversion. In addition, unprotected robust management frames are dropped before they are processed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 782571f46fc7d2bbb0288ab0d676c47a88449a5c Author: Johannes Berg Date: Fri May 8 19:31:42 2009 +0200 iwlwifi: make iwl_set_rate static It's not needed outside iwl-core.c Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 0b258582fef3a9b15b2372d99164859361faa8db Author: Johannes Berg Date: Fri May 8 09:42:33 2009 +0200 cfg80211: fix wext iw_freq parsing The function to parse a struct iw_freq has a stupid bug, it returns NULL when the channel cannot be found at all, but NULL is supposed to mean "auto". Fix this by checking the return value of ieee80211_get_channel() and returning ERR_PTR(-EINVAL) if it returned NULL (channel not found). This fixes an issue where you could say (in IBSS mode) iwconfig wlan0 channel 21 and it would use channel 1 instead because that's the first available channel with IBSS allowed (which is what the "auto" setting uses). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aa837e1d6bd1a71b3c30c7738b6c29d41512fe7d Author: Johannes Berg Date: Thu May 7 16:16:24 2009 +0200 mac80211: set default QoS values according to spec We've never really cared about the default QoS (WMM) values, but we really should if the AP doesn't send any. This patch makes mac80211 use the default values according to 802.11-2007, and additionally syncs the default values when we disassociate so whatever the last AP said gets "unconfigured". Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 58905ca5b11a0ff3860f55b789cbbf052f7158a7 Author: Johannes Berg Date: Thu May 7 14:23:01 2009 +0200 mac80211: fix scan channel race When a software scan starts, it first sets sw_scanning, but leaves the scan_channel "unset" (it currently actually gets initialised to a default). Now, when something else tries to (re)configure the hardware in the window between these two events (after sw_scanning = true, but before scan_channel is set), the current code switches to the (unset!) scan_channel. This causes trouble, especially when switching bands and sending frames on the wrong channel. To work around this, leave scan_channel initialised to NULL and use it to determine whether or not a switch to a different channel should occur (and also use the same condition to check whether to adjust power for scan or not). Additionally, avoid reconfiguring the hardware completely when recalculating idle resulted in no changes, this was the problem that originally led us to discover the race condition in the first place, which was helpfully bisected by Pavel. This part of the patch should not be necessary with the other fixes, but not calling the ieee80211_hw_config function when we know it to be unnecessary is certainly a correct thing to do. Unfortunately, this patch cannot and does not fix the race condition completely, but due to the way the scan code is structured it makes the particular problem Pavel discovered (race while changing channel at the same time as transmitting frames) go away. To fix it completely, more work especially with locking configuration is needed. Bisected-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 02018b39a75057541c7946a9173561d1a76a0bfe Author: Geert Uytterhoeven Date: Wed May 6 22:35:58 2009 +0200 wireless: WL12XX should depend on GENERIC_HARDIRQS m68k allmodconfig: | drivers/net/wireless/wl12xx/main.c: In function 'wl12xx_probe': | drivers/net/wireless/wl12xx/main.c:1273: error: implicit declaration of function 'set_irq_type' | make[1]: *** [drivers/net/wireless/wl12xx/main.o] Error 1 Signed-off-by: Geert Uytterhoeven Acked-by: Kalle Valo Signed-off-by: John W. Linville commit dc6382ced07d6bad61d0b591fb12ab5da7ca632c Author: Jouni Malinen Date: Wed May 6 22:09:37 2009 +0300 nl80211 : Add support for configuring MFP NL80211_CMD_ASSOCIATE request must be able to indicate whether management frame protection (IEEE 802.11w) is being used. mac80211 was able to use MFP in client mode only with WEXT, but the new NL80211_ATTR_USE_MFP attribute will allow this to be done with nl80211, too. Since we are currently using nl80211 for MFP only with drivers that use user space SME, only MFP disabled and required values are used. However, the NL80211_ATTR_USE_MFP attribute is an enum that can be extended with MFP optional in the future, if that is needed with some drivers (e.g., if the RSN IE is generated by the driver). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a02cb230bb4fca04f091746c593de720a0e3a94a Author: Paul Mundt Date: Tue May 12 03:50:44 2009 +0900 sh: clkfwk: Add a followparent_recalc() helper. This adds a followparent_recalc() helper for clocks that just follow the parent's rate. Switch over the few CPUs that use this scheme for some of their clocks. Signed-off-by: Paul Mundt commit b68d8201433a91cabbcbeae48b53d8c1c426433a Author: Paul Mundt Date: Tue May 12 03:45:08 2009 +0900 sh: clkfwk: Make recalc return an unsigned long. This is prep work for cleaning up some of the rate propagation bits. Trivial conversion. Signed-off-by: Paul Mundt commit be957c447f7233a67904a1b11eb3ab61e702bf4d Author: Steven Rostedt Date: Mon May 11 14:42:53 2009 -0400 ring-buffer: move calculation of event length The event length is calculated and passed in to rb_reserve_next_event in two different locations. Having rb_reserve_next_event do the calculations directly makes only one location to do the change and causes the calculation to be inlined by gcc. Before: text data bss dec hex filename 16538 24 12 16574 40be kernel/trace/ring_buffer.o After: text data bss dec hex filename 16490 24 12 16526 408e kernel/trace/ring_buffer.o [ Impact: smaller more efficient code ] Signed-off-by: Steven Rostedt commit 1cd8d7358948909ab80b254eb14bcebc555ad417 Author: Steven Rostedt Date: Mon May 11 14:08:09 2009 -0400 ring-buffer: remove type parameter from rb_reserve_next_event The rb_reserve_next_event is only called for the data type (type = 0). There is no reason to pass in the type to the function. Before: text data bss dec hex filename 16554 24 12 16590 40ce kernel/trace/ring_buffer.o After: text data bss dec hex filename 16538 24 12 16574 40be kernel/trace/ring_buffer.o [ Impact: cleaner, smaller and slightly more efficient code ] Signed-off-by: Steven Rostedt commit d988ff94c1074c4c914235c8591bcceafb585ecf Author: Steven Rostedt Date: Fri May 8 11:03:57 2009 -0400 ring-buffer: check for divide by zero in ring-buffer-benchmark Although we check if "missed" is not zero, we divide by hit + missed, and the addition can possible overflow and become a divide by zero. This patch checks for this case, and will report it when it happens then modify "hit" to make the calculation be non zero. [ Impact: prevent possible divide by zero in ring-buffer-benchmark ] Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 5a772b2b3c68e7e0b503c5a48469113bb0634314 Author: Steven Rostedt Date: Fri May 8 10:56:33 2009 -0400 ring-buffer: replace constants with time macros in ring-buffer-benchmark The use of numeric constants is discouraged. It is cleaner and more descriptive to use macros for constant time conversions. This patch also removes an extra new line. [ Impact: more descriptive time conversions ] Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 0c23590f00f85467b318ad0c20c36796a5bd4c60 Author: Alexey Dobriyan Date: Mon May 4 03:30:15 2009 +0400 x86, 64-bit: ifdef out struct thread_struct::ip struct thread_struct::ip isn't used on x86_64, struct pt_regs::ip is used instead. kgdb should be reading 0 always, but I can't check it. [ Impact: (potentially) reduce thread_struct size on 64-bit ] Signed-off-by: Alexey Dobriyan Cc: containers@lists.linux-foundation.org LKML-Reference: <20090503233015.GJ16631@x200.localdomain> Signed-off-by: Ingo Molnar commit d756f4adb9d8a86e347a2d5435bb5cc95744733e Author: Alexey Dobriyan Date: Mon May 4 03:29:52 2009 +0400 x86, 32-bit: ifdef out struct thread_struct::fs After commit 464d1a78fbf8cf6c7fd970e7b3e2db50a320ce28 aka "[PATCH] i386: Convert i386 PDA code to use %fs" %fs saved during context switch moved from thread_struct to pt_regs and value on thread_struct became unused. [ Impact: reduce thread_struct size on 32-bit ] Signed-off-by: Alexey Dobriyan Cc: containers@lists.linux-foundation.org LKML-Reference: <20090503232952.GI16631@x200.localdomain> Signed-off-by: Ingo Molnar commit cec6be6d1069d697beb490bbb40a290d5ff554a2 Author: Cyrill Gorcunov Date: Mon May 11 17:41:40 2009 +0400 x86: apic: Fixmap apic address even if apic disabled In case if apic were disabled by boot option we still need read_apic operation. So fixmap a fake apic area if needed. [ Impact: fix boot crash ] Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: eswierk@aristanetworks.com LKML-Reference: <20090511134140.GH4624@lenovo> Signed-off-by: Ingo Molnar commit ccc195655fb25d7d967b278c4a4725dc5e7a6bf4 Author: Magnus Damm Date: Mon May 11 11:37:16 2009 +0000 sh: TMU platform data for sh7780 This patch adds TMU platform data for sh7780. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 50e2d0d3b4ffc945a6c27f16d4e5e557e725ec67 Author: Magnus Damm Date: Mon May 11 11:34:16 2009 +0000 sh: r7780 highlander clock fixes Update the r7780 highlander defconfig to fix PCLK value, while at it fix cmdline on r7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d6ad460214cc72b93333f51f498441a56d622e9 Author: Magnus Damm Date: Mon May 11 09:01:08 2009 +0000 sh: multiple vectors per irq - sh7760 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 sh7760 hardware blocks such as DMAC/TMU2/REF. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 41fb454ebe6024f5c1e3b3cbc0abc0da762e7b51 Merge: 19c1a6f 091bf76 Author: Ingo Molnar Date: Mon May 11 14:44:27 2009 +0200 Merge commit 'v2.6.30-rc5' into core/iommu Merge reason: core/iommu was on an .30-rc1 base, update it to .30-rc5 to refresh. Signed-off-by: Ingo Molnar commit 97a52714658cd959a3cfa35c5b6f489859f0204b Author: Andreas Herrmann Date: Fri May 8 18:23:50 2009 +0200 x86: display extended apic registers with print_local_APIC and cpu_debug code Both print_local_APIC (used when apic=debug kernel param is set) and cpu_debug code missed support for some extended APIC registers that I'd like to see. This adds support to show: - extended APIC feature register - extended APIC control register - extended LVT registers [ Impact: print more debug info ] Signed-off-by: Andreas Herrmann Cc: Jaswinder Singh Rajput Cc: Cyrill Gorcunov LKML-Reference: <20090508162350.GO29045@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0b0a47f5c4a30b58432e20ae1706a27baea91a88 Author: Miklos Szeredi Date: Thu May 7 15:37:37 2009 +0200 splice: implement default splice_write method If f_op->splice_write() is not implemented, fall back to a plain write. Use vfs_writev() to write from the pipe buffers. This will allow splice on all filesystems and file types. This includes "direct_io" files in fuse which bypass the page cache. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 6818173bd658439b83896a2a7586f64ab51bf29c Author: Miklos Szeredi Date: Thu May 7 15:37:36 2009 +0200 splice: implement default splice_read method If f_op->splice_read() is not implemented, fall back to a plain read. Use vfs_readv() to read into previously allocated pages. This will allow splice and functions using splice, such as the loop device, to work on all filesystems. This includes "direct_io" files in fuse which bypass the page cache. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d Author: Miklos Szeredi Date: Thu May 7 15:37:35 2009 +0200 splice: implement pipe to pipe splicing Allow splice(2) to work when both the input and the output is a pipe. Based on the impementation of the tee(2) syscall, but instead of duplicating the buffer references move the buffers from the input pipe to the output pipe. Moving the whole buffer only succeeds if the full length of the buffer is spliced. Otherwise duplicate the buffer, just like tee(2), set the length of the output buffer and advance the offset on the input buffer. Since splice is operating on two pipes, special care needs to be taken with locking to prevent AN ABBA deadlock. Again this is done similarly to the tee(2) syscall, first preparing the input and output pipes so there's data to consume and space for that data, and then doing the move operation while holding both locks. If other processes are doing I/O on the same pipes parallel to the splice, then by the time both inodes are locked there might be no buffers left to move, or no space to move them to. In this case retry the whole operation, including the preparation phase. This could lead to starvation, but I'm not sure if that's serious enough to worry about. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 48bf2b1711dc498494e77705c415ee46bb508fd9 Author: Steven Whitehouse Date: Wed Apr 29 13:59:35 2009 +0100 GFS2: Something nonlinear this way comes! For some reason GFS2 has been missing support for non-linear mappings. This patch fixes that, and also avoids taking any locks for mmap in the O_NOATIME case. In fact we don't actually need to take the lock here at all - just doing file_accessed() would be enough, but we have to take the lock eventually and this helps it hit disk (and thus be seen by other nodes) faster. Signed-off-by: Steven Whitehouse commit 4a0f9a321a113392b448e477018311d14fba2b34 Author: Steven Whitehouse Date: Mon Apr 20 08:16:26 2009 +0100 GFS2: Optimise writepage for metadata This adds a GFS2 specific writepage for metadata, rather than continuing to use the VFS function. As a result we now tag all our metadata I/O with the correct flag so that blktraces will now be less confusing. Also, the generic function was checking for a number of corner cases which cannot happen on the metadata address spaces so that this should be faster too. Signed-off-by: Steven Whitehouse commit c969f58ca43fc403c75f5d3da4cf1e21de7afaa0 Author: Steven Whitehouse Date: Tue Apr 7 14:13:01 2009 +0100 GFS2: Update the rw flags After Jens recent updates: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a1f242524c3c1f5d40f1c9c343427e34d1aadd6e et al. this is a patch to bring gfs2 uptodate with the core code. Also I've managed to squash another call to ll_rw_block() along the way. There is still one part of the GFS2 I/O paths which are not correctly annotated and that is due to the sharing of the writeback code between the data and metadata address spaces. I would like to change that too, but this patch is still worth doing on its own, I think. Signed-off-by: Steven Whitehouse commit 79c5d3ce614d8fe706545c7bca2158b63db6bb5e Author: Li Zefan Date: Mon May 11 15:06:46 2009 +0800 blktrace: from-sector redundant in trace_block_remap, cleanup The last argument of block_remap prober is the original sector before remap, so it should be 'from', not 'to'. [ Impact: clean up ] Signed-off-by: Li Zefan Cc: "Alan D. Brunelle" Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: KOSAKI Motohiro LKML-Reference: <4A07CE86.5090301@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7961386fe9596e6bf03d09948a73c5df9653325b Merge: aa47b7e 091bf76 Author: Ingo Molnar Date: Mon May 11 12:59:32 2009 +0200 Merge commit 'v2.6.30-rc5' into sched/core Merge reason: sched/core was on .30-rc1 before, update to latest fixes Signed-off-by: Ingo Molnar commit 049862579333cc6cd9e6edfd6987cd0addfd8c59 Author: Li Zefan Date: Mon May 11 14:33:23 2009 +0800 blktrace: pdu_buf of pc events should be unsigned I got this: 8,0 1 305.417782332 2037 I R 32 (ffffff9e 10 00 ...) [bash] It should be: 8,0 1 305.417782332 2037 I R 32 (9e 10 00 ...) [bash] [ Impact: fix output of pc events ] Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A07C6B3.9080802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 615a3f1e055ac9b0ae74e1f935a12ea2cfe2a2ad Author: Paul Mackerras Date: Mon May 11 15:50:21 2009 +1000 perf_counter: call atomic64_set for counter->count A compile warning triggered because we are calling atomic_set(&counter->count). But since counter->count is an atomic64_t, we have to use atomic64_set. So the count can be set short, resulting in the reset ioctl only resetting the low word. [ Impact: clear counter properly during the reset ioctl ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.48285.270311.981806@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a08b159fc243dbfe415250466d24cfc5010deee5 Author: Paul Mackerras Date: Mon May 11 15:46:10 2009 +1000 perf_counter: don't count scheduler ticks as context switches The context-switch software counter gives inflated values at present because each scheduler tick and each process-wide counter enable/disable prctl gets counted as a context switch. This happens because perf_counter_task_tick, perf_counter_task_disable and perf_counter_task_enable all call perf_counter_task_sched_out, which calls perf_swcounter_event to record a context switch event. This fixes it by introducing a variant of perf_counter_task_sched_out with two underscores in front for internal use within the perf_counter code, and makes perf_counter_task_{tick,disable,enable} call it. This variant doesn't record a context switch event, and takes a struct perf_counter_context *. This adds the new variant rather than changing the behaviour or interface of perf_counter_task_sched_out because that is called from other code. [ Impact: fix inflated context-switch event counts ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.48034.485580.498953@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6751b71ea2c7ab8c0d65f01973a3fc8ea16992f4 Author: Paul Mackerras Date: Mon May 11 12:08:02 2009 +1000 perf_counter: Put whole group on when enabling group leader Currently, if you have a group where the leader is disabled and there are siblings that are enabled, and then you enable the leader, we only put the leader on the PMU, and not its enabled siblings. This is incorrect, since the enabled group members should be all on or all off at any given point. This fixes it by adding a call to group_sched_in in __perf_counter_enable in the case where we're enabling a group leader. To avoid the need for a forward declaration this also moves group_sched_in up before __perf_counter_enable. The actual content of group_sched_in is unchanged by this patch. [ Impact: fix bug in counter enable code ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.34946.451546.691693@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 8823392360dc4992f87bf4c623834d315f297493 Author: Mike Galbraith Date: Sun May 10 10:53:05 2009 +0200 perf_counter, x86: clean up throttling printk s/PERFMON/perfcounters for perfcounter interrupt throttling warning. 'perfmon' is the CPU feature name that is Intel-only, while we do throttling in a generic way. [ Impact: cleanup ] Signed-off-by: Mike Galbraith Cc: Robert Richter Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: Signed-off-by: Ingo Molnar commit 087fa4e964e04371a67f340e1f6ac92c5db5e0a6 Author: Pekka Enberg Date: Thu May 7 15:35:42 2009 +0300 x86: use sparse_memory_present_with_active_regions() on UMA There's no need to use call memory_present() manually on UMA because initmem_init() sets up early_node_map by calling e820_register_active_regions(). [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1241699742.17846.31.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 3551f88f6439cf4da3f5a3747b320280e30500de Author: Pekka Enberg Date: Thu May 7 15:35:41 2009 +0300 x86: unify 64-bit UMA and NUMA paging_init() 64-bit UMA and NUMA versions of paging_init() are almost identical. Therefore, merge the copy in mm/numa_64.c to mm/init_64.c to remove duplicate code. [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1241699741.17846.30.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit c42f32dca3855d8f867387ec6993d9b62516a00e Author: Magnus Damm Date: Mon May 11 09:06:24 2009 +0000 sh: TMU platform data for sh7760 This patch adds TMU platform data for sh7760. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 03f408f1aad8d0f5eb6380732bffc0f72b250fa7 Author: Magnus Damm Date: Mon May 11 08:54:54 2009 +0000 sh: TMU platform data for sh775x This patch adds TMU platform data for sh775x. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53c0054c3f11b49fc09f24e46f58661def952728 Author: Magnus Damm Date: Mon May 11 08:45:27 2009 +0000 sh: include empty_zero_page in text Include empty_zero_page in _text. This fixes a problem introduced by c3e2586b794b12ffcdf69b4e547030b51e18e6d9 which results in broken boot on R2D-Plus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0964b0562bb9c93194e852b47bab2397b9e11c18 Author: Yinghai Lu Date: Fri May 8 00:37:34 2009 -0700 x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB It is expected that there might be slight differences between the e820 map and the SRAT table and the intention was that 1MB of slack be allowed. The calculation comparing e820ram and pxmram assumes the units are bytes, when they are in fact pages. This means 4GB of slack is being allowed, not 1MB. This patch makes the correct comparison. comment is from Mel. [ Impact: don't accept buggy SRATs that could dump up to 4G of RAM ] Signed-off-by: Yinghai Lu Acked-by: Mel Gorman Cc: Andrew Morton LKML-Reference: <4A03E13E.6050107@kernel.org> Signed-off-by: Ingo Molnar commit b37ab91907e9002925f4217e3bbd496aa12c2fa3 Author: Yinghai Lu Date: Fri May 8 00:36:44 2009 -0700 x86: Sanity check the e820 against the SRAT table using e820 map only node_cover_memory() sanity checks the SRAT table by ensuring that all PXMs cover the memory reported in the e820. However, when calculating the size of the holes in the e820, it uses the early_node_map[] which contains information taken from both SRAT and e820. If the SRAT is missing an entry, then it is not detected that the SRAT table is incorrect and missing entries. This patch uses the e820 map to calculate the holes instead of early_node_map[]. comment is from Mel. [ Impact: reject incorrect SRAT tables ] Signed-off-by: Yinghai Lu Acked-by: Mel Gorman Cc: Andrew Morton LKML-Reference: <4A03E10C.60906@kernel.org> Signed-off-by: Ingo Molnar commit 4401da6111ac58f94234417427d06a72c4048c74 Author: Yinghai Lu Date: Sat May 2 10:40:57 2009 -0700 x86: read apic ID in the !acpi_lapic case Ed found that on 32-bit, boot_cpu_physical_apicid is not read right, when the mptable is broken. Interestingly, actually three paths use/set it: 1. acpi: at that time that is already read from reg 2. mptable: only read from mptable 3. no madt, and no mptable, that use default apic id 0 for 64-bit, -1 for 32-bit so we could read the apic id for the 2/3 path. We trust the hardware register more than we trust a BIOS data structure (the mptable). We can also avoid the double set_fixmap() when acpi_lapic is used, and also need to move cpu_has_apic earlier and call apic_disable(). Also when need to update the apic id, we'd better read and set the apic version as well - so that quirks are applied precisely. v2: make path 3 with 64bit, use -1 as apic id, so could read it later. v3: fix whitespace problem pointed out by Ed Swierk [ Impact: get correct apic id for bsp other than acpi path ] Reported-by: Ed Swierk Signed-off-by: Yinghai Lu Acked-by: Cyrill Gorcunov LKML-Reference: <49FC85A9.2070702@kernel.org> [ v4: sanity-check in the ACPI case too ] Signed-off-by: Ingo Molnar commit 80989ce0643c1034822f3e339ed8d790b649abe1 Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: clean up and and print out initial max_pfn_mapped Do this so we can check the range that is mapped before init_memory_mapping(). To be able to print out meaningful info, we first have to fix 64-bit to have max_pfn_mapped assigned before that call. This also unifies the code-path a bit. [ Impact: print more debug info, cleanup ] Signed-off-by: Yinghai Lu LKML-Reference: <49BF0978.40605@kernel.org> Signed-off-by: Ingo Molnar commit b1f744937f1be3e6d3009382a755679133cf782d Author: FUJITA Tomonori Date: Mon May 11 17:56:09 2009 +0900 block: move completion related functions back to blk-core.c Let's put the completion related functions back to block/blk-core.c where they have lived. We can also unexport blk_end_bidi_request() and __blk_end_bidi_request(), which nobody uses. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e6bb7a96c2c36f20c05ef648f15bd3c2b1834c78 Author: FUJITA Tomonori Date: Mon May 11 17:56:08 2009 +0900 scsi: simplify the bidi completion Let's use blk_end_request_all() instead of blk_end_bidi_request(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 1822952ba2b9f22f79019d07ebbeca31dc14b718 Author: FUJITA Tomonori Date: Mon May 11 17:56:07 2009 +0900 block: let blk_end_request_all handle bidi requests blk_end_request_all() and __blk_end_request_all() should finish all bytes including bidi, by definition. That's what all bidi users need , bidi requests must be complete as a whole (partial completion is impossible). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 3e0c373749d7eb5b354ac0b043f2b2cdf84eefef Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: clean up and fix setup_clear/force_cpu_cap handling setup_force_cpu_cap() only have one user (Xen guest code), but it should not reuse cleared_cpu_cpus, otherwise it will have problems on SMP. Need to have a separate cpu_cpus_set array too, for forced-on flags, beyond the forced-off flags. Also need to setup handling before all cpus caps are combined. [ Impact: fix the forced-set CPU feature flag logic ] Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit 61fe91e1319556f32bebfd7ed2c68ef02e2c17f7 Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: apic: Check rev 3 fadt correctly for physical_apic bit Impact: fix fadt version checking FADT2_REVISION_ID has value 3 aka rev 3 FADT. So need to use >= instead of >, as other places in the code do. [ Impact: extend scope of APIC boot quirk ] Signed-off-by: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit b9c61b70075c87a8612624736faf4a2de5b1ed30 Author: Yinghai Lu Date: Wed May 6 10:10:06 2009 -0700 x86/pci: update pirq_enable_irq() to setup io apic routing So we can set io apic routing only when enabling the device irq. This is advantageous for IRQ descriptor allocation affinity: if we set up the IO-APIC entry later, we have a chance to allocate the IRQ descriptor later and know which device it is on and can set affinity accordingly. [ Impact: standardize/enhance irq-enabling sequence for mptable irqs ] Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Len Brown Cc: Andrew Morton LKML-Reference: <4A01C46E.8000501@kernel.org> Signed-off-by: Ingo Molnar commit 5ef2183768bb7d64b85eccbfa1537a61cbefa97c Author: Yinghai Lu Date: Wed May 6 10:08:50 2009 -0700 x86/acpi: move setup io apic routing out of CONFIG_ACPI scope So we could set io apic routing when ACPI is not enabled. [ Impact: prepare for new functionality ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C422.5070400@kernel.org> Signed-off-by: Ingo Molnar commit e20c06fd6950265a899edd96a02dc2e6ae2d1ce5 Author: Yinghai Lu Date: Wed May 6 10:08:22 2009 -0700 x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector() To prepare those params for pcibios_irq_enable() to call setup_io_apic_routing(). [ Impact: extend function call API to prepare for new functionality ] Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Len Brown Cc: Andrew Morton LKML-Reference: <4A01C406.2040303@kernel.org> Signed-off-by: Ingo Molnar commit bdfe8ac153546537ed24de69610ea781a734f785 Author: Yinghai Lu Date: Wed May 6 10:07:41 2009 -0700 x86/acpi: move pin_programmed bit map to io_apic.c Prepare to call setup_io_apic_routing() in pcibios_irq_enable() also remove not needed member apic_id. [ Impact: clean up, prepare for future change ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C3DD.3050104@kernel.org> Signed-off-by: Ingo Molnar commit a31f82057ce6f7ced578d64c07a72ccbdc7336e4 Author: Yinghai Lu Date: Wed May 6 10:06:15 2009 -0700 x86/acpi: call mp_config_acpi_gsi() in mp_register_gsi() The patch to call mp_config_acpi_gsi() from the ACPI IRQ registration code never got mainline because there were open discussions about it. This call is needed to properly update the kernel's copy of the mptable, when the update_mptable boot parameter is needed. Now that the dust has settled with the APIC unification, and since there were no objections when the patch was re-submitted, try this again. [ Impact: fix the update_mptable boot parameter ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C387.7090103@kernel.org> Signed-off-by: Ingo Molnar commit ee214558c2e959781a406e76c5b34364da638e1d Author: Yinghai Lu Date: Wed May 6 10:07:07 2009 -0700 x86: fix alloc_mptable() Fix the conditions when we stop updating the mptable due to running out of slots. [ Impact: fix memory corruption / non-working update_mptable boot parameter ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C3BB.1000609@kernel.org> Signed-off-by: Ingo Molnar commit b9e0353fc85dab4ef5ebcef2bd09ebc4ce6d5a7b Author: Yinghai Lu Date: Wed May 6 10:05:32 2009 -0700 x86/acpi: remove irq-compression trick on 32-bit We already have a per cpu vector on 32-bit via recent changes, and don't need this trick any more (which trick obfuscates the real GSI mappings and which only triggers on larger systems to begin with): On 3 ioapic system (24 per ioapic) before patch I got: ACPI: PCI Interrupt Link [ILSB] enabled at IRQ 71 IOAPIC[2]: Set routing entry (10-23 -> 0xa9 -> IRQ 64 Mode:1 Active:1) pci 0000:80:01.1: PCI INT A -> Link[ILSB] -> GSI 71 (level, low) -> IRQ 64 ACPI: PCI Interrupt Link [LE5B] enabled at IRQ 67 IOAPIC[2]: Set routing entry (10-19 -> 0xb1 -> IRQ 65 Mode:1 Active:1) pci 0000:83:00.0: PCI INT B -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 ACPI: PCI Interrupt Link [LE5A] enabled at IRQ 66 IOAPIC[2]: Set routing entry (10-18 -> 0xb9 -> IRQ 66 Mode:1 Active:1) pci 0000:83:00.1: PCI INT A -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 ACPI: PCI Interrupt Link [LE5D] enabled at IRQ 65 IOAPIC[2]: Set routing entry (10-17 -> 0xc1 -> IRQ 67 Mode:1 Active:1) pci 0000:84:00.0: PCI INT B -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 ACPI: PCI Interrupt Link [LE5C] enabled at IRQ 64 IOAPIC[2]: Set routing entry (10-16 -> 0xc9 -> IRQ 68 Mode:1 Active:1) pci 0000:84:00.1: PCI INT A -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:87:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:87:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 pci 0000:88:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:88:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 pci 0000:8b:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:8b:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 pci 0000:8c:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:8c:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 after the patch we get: ACPI: PCI Interrupt Link [ILSB] enabled at IRQ 71 IOAPIC[2]: Set routing entry (10-23 -> 0xa9 -> IRQ 71 Mode:1 Active:1) pci 0000:80:01.1: PCI INT A -> Link[ILSB] -> GSI 71 (level, low) -> IRQ 71 ACPI: PCI Interrupt Link [LE5B] enabled at IRQ 67 IOAPIC[2]: Set routing entry (10-19 -> 0xb1 -> IRQ 67 Mode:1 Active:1) pci 0000:83:00.0: PCI INT B -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 ACPI: PCI Interrupt Link [LE5A] enabled at IRQ 66 IOAPIC[2]: Set routing entry (10-18 -> 0xb9 -> IRQ 66 Mode:1 Active:1) pci 0000:83:00.1: PCI INT A -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 ACPI: PCI Interrupt Link [LE5D] enabled at IRQ 65 IOAPIC[2]: Set routing entry (10-17 -> 0xc1 -> IRQ 65 Mode:1 Active:1) pci 0000:84:00.0: PCI INT B -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 ACPI: PCI Interrupt Link [LE5C] enabled at IRQ 64 IOAPIC[2]: Set routing entry (10-16 -> 0xc9 -> IRQ 64 Mode:1 Active:1) pci 0000:84:00.1: PCI INT A -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:87:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:87:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 pci 0000:88:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:88:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 pci 0000:8b:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:8b:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 pci 0000:8c:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:8c:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 As it can be seen that GSIs now get mapped lineary. [ Impact: simplify irq number mapping on bigger 32-bit systems ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C35C.7060207@kernel.org> Signed-off-by: Ingo Molnar commit fa1285b3d1955c3719413d950224977a900f91f9 Merge: 01f2bd4 9da2927 Author: Takashi Iwai Date: Mon May 11 10:23:36 2009 +0200 Merge branch 'topic/hda-vt-spdif' into topic/hda commit 7bce6c2740fab36708233e998a9e53115649b193 Author: Yoshihiro Shimoda Date: Mon May 11 06:51:28 2009 +0000 sh: sh7785lcr: fix I2C device address map for 32-bit mode This fixes up the broken I2C offset in 32-bit mode. The cause is because the board datasheet had a mistake. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 9934c8c04561413609d2bc38c6b9f268cba774a4 Author: Tejun Heo Date: Fri May 8 11:54:16 2009 +0900 block: implement and enforce request peek/start/fetch Till now block layer allowed two separate modes of request execution. A request is always acquired from the request queue via elv_next_request(). After that, drivers are free to either dequeue it or process it without dequeueing. Dequeue allows elv_next_request() to return the next request so that multiple requests can be in flight. Executing requests without dequeueing has its merits mostly in allowing drivers for simpler devices which can't do sg to deal with segments only without considering request boundary. However, the benefit this brings is dubious and declining while the cost of the API ambiguity is increasing. Segment based drivers are usually for very old or limited devices and as converting to dequeueing model isn't difficult, it doesn't justify the API overhead it puts on block layer and its more modern users. Previous patches converted all block low level drivers to dequeueing model. This patch completes the API transition by... * renaming elv_next_request() to blk_peek_request() * renaming blkdev_dequeue_request() to blk_start_request() * adding blk_fetch_request() which is combination of peek and start * disallowing completion of queued (not started) requests * applying new API to all LLDs Renamings are for consistency and to break out of tree code so that it's apparent that out of tree drivers need updating. [ Impact: block request issue API cleanup, no functional change ] Signed-off-by: Tejun Heo Cc: Rusty Russell Cc: James Bottomley Cc: Mike Miller Cc: unsik Kim Cc: Paul Clements Cc: Tim Waugh Cc: Geert Uytterhoeven Cc: David S. Miller Cc: Laurent Vivier Cc: Jeff Garzik Cc: Jeremy Fitzhardinge Cc: Grant Likely Cc: Adrian McMenamin Cc: Stephen Rothwell Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Alex Dubov Cc: Pierre Ossman Cc: David Woodhouse Cc: Markus Lidel Cc: Stefan Weinhuber Cc: Martin Schwidefsky Cc: Pete Zaitcev Cc: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2343046826a8ca426b07601d9593ee046c298b68 Author: Tejun Heo Date: Fri May 8 11:54:14 2009 +0900 gdrom: dequeue in-flight request gdrom already dequeues and fully completes requests on normal path and the error paths can be easily converted to do so too. Clean it up and dequeue requests on error paths too. While at it remove superflous blk_fs_request() && !blk_rq_sectors() condition check. [ Impact: dequeue in-flight request, cleanup ] Signed-off-by: Tejun Heo Cc: Adrian McMenamin Signed-off-by: Jens Axboe commit 296b2f6ae654581adc27f0d6f0af454c7f3d06ee Author: Tejun Heo Date: Fri May 8 11:54:15 2009 +0900 block: convert to dequeueing model (easy ones) plat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and mmc/card/queue are already pretty close to dequeueing model and can be converted with simple changes. Convert them. While at it, * xen-blkfront: !fs check moved downwards to share dequeue call with normal path. * mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to __blk_end_request_cur() * mmc/card/queue: loop of __blk_end_request() converted to __blk_end_request_all() [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Stephen Rothwell Cc: Alex Dubov Cc: Markus Lidel Cc: Pierre Ossman Signed-off-by: Jens Axboe commit fb3ac7f6b811eac8e0aafa3df1c16ed872e898a8 Author: Tejun Heo Date: Fri May 8 11:54:13 2009 +0900 z2ram: dequeue in-flight request z2ram processes requests one-by-one synchronously and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 6b0bf407b586b6ba8e060ad9979cb2bc3370b7eb Author: Tejun Heo Date: Fri May 8 11:54:12 2009 +0900 jsflash: dequeue in-flight request jsflash processes requests one-by-one synchronously from a kthread and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Pete Zaitcev Signed-off-by: Jens Axboe commit 1498ada7a8e80afe324f2b8d86158925d0096ec9 Author: Tejun Heo Date: Fri May 8 11:54:11 2009 +0900 mtd_blkdevs: dequeue in-flight request mtd_blkdevs processes requests one-by-one synchronously from a kthread and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: David Woodhouse Signed-off-by: Jens Axboe commit bab2a807a489822ded0c9d4a5344c80bcac10b0a Author: Tejun Heo Date: Fri May 8 11:54:10 2009 +0900 xd: dequeue in-flight request xd processes requests one-by-one synchronously and can be easily converted to dequeueing model. Convert it. While at it, use rq_cur_bytes instead of rq_bytes when checking for sector overflow. This is for for consistency and better behavior for merged requests. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 06b0608e2b46465e8e663214e7db982ddb000346 Author: Tejun Heo Date: Fri May 8 11:54:09 2009 +0900 swim: dequeue in-flight request swim processes requests one-by-one synchronously and can easily be converted to dequeuing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 9e31bebee2d8b5f8abe9677f2a29b90cba848657 Author: Tejun Heo Date: Fri May 8 11:54:08 2009 +0900 amiflop: dequeue in-flight request Request processing in amiflop is done sequentially in redo_fd_request() proper and redo_fd_request() can easily be converted to track in-flight request. Remove CURRENT, track in-flight request directly and dequeue it when processing starts. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 10e1e629b386aef97bf66de6ef28d450bec06ee3 Author: Tejun Heo Date: Fri May 8 11:54:07 2009 +0900 ps3disk: dequeue in-flight request Other than in issue error paths, ps3disk always completely finishes fetched requests. With full completion on error paths, it can be easily converted to dequeueing model. * After L1 r/w call failure, ps3disk_submit_request_sg() now fails the whole request. Issue failure isn't likely to benefit from partial retry anyway and ps3disk uses full failure in completion error path too, so I don't think this amounts to any meaningful functionality loss. * flush completion is converted to _all for consistency. It doesn't make any functional difference. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Geert Uytterhoeven Signed-off-by: Jens Axboe commit b12d4f82c1a3cdcb2441c803a3368a9426f2f47f Author: Tejun Heo Date: Fri May 8 11:54:06 2009 +0900 paride: dequeue in-flight request pd/pf/pcd have track in-flight request by pd/pf/pcd_req. They can be converted to dequeueing model by updating fetching and completion paths. Convert them. Note that removal of elv_next_request() call from pf_next_buf() doesn't make any functional difference. The path is traveled only during partial completion of a request and elv_next_request() call must return the same request anyway. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Tim Waugh Signed-off-by: Jens Axboe commit 2d75ce084eec2a8154225c7e978191b364029003 Author: Tejun Heo Date: Fri May 8 11:54:05 2009 +0900 xsysace: dequeue in-flight request xsysace already tracks in-flight request using ace->req. Converting to dequeueing model is mostly a matter of adding dequeueing call after request fetching. The only tricky part is handling CF removal which should complete both in flight and on queue requests. Convert to dequeueing model. While at it, remove explicit blk_rq_cur_bytes() and use __blk_end_request_cur() instead. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Grant Likely Signed-off-by: Jens Axboe commit f4bd4b90bfa86e867111aa182895cb5ac203aa7a Author: Tejun Heo Date: Fri May 8 11:54:04 2009 +0900 swim3: dequeue in-flight request swim3 has at most single request in flight and already tracks it using fd_req. Convert it to dequeuing model by updating request fetching and wrapping completion function. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a336ca6fe6e0c46b2eef0e520951acb4e6cb2976 Author: Tejun Heo Date: Fri May 8 11:54:03 2009 +0900 ataflop: dequeue and track in-flight request ataflop has single request in flight. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes ataflop track the in-flight request directly and dequeue it when processing starts. The added complexity is minimal and this will help future block layer changes. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8a12c4a456c7ee261a85c2cbec835601e6aae05a Author: Tejun Heo Date: Fri May 8 11:54:02 2009 +0900 hd: dequeue and track in-flight request hd has at most single request in flight. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes hd track the in-flight request directly and dequeue it when processing starts. The added complexity is minimal and this will help future block layer changes. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 5b36ad6000ddea390aca3c3b67ead7616ace2ffc Author: Tejun Heo Date: Fri May 8 11:54:01 2009 +0900 mg_disk: dequeue and track in-flight request mg_disk has at most single request in flight per device. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes mg_disk track the in-flight request directly using mg_host->req and dequeue it when processing starts. q->queuedata is set to mg_host so that mg_host can be determined without fetching request from the queue. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit 9a8d23d8855e554fc5887f14cb008b55c4300ccc Author: Tejun Heo Date: Fri May 8 11:54:00 2009 +0900 mg_disk: fix queue hang / infinite retry on !fs requests Both request functions in mg_disk simply return when they encounter a !fs request, which means the request will never be cleared from the queue causing queue hang and indefinite retry of the request. Fix it. While at it, flatten condition checks and add unlikely to !fs tests. [ Impact: fix possible queue hang / infinite retry of !fs requests ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit 8f6205cd572fece673da0255d74843680f67f879 Author: Tejun Heo Date: Fri May 8 11:53:59 2009 +0900 ide: dequeue in-flight request ide generally has single request in flight and tracks it using hwif->rq and all state handlers follow the following convention. * ide_started is returned if the request is in flight. * ide_stopped is returned if the queue needs to be restarted. The request might or might not have been processed fully or partially. * hwif->rq is set to NULL, when an issued request completes. So, dequeueing model can be implemented by dequeueing after fetch, requeueing if hwif->rq isn't NULL on ide_stopped return and doing about the same thing on completion / port unlock paths. These changes can be made in ide-io proper. In addition to the above main changes, the following updates are necessary. * ide-cd shouldn't dequeue a request when issuing REQUEST SENSE for it as the request is already dequeued. * ide-atapi uses request queue as stack when issuing REQUEST SENSE to put the REQUEST SENSE in front of the failed request. This now needs to be done using requeueing. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit 1011c1b9f2e45ce7c6e38888d2b83936aec38771 Author: Tejun Heo Date: Thu May 7 22:24:45 2009 +0900 block: blk_rq_[cur_]_{sectors|bytes}() usage cleanup With the previous changes, the followings are now guaranteed for all requests in any valid state. * blk_rq_sectors() == blk_rq_bytes() >> 9 * blk_rq_cur_sectors() == blk_rq_cur_bytes() >> 9 Clean up accessor usages. Notable changes are * nbd,i2o_block: end_all used instead of explicit byte count * scsi_lib: unnecessary conditional on request type removed [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Paul Clements Cc: Pete Zaitcev Cc: Alex Dubov Cc: Markus Lidel Cc: David Woodhouse Cc: James Bottomley Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit a2dec7b36364a5cc564c4d76cf16d2e7d33f5c05 Author: Tejun Heo Date: Thu May 7 22:24:44 2009 +0900 block: hide request sector and data_len Block low level drivers for some reason have been pretty good at abusing block layer API. Especially struct request's fields tend to get violated in all possible ways. Make it clear that low level drivers MUST NOT access or manipulate rq->sector and rq->data_len directly by prefixing them with double underscores. This change is also necessary to break build of out-of-tree codes which assume the previous block API where internal fields can be manipulated and rq->data_len carries residual count on completion. [ Impact: hide internal fields, block API change ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 34b7d2c957199834c474c9d46739265643f4d9c7 Author: Tejun Heo Date: Thu May 7 22:24:43 2009 +0900 ide: cleanup rq->data_len usages With recent unification of fields, it's now guaranteed that rq->data_len always equals blk_rq_bytes(). Convert all direct users to accessors. [ Impact: convert direct rq->data_len usages to blk_rq_bytes() ] Signed-off-by: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit b0790410300abaaf4f25f702803beff701baebf1 Author: Tejun Heo Date: Thu May 7 22:24:42 2009 +0900 block: cleanup rq->data_len usages With recent unification of fields, it's now guaranteed that rq->data_len always equals blk_rq_bytes(). Convert all non-IDE direct users to accessors. IDE will be converted in a separate patch. Boaz: spotted incorrect data_len/resid_len conversion in osd. [ Impact: convert direct rq->data_len usages to blk_rq_bytes() ] Signed-off-by: Tejun Heo Acked-by: Sergei Shtylyov Cc: Pete Zaitcev Cc: Eric Moore Cc: Markus Lidel Cc: Darrick J. Wong Cc: James Bottomley Cc: Eric Moore Cc: Boaz Harrosh Cc: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab Author: Tejun Heo Date: Thu May 7 22:24:41 2009 +0900 block: drop request->hard_* and *nr_sectors struct request has had a few different ways to represent some properties of a request. ->hard_* represent block layer's view of the request progress (completion cursor) and the ones without the prefix are supposed to represent the issue cursor and allowed to be updated as necessary by the low level drivers. The thing is that as block layer supports partial completion, the two cursors really aren't necessary and only cause confusion. In addition, manual management of request detail from low level drivers is cumbersome and error-prone at the very least. Another interesting duplicate fields are rq->[hard_]nr_sectors and rq->{hard_cur|current}_nr_sectors against rq->data_len and rq->bio->bi_size. This is more convoluted than the hard_ case. rq->[hard_]nr_sectors are initialized for requests with bio but blk_rq_bytes() uses it only for !pc requests. rq->data_len is initialized for all request but blk_rq_bytes() uses it only for pc requests. This causes good amount of confusion throughout block layer and its drivers and determining the request length has been a bit of black magic which may or may not work depending on circumstances and what the specific LLD is actually doing. rq->{hard_cur|current}_nr_sectors represent the number of sectors in the contiguous data area at the front. This is mainly used by drivers which transfers data by walking request segment-by-segment. This value always equals rq->bio->bi_size >> 9. However, data length for pc requests may not be multiple of 512 bytes and using this field becomes a bit confusing. In general, having multiple fields to represent the same property leads only to confusion and subtle bugs. With recent block low level driver cleanups, no driver is accessing or manipulating these duplicate fields directly. Drop all the duplicates. Now rq->sector means the current sector, rq->data_len the current total length and rq->bio->bi_size the current segment length. Everything else is defined in terms of these three and available only through accessors. * blk_recalc_rq_sectors() is collapsed into blk_update_request() and now handles pc and fs requests equally other than rq->sector update. This means that now pc requests can use partial completion too (no in-kernel user yet tho). * bio_cur_sectors() is replaced with bio_cur_bytes() as block layer now uses byte count as the primary data length. * blk_rq_pos() is now guranteed to be always correct. In-block users converted. * blk_rq_bytes() is now guaranteed to be always valid as is blk_rq_sectors(). In-block users converted. * blk_rq_sectors() is now guaranteed to equal blk_rq_bytes() >> 9. More convenient one is used. * blk_rq_bytes() and blk_rq_cur_bytes() are now inlined and take const pointer to request. [ Impact: API cleanup, single way to represent one property of a request ] Signed-off-by: Tejun Heo Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 9780e2dd8254351f6cbe11304849126b51dbd561 Author: Tejun Heo Date: Thu May 7 22:24:40 2009 +0900 ide: convert to rq pos and nr_sectors accessors ide doesn't manipulate request fields anymore and thus all hard and their soft equivalents are always equal. Convert all references to accessors. [ Impact: use pos and nr_sectors accessors ] Signed-off-by: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit 83096ebf1263b2c1ee5e653ba37d993d02e3eb7b Author: Tejun Heo Date: Thu May 7 22:24:39 2009 +0900 block: convert to pos and nr_sectors accessors With recent cleanups, there is no place where low level driver directly manipulates request fields. This means that the 'hard' request fields always equal the !hard fields. Convert all rq->sectors, nr_sectors and current_nr_sectors references to accessors. While at it, drop superflous blk_rq_pos() < 0 test in swim.c. [ Impact: use pos and nr_sectors accessors ] Signed-off-by: Tejun Heo Acked-by: Geert Uytterhoeven Tested-by: Grant Likely Acked-by: Grant Likely Tested-by: Adrian McMenamin Acked-by: Adrian McMenamin Acked-by: Mike Miller Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Eric Moore Cc: Alan Stern Cc: FUJITA Tomonori Cc: Pete Zaitcev Cc: Stephen Rothwell Cc: Paul Clements Cc: Tim Waugh Cc: Jeff Garzik Cc: Jeremy Fitzhardinge Cc: Alex Dubov Cc: David Woodhouse Cc: Martin Schwidefsky Cc: Dario Ballabio Cc: David S. Miller Cc: Rusty Russell Cc: unsik Kim Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 5b93629b4509c03ffa87a9316412fedf6f58cb37 Author: Tejun Heo Date: Thu May 7 22:24:38 2009 +0900 block: implement blk_rq_pos/[cur_]sectors() and convert obvious ones Implement accessors - blk_rq_pos(), blk_rq_sectors() and blk_rq_cur_sectors() which return rq->hard_sector, rq->hard_nr_sectors and rq->hard_cur_sectors respectively and convert direct references of the said fields to the accessors. This is in preparation of request data length handling cleanup. Geert : suggested adding const to struct request * parameter to accessors Sergei : spotted error in patch description [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Geert Uytterhoeven Acked-by: Stephen Rothwell Tested-by: Grant Likely Acked-by: Grant Likely Ackec-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: James Bottomley Signed-off-by: Jens Axboe commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f Author: Tejun Heo Date: Thu May 7 22:24:37 2009 +0900 block: add rq->resid_len rq->data_len served two purposes - the length of data buffer on issue and the residual count on completion. This duality creates some headaches. First of all, block layer and low level drivers can't really determine what rq->data_len contains while a request is executing. It could be the total request length or it coulde be anything else one of the lower layers is using to keep track of residual count. This complicates things because blk_rq_bytes() and thus [__]blk_end_request_all() relies on rq->data_len for PC commands. Drivers which want to report residual count should first cache the total request length, update rq->data_len and then complete the request with the cached data length. Secondly, it makes requests default to reporting full residual count, ie. reporting that no data transfer occurred. The residual count is an exception not the norm; however, the driver should clear rq->data_len to zero to signify the normal cases while leaving it alone means no data transfer occurred at all. This reverse default behavior complicates code unnecessarily and renders block PC on some drivers (ide-tape/floppy) unuseable. This patch adds rq->resid_len which is used only for residual count. While at it, remove now unnecessasry blk_rq_bytes() caching in ide_pc_intr() as rq->data_len is not changed anymore. Boaz : spotted missing conversion in osd Sergei : spotted too early conversion to blk_rq_bytes() in ide-tape [ Impact: cleanup residual count handling, report 0 resid by default ] Signed-off-by: Tejun Heo Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Mike Miller Cc: Eric Moore Cc: Alan Stern Cc: FUJITA Tomonori Cc: Doug Gilbert Cc: Mike Miller Cc: Eric Moore Cc: Darrick J. Wong Cc: Pete Zaitcev Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 9720aef2539c10e3a872e9a92beec225030d99db Author: Tejun Heo Date: Thu May 7 22:24:36 2009 +0900 ide-tape: don't initialize rq->sector for rw requests rq->sector is set to the tape->first_frame but it's never actually used and not even in the correct unit (512 byte sectors). Don't set it. [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Borislav Petkov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 53d6979ab6747e758207e8ac861b96d0da0d3332 Author: Tejun Heo Date: Thu May 7 22:24:35 2009 +0900 nbd: don't clear rq->sector and nr_sectors unnecessarily There's no reason to clear rq->sector and nr_sectors after calling blk_rq_init(). They're guaranteed to be clear. Drop unnecessary clearing. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Paul Clements Signed-off-by: Jens Axboe commit 7a309490da98981558a07183786201f02a6341e2 Merge: 9a8709d 091bf76 Author: Ingo Molnar Date: Mon May 11 09:33:06 2009 +0200 Merge commit 'v2.6.30-rc5' into x86/apic Merge reason: this branch was on a .30-rc2 base - sync it up with all the latest fixes. Signed-off-by: Ingo Molnar commit 5d423ccd7ba4285f1084e91b26805e1d0ae978ed Author: Yinghai Lu Date: Wed May 6 08:07:52 2009 -0700 x86/pci: remove rounding quirk from e820_setup_gap() Now that the e820 code explicitly reserves 'potentially dangerous' free physical memory address space to protect ACPI stolen RAM, there's no need for the rounding quirk in the PCI allocator anymore. Also, this quirk was open-ended iteration that could end up reserving a lot of free space and potentially breaking drivers - such as the one reported by Yannick Roehlly where there's a PCI device with a large memory resource. So remove it. [ Impact: make more of the PCI hole available for assigning pci devices ] Reported-by: Yannick Roehlly Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Ivan Kokshaysky Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4A01A7C8.5090701@kernel.org> Signed-off-by: Ingo Molnar commit 45fbe3ee01b8e463b28c2751b5dcc0cbdc142d90 Author: Linus Torvalds Date: Wed May 6 08:06:44 2009 -0700 x86, e820, pci: reserve extra free space near end of RAM The point is to take all RAM resources we have, and _after_ we've added all the resources we've seen in the E820 tree, we then _also_ try to add fake reserved entries for any "round up to X" at the end of the RAM resources. [ Impact: improve PCI mem-resource allocation robustness, protect "stolen RAM" ] Reported-by: Yannick Roehlly Acked-by: Jesse Barnes Signed-off-by: Yinghai Lu Cc: Ivan Kokshaysky Cc: Andrew Morton Cc: yannick.roehlly@free.fr LKML-Reference: <4A01A784.2050407@kernel.org> Signed-off-by: Ingo Molnar commit 134cbf35c739bf89c51fd975a33a6b87507482c4 Merge: 2feceef 091bf76 Author: Ingo Molnar Date: Mon May 11 09:33:06 2009 +0200 Merge commit 'v2.6.30-rc5' into x86/mm Merge reason: this branch was on a .30-rc2 base - sync it up with all the latest fixes. Signed-off-by: Ingo Molnar commit 3d5cb60ef3042ac479dab82e5a945966a0d54d53 Author: Thadeu Lima de Souza Cascardo Date: Sat May 9 16:08:04 2009 -0700 Input: simplify name handling for certain input handles For evdev, joydev and mousedev, instead of having a separate character array holding name of the handle, use struct devce's name which is the same. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov commit 7303f240981888884412a97ac742772527356880 Author: Wu Fengguang Date: Mon May 11 09:59:34 2009 +0300 slob: use PG_slab for identifying SLOB pages For the sake of consistency. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Acked-by: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Pekka Enberg commit 01f2bd48d08c6bbde12d86b66c760612e33e49a9 Author: Takashi Iwai Date: Mon May 11 08:12:43 2009 +0200 ALSA: hda - Add missing models for Realtek codecs Added the missing descriptions and the model names for Realtek codecs to the documentation and the config table. Signed-off-by: Takashi Iwai commit 780f98ff1fa9cfcab177f6b5ab09b11321f1e5c8 Author: Paul Mundt Date: Mon May 11 12:15:14 2009 +0900 sh: Account for INITIAL_JIFFIES when using jiffies clocksource. In the case where we fall back on the generic jiffies clocksource, INITIAL_JIFFIES needs to be accounted for so that printk times aren't completely skewed. Signed-off-by: Paul Mundt commit d9d674e50007362567edb5df65c05dd56a5964bf Author: Paul Mundt Date: Mon May 11 12:12:38 2009 +0900 sh: Fix up typo in arch/sh/kernel/vmlinux.lds.S .init_ramfs ought to be .init.ramfs, fix it up. Signed-off-by: Paul Mundt commit 107db7c7dd137aeb7361b8c2606ac936c0be58ff Author: David Howells Date: Fri May 8 13:55:27 2009 +0100 CRED: Guard the setprocattr security hook against ptrace Guard the setprocattr security hook against ptrace by taking the target task's cred_guard_mutex around it. The problem is that setprocattr() may otherwise note the lack of a debugger, and then perform an action on that basis whilst letting a debugger attach between the two points. Holding cred_guard_mutex across the test and the action prevents ptrace_attach() from doing that. Signed-off-by: David Howells Signed-off-by: James Morris commit 5e751e992f3fb08ba35e1ca8095ec8fbf9eda523 Author: David Howells Date: Fri May 8 13:55:22 2009 +0100 CRED: Rename cred_exec_mutex to reflect that it's a guard against ptrace Rename cred_exec_mutex to reflect that it's a guard against foreign intervention on a process's credential state, such as is made by ptrace(). The attachment of a debugger to a process affects execve()'s calculation of the new credential state - _and_ also setprocattr()'s calculation of that state. Signed-off-by: David Howells Signed-off-by: James Morris commit 82afae6016b672acb90ceb8e773bba0bd977d2a3 Author: Erdem Aktas Date: Sun May 10 02:13:19 2009 -0400 perf_counter tools: fix buffer overwrite problem for perf top command There is a buffer overwrite problem in builtin-top.c line 526, When I tried to use ./perf top command, it was giving memory corruption problem. [ Impact: fix 'perf top' crash ] LKML-Reference: <3fee128b0905092313x608e65e0l7b1116d86914114f@mail.gmail.com> Signed-off-by: Ingo Molnar commit 980c9e8ceeb69ac4c921173d0d06323f5c678647 Author: David Woodhouse Date: Sat May 9 22:54:21 2009 -0700 tun: add tun_flags, owner, group attributes in sysfs This patch adds three attribute files in /sys/class/net/$dev/ for tun devices; allowing userspace to obtain the information which TUNGETIFF offers, and more, but without having to attach to the device in question (which may not be possible if it's in use). It also fixes a bug which has been present in the TUNGETIFF ioctl since its inception, where it would never set IFF_TUN or IFF_TAP according to the device type. (Look carefully at the code which I remove from tun_get_iff() and how the new tun_flags() helper is subtly different). Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 567bb8fd47624cb9f894c64ce9530d43d5862a71 Author: Paul Mundt Date: Sun May 10 14:25:39 2009 +0900 sh: Fix up R0 dependence in __arch_swab16/32. There is nothing in these routines that inherently depends on R0 use. Given that these routines are inlined, it is rather easy to blow up the compiler by exhausting the spill class when performing a 64-bit swab. This presently manifests itself as the following: CC fs/ocfs2/suballoc.o fs/ocfs2/suballoc.c: In function 'ocfs2_reserve_suballoc_bits': fs/ocfs2/suballoc.c:638: error: unrecognizable insn: (insn 2793 1230 1231 103 arch/sh/include/asm/swab.h:33 (set (reg:HI 853) (subreg:HI (reg:SI 149 macl) 2)) -1 (expr_list:REG_DEAD (reg:SI 149 macl) (nil))) fs/ocfs2/suballoc.c:638: internal compiler error: in extract_insn, at recog.c:1991 This patch switches over to using an arbitrarily assigned register instead. While the same issue does not exist in the SH-5 case, there is likewise no harm in having an alternate register used for the byterev/shari pair. Signed-off-by: Paul Mundt commit 7e044e056a6aa0dc695db50461d7b326fde15e8b Author: Dmitry Torokhov Date: Sat May 9 16:08:05 2009 -0700 Input: serio - do not use deprecated dev.power.power_state Signed-off-by: Dmitry Torokhov commit ed9b58bc443a1210b5be1ded6421b17e015bf985 Author: Richard Genoud Date: Sat May 9 06:59:16 2009 +0000 Remove duplicate slow protocol define in bond_3ad.h ETH_P_SLOW is already defined in include/linux/if_ether.h. There's no need to define BOND_ETH_P_LACPDU in drivers/net/bonding/bond_3ad.h Signed-off-by: Richard Genoud Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit ab9c73ccb52f40576ce017528d542eda3c6ae766 Author: Jiri Pirko Date: Fri May 8 13:30:17 2009 +0000 net: check retval of dev_addr_init() Add missed checking of dev_addr_init return value in alloc_netdev_mq. Signed-off-by: Jiri Pirko net/core/dev.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) Signed-off-by: David S. Miller commit 9948bb6a6db6ad6a8bf2ccaaceb780404f1f43df Author: Steven Whitehouse Date: Fri May 8 06:30:25 2009 +0000 decnet: Use data ready call back, rather than hand coding it Signed-off-by: Steven Whitehouse Signed-off-by: David S. Miller commit 23b6cc425d718fce2501d5f60e368cfa44ef7d86 Author: Dhananjay Phadke Date: Fri May 8 22:02:30 2009 +0000 netxen: trivial register access cleanup Remove unnecessary length parameter since it's always 4 bytes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit b0b3a75b36afe3b1ed2c12b8817b6326db8ed003 Author: Dhananjay Phadke Date: Fri May 8 22:02:29 2009 +0000 netxen: disable msi-x for NC512m adapter This board doesn't suppot msi-x well due to msi-x table mapping (hardware) issue. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit be339aee634d5cb98a8df8d6febe04002ec497f3 Author: Dhananjay Phadke Date: Fri May 8 22:02:28 2009 +0000 netxen: fix irq tear down and msix leak. o Fix the order of irq and hardware context teardown. Also synchronize the interrupt in dev close() before releasing tx buffers. o Fix possible msi-x vector leak if available vectors are less than requested. o Request multiple msix vectors only if hardware supports multiple rx queues. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7a2469ce4d8984722d65628969ad6f8b09da136f Author: Dhananjay Phadke Date: Fri May 8 22:02:27 2009 +0000 netxen: cache msi register offset Store msi target status register offset in adapter struct. This avoids contention on msi_tgt_status table from interrupt hadlers of different pci function. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 457daa2b66e07bbd2280b9f8d2b03e800f357243 Author: Paul Mundt Date: Sun May 10 01:28:01 2009 +0900 sh: Hook up cc-cross-prefix support. This implements a simple case that just iterates through the common cases, looking at UTS_MACHINE for hints. Signed-off-by: Paul Mundt commit b412a49af970e703124fa3259bf24165c0c74024 Author: Paul Mundt Date: Sun May 10 01:23:25 2009 +0900 sh: Consolidate the boot link and entry offset definitions. Consolidate these in a single place in the Kconfig menus. At the same time, disable their interactivity and set them according to the board config defaults. Signed-off-by: Paul Mundt commit 1eca133cc9f978a8c44788fc5b2fe54219f9425c Author: Paul Mundt Date: Sun May 10 00:58:21 2009 +0900 sh: Merge the split arch/sh/boot/compressed/ Makefiles. This kills off the _64 variant and moves the _32 one over as the generic one to use. Signed-off-by: Paul Mundt commit b20883562455060272126c36563a7d8edafc30d3 Author: Paul Mundt Date: Sun May 10 00:55:45 2009 +0900 sh: Provide a BITS definition, use it in the arch/sh/boot/ Makefiles. This introduces a BITS export that can handily be picked up by Makefiles for cleaner sharing. Reflect its use in arch/sh/boot/compressed/ in preparation for unifying the Makefiles. Signed-off-by: Paul Mundt commit a2e76c80d93ec3c59a030b6ca37b9087033565c1 Author: Paul Mundt Date: Sun May 10 00:54:39 2009 +0900 sh: Provide a tighter BOOT_LINK_OFFSET definition for the Cayman board. Signed-off-by: Paul Mundt commit 20b27fa33743c6ef77a1248421fab51e8bf21a25 Author: Paul Mundt Date: Sun May 10 00:36:22 2009 +0900 sh: Fix up the sh64 zImage build. Signed-off-by: Paul Mundt commit 151ab22cf71b7a1b9dd696d65a1a41e13d90cd00 Author: Mark Brown Date: Sat May 9 16:22:58 2009 +0100 ASoC: Fix up CODEC DAI formats for big endian CPUs ASoC uses the standard ALSA data format definitions to specify the wire format used between the CPU and CODEC. Since the ALSA data formats all include the endianess of the data but this information is not relevant by the time the data has been encoded onto the serial link to the CODEC this means that either all the CODEC drivers need to declare both big and little endian variants or the core needs to fix up the format constraints specified by CODEC drivers. For now take the latter approach - this will need to be revisited if any CODECs are endianness dependant. Signed-off-by: Mark Brown commit 7b022d07a0fd2ce02d4456b732c674ff1d16f5ce Author: Paul Mundt Date: Sun May 10 00:25:08 2009 +0900 sh: Tidy up the ldscript output format specifier. Tie this in to the Makefile directly, where we already know what we are running on. This tidies up the linker script a bit, and is prep work for unifying the arch/sh/boot/compressed linker scripts. Signed-off-by: Paul Mundt commit dce97c8cb2ad365fa87dc6924d99528c21c63912 Author: Paul Mundt Date: Sat May 9 23:36:10 2009 +0900 sh: Move the unified linker script in place, kill off old _64 one. Just forcefully rename the _32 variant overtop, and kill off the now unused _64 version. Signed-off-by: Paul Mundt commit c3e2586b794b12ffcdf69b4e547030b51e18e6d9 Author: Paul Mundt Date: Sat May 9 23:33:02 2009 +0900 sh: Integrate sh64 bits in vmlinux_32.lds.S. This adds all of the requisite bits from vmlinux_64.lds.S in to the _32 variant, resulting in a unified and generic linker script that can be shared across both. Signed-off-by: Paul Mundt commit 7cd0378ef4c0d7b05e7dcb1daa115b841ffdc31a Author: Paul Mundt Date: Sat May 9 18:03:37 2009 +0900 sh: Fix up SHmedia module ELF relocations. This fixes up the LSB setting for SHmedia branching in updated symbols when processing module relocations. Signed-off-by: Paul Mundt commit 1031a3a57ed76f5cb8754a89ddb22f3d9ebe8861 Author: Paul Mundt Date: Sat May 9 17:57:21 2009 +0900 sh: Provide an __sdivsi3_2 export for sh64. Newer code paths that are heavier in 64-bit math manage to get this generated by newer compilers, provide a definition and export accordingly. This is trivially wrapped around the existing __sdivsi3 code. Signed-off-by: Paul Mundt commit f15b18d0755b3ee4b29991fc2fde535ee41df53c Author: Ingo Molnar Date: Sat May 9 10:04:22 2009 +0200 perf_counter tools: remove debug code from builtin-stat.c Signed-off-by: Ingo Molnar commit 2bcfffa42309b6f73042c62459bf5207762a271d Author: Paul Mundt Date: Sat May 9 16:02:08 2009 +0900 sh: Rename opcode_t to insn_size_t. This is now clashing with a driver, so just rename it. Signed-off-by: Paul Mundt commit 6dbe47a170f80159f23c856ad4e02f2685c6f6cb Author: Paul Mundt Date: Sat May 9 14:44:30 2009 +0900 sh: Provide __read_{read,write}sl() definitions for sh64. These are presently only defined for sh32, use the plain unoptimized versions for sh64. Fixes up smsc911x build. Signed-off-by: Paul Mundt commit 2fedaacdc07e053d93e0607047a96d282f62aca2 Author: Paul Mundt Date: Sat May 9 14:38:49 2009 +0900 sh: Cleanup irqflags size mismatch on SH-5 build. Signed-off-by: Paul Mundt commit e9e8b1fb995543c4cc3930f465923a552b2e48b7 Author: Paul Mundt Date: Sat May 9 14:31:37 2009 +0900 sh: Fix up the sh64 earlyprintk build. sci_rxd_in() on SH-5 wants to be using SCSPTR, not SCSPTR2. Signed-off-by: Paul Mundt commit b30505c81a9d4adea8b70ecff512b0216929b797 Author: Darren Hart Date: Thu May 7 15:40:14 2009 -0700 futex: add requeue-pi documentation Add Documentation/futex-requeue-pi.txt describing the motivation for the newly added FUTEX_*REQUEUE_PI op codes and their implementation. [ Impact: add documentation ] Signed-off-by: Darren Hart Cc: Sripathi Kodi Cc: Peter Zijlstra Cc: John Stultz Cc: Steven Rostedt Cc: Dinakar Guniguntala Cc: Ulrich Drepper Cc: Eric Dumazet Cc: Jakub Jelinek LKML-Reference: <4A03634E.3080609@us.ibm.com> [ reformatted the file ] Signed-off-by: Ingo Molnar commit 778dedae0cb76a441145f3a0c5d59fcb3ba296d5 Author: Huang Weiyi Date: Sat May 9 12:54:34 2009 +0800 x86: mce: remove duplicated #include Remove duplicated #include in arch/x86/kernel/cpu/mcheck/mce_intel_64.c. [ Impact: cleanup ] Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 6f660f12d703fa23069317f0a64c6b75d08c15c2 Author: Ping Cheng Date: Fri May 8 18:30:33 2009 -0700 Input: wacom - add support for Intuos4 tablets Signed-oof-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 9b771ac442a640999247314e8cdafd8943611700 Author: Dmitry Torokhov Date: Fri May 8 18:30:32 2009 -0700 Input: lifebook - don't send incomplete events When we get a relative packet from trackpoint (when we deal with touchscreen/trackpoint combo) we should not send events for the device corresponding to touchscreen as it confuses evtouch driver (it looks like it keeps previously reported absolute coordinates and the cursor stays in the same place). Reported-by: Marcin Drewka Signed-off-by: Dmitry Torokhov commit af27a69aaba2feaeb0b9eebdde2f0b71350c4789 Author: Dmitry Torokhov Date: Fri May 8 18:30:33 2009 -0700 Input: ALPS - Dell Latitude D630/D800 have DualPoint Dell Latitude D630/D800 have DualPoint (touchpad plus trackpoint) instead of a simple touchpad and a pass-through port for external PS/2 mouse. Signed-off-by: Dmitry Torokhov commit d585a021c0b10b0477d6b608c53e1feb8cde0507 Merge: 84e5b0d 091bf76 Author: Dmitry Torokhov Date: Fri May 8 18:29:27 2009 -0700 Merge commit 'v2.6.30-rc5' into next commit 02a884c0fe7ec8459d00d34b7d4101af21fc4a86 Author: H. Peter Anvin Date: Fri May 8 17:42:16 2009 -0700 x86, boot: determine compressed code offset at compile time Determine the compressed code offset (from the kernel runtime address) at compile time. This allows some minor optimizations in arch/x86/boot/compressed/head_*.S, but more importantly it makes this value available to the build process, which will enable a future patch to export the necessary linear memory footprint into the bzImage header. [ Impact: cleanup, future patch enabling ] Signed-off-by: H. Peter Anvin commit 36d3793c947f1ef7ba3d24eeeddc1be41adc5ab4 Author: H. Peter Anvin Date: Fri May 8 16:45:15 2009 -0700 x86, boot: use appropriate rep string for move and clear In the pre-decompression code, use the appropriate largest possible rep movs and rep stos to move code and clear bss, respectively. For reverse copy, do note that the initial values are supposed to be the address of the first (highest) copy datum, not one byte beyond the end of the buffer. rep strings are not necessarily the fastest way to perform these operations on all current processors, but are likely to be in the future, and perhaps more importantly, we want to encourage the architecturally right thing to do here. This also fixes a couple of trivial inefficiencies on 64 bits. [ Impact: trivial performance enhancement, increase code similarity ] Signed-off-by: H. Peter Anvin commit 97541912785369925723b6255438ad9fce2ddf04 Author: H. Peter Anvin Date: Wed May 6 17:56:51 2009 -0700 x86, boot: zero EFLAGS on 32 bits The 64-bit code already clears EFLAGS as soon as it has a stack. This seems like a reasonable precaution, so do it on 32 bits as well. [ Impact: extra paranoia ] Signed-off-by: H. Peter Anvin commit 0a137736704ef9af719409933b3c33e138461786 Author: H. Peter Anvin Date: Fri May 8 16:27:41 2009 -0700 x86, boot: set up the decompression stack as early as possible Set up the decompression stack as soon as we know where it needs to go. That way we have a full-service stack as soon as possible, rather than relying on the BP_scratch field. Note that the stack does need to be empty during bss zeroing (or else the stack needs to be moved out of the bss segment, which is also an option.) [ Impact: cleanup, minor paranoia ] Signed-off-by: H. Peter Anvin commit 5b11f1cee5797b38d16b94d8745b12b6727a8373 Author: H. Peter Anvin Date: Fri May 8 16:20:34 2009 -0700 x86, boot: straighten out ranges to copy/zero in compressed/head*.S Both on 32 and 64 bits, we copy all the way up to the end of bss, except that on 64 bits there is a hack to avoid copying on top of the page tables. There is no point in copying bss at all, especially since we are just about to zero it all anyway. To clean up and unify the handling, we now do: - copy from startup_32 to _bss. - zero from _bss to _ebss. - the _ebss symbol is aligned to an 8-byte boundary. - the page tables are moved to a separate section. Use _bss as the copy endpoint since _edata may be misaligned. [ Impact: cleanup, trivial performance improvement ] Signed-off-by: H. Peter Anvin commit b40d68d5b5b799caaf99d2e073e62962e6d917ce Author: H. Peter Anvin Date: Fri May 8 15:59:13 2009 -0700 x86, boot: stylistic cleanups for boot/compressed/head_64.S Clean up style issues in arch/x86/boot/compressed/head_64.S. This file had a lot fewer style issues than its 32-bit cousin, but the ones it has are worth fixing, especially since it makes the two files more similar. [ Impact: cleanup, no object code change ] Signed-off-by: H. Peter Anvin commit 5f64ec64e7f9b246c0a94f34cdf7782f98a6e55d Author: H. Peter Anvin Date: Fri May 8 15:45:17 2009 -0700 x86, boot: stylistic cleanups for boot/compressed/head_32.S Reformat arch/x86/boot/compressed/head_32.S to be closer to currently preferred kernel assembly style, that is: - opcode and operand separated by tab - operands separated by ", " - C-style comments This also makes it more similar to head_64.S. [ Impact: cleanup, no object code change ] Signed-off-by: H. Peter Anvin commit bd2a36984c50bb546a7d04cb395fddcf98a1092c Author: H. Peter Anvin Date: Tue May 5 23:24:50 2009 -0700 x86, boot: use BP_scratch in arch/x86/boot/compressed/head_*.S Use the BP_scratch symbol from asm-offsets.h instead of hard-coding the location. [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit 283ab1c0bd462dd0b179393fb081a626f6687413 Author: H. Peter Anvin Date: Fri May 8 15:32:47 2009 -0700 x86, boot: follow standard Kbuild style for compression suffix When generating the compression suffix in arch/x86/boot/compressed/Makefile, follow standard Kbuild conventions, that is: - Use a dash not underscore before y/m/n endings - Use := whenever possible. Requested-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 5f11e02019ef44f041e6e38a1363fa2fd4b8785d Author: H. Peter Anvin Date: Tue May 5 22:53:11 2009 -0700 x86, boot: simplify arch/x86/boot/compressed/Makefile Simplify the arch/x86/boot/compressed/Makefile, by using the new capability of specifying multiple inputs to a compressor, and the CONFIG_X86_NEED_RELOCS Kconfig symbol. Signed-off-by: H. Peter Anvin Acked-by: Sam Ravnborg commit 845adf7266a7ba6970bf982ffd96abc60d2018ab Author: H. Peter Anvin Date: Tue May 5 21:20:51 2009 -0700 x86: add a Kconfig symbol for when relocations are needed We only need to build relocations when we are building a 32-bit relocatable kernel. Rather than unnecessarily complicating the Makefiles, make an explicit Kbuild symbol for this. [ Impact: permits future cleanup ] Signed-off-by: H. Peter Anvin Cc: Sam Ravnborg commit d3dd3b5a29bb9582957451531fed461628dfc834 Author: H. Peter Anvin Date: Tue May 5 21:17:15 2009 -0700 kbuild: allow compressors (gzip, bzip2, lzma) to take multiple inputs Allow the compression commands in Kbuild (i.e. gzip, bzip2, lzma) to take multiple input files and emit the concatenated compressed output. This avoids an intermediate step when a kernel image is built from multiple components, such as the relocatable x86-32 kernel. Sam Ravnborg integrated the bin_size script into the Makefile. [ Impact: new build feature, not yet used ] Signed-off-by: H. Peter Anvin Acked-by: Sam Ravnborg commit 0b4eb462da10f832b28d518abffa4d77805928a0 Author: H. Peter Anvin Date: Thu Apr 30 17:59:36 2009 -0700 x86, boot: align the .bss section in the decompressor Aligning the .bss section makes it trivial to use large operation sizes for moving the initialized sections and clearing the .bss. The alignment chosen (L1 cache) is somewhat arbitrary, but should be large enough to avoid all known performance traps and small enough to not cause troubles. [ Impact: trivial performance enhancement, future patch prep ] Signed-off-by: H. Peter Anvin commit a789ed5fb6d0256c4177c2cc27e06520ddbe4d4c Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:26:50 2009 -0700 xen: cache cr0 value to avoid trap'n'emulate for read_cr0 stts() is implemented in terms of read_cr0/write_cr0 to update the state of the TS bit. This happens during context switch, and so is fairly performance critical. Rather than falling back to a trap-and-emulate native read_cr0, implement our own by caching the last-written value from write_cr0 (the TS bit is the only one we really care about). Impact: optimise Xen context switches Signed-off-by: Jeremy Fitzhardinge commit b80119bb35a49a4e8dbfb9708872adfd5cf38dee Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:22:08 2009 -0700 xen/x86-64: clean up warnings about IST-using traps Ignore known IST-using traps. Aside from the debugger traps, they're low-level faults which Xen will handle for us, so the kernel needn't worry about them. Keep warning in case unknown trap starts using IST. Impact: suppress spurious warnings Signed-off-by: Jeremy Fitzhardinge commit 6cac5a924668a56c7ccefc345805f1fe0536a90e Author: Jeremy Fitzhardinge Date: Sun Mar 29 19:56:29 2009 -0700 xen/x86-64: fix breakpoints and hardware watchpoints Native x86-64 uses the IST mechanism to run int3 and debug traps on an alternative stack. Xen does not do this, and so the frames were being misinterpreted by the ptrace code. This change special-cases these two exceptions by using Xen variants which run on the normal kernel stack properly. Impact: avoid crash or bad data when IST trap is invoked under Xen Signed-off-by: Jeremy Fitzhardinge commit 61de71c67caec39df0a854a1ef5be0c6be385c2a Author: John Dykstra Date: Fri May 8 14:57:01 2009 -0700 Network Drop Monitor: Fix skb_kill_datagram Commit ead2ceb0ec9f85cff19c43b5cdb2f8a054484431 ("Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs") established new conventions for identifying dropped packets. Align skb_kill_datagram() with these conventions so that packets that get dropped just before the copy to userspace are properly tracked. Signed-off-by: John Dykstra Acked-by: Neil Horman Signed-off-by: David S. Miller commit 17cb4006bc40eea949f62adbbad99d8b980c0678 Author: Stanislaw Gruszka Date: Tue May 5 23:22:12 2009 +0000 bnx2x: do not return negative number of received packages Signed-off-by: Stanislaw Gruszka Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit dd21ca6de703230785b755c8290365fc1640200e Author: Stanislaw Gruszka Date: Tue May 5 23:22:01 2009 +0000 bnx2x: free workqueue when driver fail to register Signed-off-by: Stanislaw Gruszka Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4671c79408a3f8a5a6a45e39c4c164dada3a5678 Author: Steven Rostedt Date: Fri May 8 16:27:41 2009 -0400 tracing: add trace_set_clr_event to export event enabling function Other parts of the kernel may need to be able to enable or disable specific events. Especially parts that create trace events. [ Impact: allow enabling of trace events by those that create the event ] Signed-off-by: Steven Rostedt commit 29f93943d1916d1a3faa3f10f4a06994347ac990 Author: Steven Rostedt Date: Fri May 8 16:06:47 2009 -0400 tracing: initialize return value for __ftrace_set_clr_event Commit 8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2 tracing/events: clean up for ftrace_set_clr_event() Moved out the code for ftrace_set_clr_event into a helper funciton but did not initialize the return value. As a result, we do not warn about a typo in the echoing of events in set_event. This patch restores the old warning: # echo foobar > set_event -bash: echo: write error: Invalid argument [ Impact: restore warning of invalid entries to set_event ] Signed-off-by: Steven Rostedt commit a8679be2073392cf22a910bc25da0c7d36459845 Merge: 22f6dac 9dfd6ba Author: David S. Miller Date: Fri May 8 12:46:17 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit f370e1e2f195ec1e6420e26fc83e0319595db578 Author: Peter Zijlstra Date: Fri May 8 18:52:24 2009 +0200 perf_counter: add PERF_RECORD_CPU Allow recording the CPU number the event was generated on. RFC: this leaves a u32 as reserved, should we fill in the node_id() there, or leave this open for future extention, as userspace can already easily do the cpu->node mapping if needed. [ Impact: extend perfcounter output record format ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170029.008627711@chello.nl> Signed-off-by: Ingo Molnar commit a85f61abe11a46553c4562e74edb27ebc782aeb7 Author: Peter Zijlstra Date: Fri May 8 18:52:23 2009 +0200 perf_counter: add PERF_RECORD_CONFIG Much like CONFIG_RECORD_GROUP records the hw_event.config to identify the values, allow to record this for all counters. [ Impact: extend perfcounter output record format ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170028.923228280@chello.nl> Signed-off-by: Ingo Molnar commit 3df5edad87a998273aa5a9a8c728c05d855ad00e Author: Peter Zijlstra Date: Fri May 8 18:52:22 2009 +0200 perf_counter: rework ioctl()s Corey noticed that ioctl()s on grouped counters didn't work on the whole group. This extends the ioctl() interface to take a second argument that is interpreted as a flags field. We then provide PERF_IOC_FLAG_GROUP to toggle the behaviour. Having this flag gives the greatest flexibility, allowing you to individually enable/disable/reset counters in a group, or all together. [ Impact: fix group counter enable/disable semantics ] Reported-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090508170028.837558214@chello.nl> Signed-off-by: Ingo Molnar commit 7fc23a5380797012e92a9633169440f2f4a21253 Author: Peter Zijlstra Date: Fri May 8 18:52:21 2009 +0200 perf_counter: optimize perf_counter_task_tick() perf_counter_task_tick() does way too much work to find out there's nothing to do. Provide an easy short-circuit for the normal case where there are no counters on the system. [ Impact: micro-optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170028.750619201@chello.nl> Signed-off-by: Ingo Molnar commit b4df0a6c9d88cfff77c73d33873cd60f9ab909b6 Author: Sergey Lapin Date: Fri May 8 19:19:41 2009 +0400 ASoC: AFEB9260 driver ASoC driver for AT91SAM9260-based AFEB9260 board Signed-off-by: Sergey Lapin Signed-off-by: Mark Brown commit bf8b9a63c18a1a7777571650de0c9f4fd4368ca0 Author: Jaswinder Singh Rajput Date: Fri May 8 20:53:58 2009 +0530 x86: msr-index.h remove duplicate MSR C001_0015 declaration MSRC001_0015 Hardware Configuration Register (HWCR) is already defined as MSR_K7_HWCR. And HWCR is available for >= K7. So MSR_K8_HWCR is not required and no-one is using it. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput commit cd89436e54b29a07a383ee82f2f718d8c9d24cc4 Author: Peter Griffin Date: Fri May 8 15:51:51 2009 +0100 sh: Add UBC trap vector for SH2A Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit ba0d474082dfa37fb0efd439b4d0c0234ceb1e80 Author: Peter Griffin Date: Fri May 8 15:50:54 2009 +0100 sh: Add ptrace support for NOMMU debugging Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit e73173dbe55e5b4c2306728aad50c8e42194f6d5 Author: Kieran Bingham Date: Fri May 8 15:49:50 2009 +0100 sh: Fix UBC setup and registers for SH2A Signed-off-by: Kieran Bingham Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit be6514c6295cc79498eeb9a8f933451082ca9e69 Author: Kieran Bingham Date: Fri May 8 15:48:15 2009 +0100 sh: Add in some ptrace definitions from GDB. Plugs in PT_TEXT_END_ADDR/PT_TEXT_ADDR/PT_DATA_ADDR/PT_TEXT_LEN definitions. Signed-off-by: Kieran Bingham Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 168f36237b16e2b3159e24c7d3b658e3c912d149 Author: Yoshinori Sato Date: Tue Apr 28 04:40:15 2009 +0000 serial: sh-sci: Fix up h8300 support. - Dummy SCIF functions define. - h8300 specific header include. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 54507f6ee99778a727ff1b38a1f4050fe6479835 Author: Paul Mundt Date: Fri May 8 23:48:33 2009 +0900 serial: sh-sci: Fix up section mismatch in error path. The sci_probe_single() path attempts to use sci_remove() for the error path, while sci_remove() is still flagged as __devexit. So, we simply discard the section annotation. Signed-off-by: Paul Mundt commit 3b226e15beb5ecf068738e796811afd1e5b3f81f Author: Paul Mundt Date: Fri May 8 23:28:54 2009 +0900 sh: Add clock id to sh-sci platform data on SH-Mobile CPUs. This adds the clock specifier to all of the SH-Mobile sh-sci ports. Impacted CPUs are SH7343/SH7366/SH7722/SH7723/SH7724. Signed-off-by: Paul Mundt commit 501b825d01efb93766c87d29f299851152cf4eb0 Author: Magnus Damm Date: Wed Jan 21 15:14:30 2009 +0000 sh-sci: improve clock framework support Use enable/disable hooks for clock framework integration. Make sure we control the clock for the serial console as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 08f8cb315fdf9195b472aeb440ae65b189b151da Author: Magnus Damm Date: Wed Jan 21 15:14:22 2009 +0000 sh-sci: ioremap() in a single place Handle ioremap() in sci_config_port only. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7ed7e0711b3ff85b3e15591081b42f2af96d584b Author: Magnus Damm Date: Wed Jan 21 15:14:14 2009 +0000 sh-sci: replace sci_init_ports() Replace sci_init_ports() with sci_init_single(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ee70712922c15252183db8b50a7e369c96017c0 Author: Magnus Damm Date: Wed Jan 21 15:13:50 2009 +0000 sh-sci: allow single port platform devices Allow registration of single port sh-sci platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a5660adae85918f2ab6b10ab58e2f574c1bd5ce1 Author: Magnus Damm Date: Wed Jan 21 15:14:38 2009 +0000 sh-sci: use to_sci_port() if possible Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 22e336b776f743cbabfc5c946bff9ccf7ccc756b Merge: a9fd4f3 5dd17cb Author: Takashi Iwai Date: Fri May 8 16:03:20 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dc8e6f5bfcd6a307a8196d3e41fd9798be5a1c76 Author: Magnus Damm Date: Wed Jan 21 15:14:06 2009 +0000 sh-sci: rework serial console support Rework sh-sci serial console code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a9fd4f3fcdc7e5757424f7e5888f660cf34bb1a9 Author: Takashi Iwai Date: Fri May 8 15:57:59 2009 +0200 ALSA: hda - Clean up Realtek auto-mute unsol routines Most of unsol handlers defined in patch_realtek.c can be classified to two types, mute via amp of pins and mute via ctl bits of pins. Thus there are a big room to generalize each implementation. This patch creates two generic functions, alc_automute_amp() and alc_automute_pin(). The latter is actually changed from the previous alc_sku_automute(). Each caller needs to initialize hp_pins and speaker_pins properly at own init_hook. Signed-off-by: Takashi Iwai commit 9080b72819650c3a757d173a19bc930d603b79d6 Author: Magnus Damm Date: Wed Jan 21 15:13:58 2009 +0000 sh-sci: remove early_sci_setup() Remove unused early_sci_setup() function from sh-sci. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e552de2413edad1a7b0c7f82a2f2753e4f905d93 Author: Magnus Damm Date: Wed Jan 21 15:13:42 2009 +0000 sh-sci: add platform device private data This patch adds per-platform private data to the sh-sci driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b72519b518211ecb7c4c7b5e660ac6235ca7d1b7 Author: Takashi Iwai Date: Fri May 8 14:31:55 2009 +0200 ALSA: hda - Clean up for ALC262 HP model auto-mute functions Just clean up, no functional changes. Signed-off-by: Takashi Iwai commit 7b551f9daa9bd9533ba4ce31622ed4be1dd97d3e Author: Paul Mundt Date: Fri May 8 22:14:01 2009 +0900 sh: Kill off the GENERIC_CALIBRATE_DELAY ifndef. Now that everyone is using the clock framework directly and we unconditionally provide our own calibrate_delay() function, having it wrapped in an ifndef is no longer useful. So, kill it off. Signed-off-by: Paul Mundt commit ccdaeb4c8f982900a2abf722e34b60131394d8eb Author: Paul Mundt Date: Fri May 8 22:09:30 2009 +0900 sh: TMU platform data for SH-X3 proto CPU. Signed-off-by: Paul Mundt commit c3d480ded1584dc17f6e82f49af4155380a51dda Author: Paul Mundt Date: Fri May 8 21:57:04 2009 +0900 sh: TMU platform data for SH7786. Wires up all 12 TMU channels, with TMU0 and 1 used as clockevent and clocksource respectively. Signed-off-by: Paul Mundt commit 42171c17f267d7fdc5167ad7b6b5fb9edfd04186 Author: Takashi Iwai Date: Fri May 8 14:11:43 2009 +0200 ALSA: hda - Fix and clean up hippo-compat HP auto-muting The speaker auto-muting per HP plugging for ALC262 HIPPO and compatible devices is slightly buggy as the "Master" or "Front" mixer control can still toggle the speaker output even if the headphone is plugged. This patch fixes the issue, and clean up the hippo-related codes together with fixes of some inconsistent mixer names. Signed-off-by: Takashi Iwai commit c142b15dc56ee6d55cb97a062e3c8e9c61e384c0 Author: Li Zefan Date: Fri May 8 10:32:05 2009 +0800 tracing/events: simplify system_enable_read() A smarter way to figure out the output of an enable file. [ Impact: clean up ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A0399A5.2080603@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2 Author: Li Zefan Date: Fri May 8 10:31:42 2009 +0800 tracing/events: clean up for ftrace_set_clr_event() Add a helper function __ftrace_set_clr_event(), and replace some ftrace_set_clr_event() calls with this helper, thus we don't need any kstrdup() or kmalloc(). As a side effect, this patch fixes an issue in self tests code, which is similar to the one fixed in commit d6bf81ef0f7474434c2a049e8bf3c9146a14dd96 ("tracing: append ":*" to internal setting of system events") It's a small issue and won't cause any bug in fact, but we should do things right anyway. [ Impact: prevent spurious event-enabling in tracing self-tests ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A03998E.3020503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c29418c2ae15ee9171bc136ad261c497b95a46fc Author: Paul Mundt Date: Fri May 8 20:32:56 2009 +0900 sh: Always fixup unaligned userspace accesses on sh64. sh64 has traditionally had this configurable via a Kconfig option (CONFIG_SH64_USER_MISALIGNED_FIXUP). In practice it has never really been terribly useful to turn this off, so just get rid of the option entirely. We leave the sysctl around so we don't end up breaking existing root file systems, and to allow folks that really want this off to do so at their own risk. Signed-off-by: Paul Mundt commit 30d88cf52f229c3e0c90b8d71036960ccc2db4e2 Author: Paul Mundt Date: Fri May 8 20:20:56 2009 +0900 sh: Kill off extra cflags Kconfig entry. There is no real reason to use this anymore, as the build system generally knows what it is doing with regards to cflags mangling. Signed-off-by: Paul Mundt commit bec4c99e8637b5b8bd4b0513eacb51da25885e3b Author: Mark Brown Date: Wed May 6 10:36:34 2009 +0100 ASoC: Fix file patterns for PXA sound drivers The file matches for PXA sound drivers missed the generic AC97 support and were overly specific within sound/soc/pxa, omitting all machine drivers and the SSP driver. Signed-off-by: Mark Brown commit c198d811812417961582d4e25360372ca1eccdae Author: Peter Ujfalusi Date: Thu May 7 14:32:00 2009 +0300 ASoC: TWL4030: Fix typo in twl4030_codec_mute function Copy-paste error: TWL4030_PRECKL_GAIN >> TWL4030_PRECKR_GAIN It has not caused problems, since TWL4030_PRECKL_GAIN == TWL4030_PRECKR_GAIN == 0x30 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6eac1af01112d1919b1c432f6591e6368e8d538f Author: Paul Mundt Date: Fri May 8 19:48:47 2009 +0900 sh: Always select RTC_LIB, not just for SUPERH32. The RTC_LIB helpers are used in arch/sh/kernel/time.c, which was previously only the case for the 32-bit variant. Now that this has become the common implementation, move the RTC_LIB select to reflect that. Fixes up the sh64 build. Signed-off-by: Paul Mundt commit 22f6dacdfcfdc792d068e9c41234808860498d04 Merge: 928f308 9b05126 Author: David S. Miller Date: Fri May 8 02:48:30 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: include/net/tcp.h commit 7e4e0bd50e80df2fe5501f48f872448376cdd997 Author: Robert Richter Date: Wed May 6 12:10:23 2009 +0200 oprofile: introduce module_param oprofile.cpu_type This patch removes module_param oprofile.force_arch_perfmon and introduces oprofile.cpu_type=archperfmon instead. This new parameter can be reused for other models and architectures. Currently only archperfmon is supported. Cc: Andi Kleen Signed-off-by: Robert Richter commit 6adf406f0a0eaf37251018d15f51e93f5b538ee6 Author: Andi Kleen Date: Mon Apr 27 17:44:13 2009 +0200 oprofile: add support for Core i7 and Atom The registers are about the same as other Family 6 CPUs so we only need to add detection. I'm not completely happy with calling Nehalem Core i7 because there will be undoubtedly other Nehalem based CPUs in the future with different marketing names, but it's the best we got for now. Requires updated oprofile userland for the new event files. If you don't want to update right now you can also use oprofile.force_arch_perfmon=1 (added in the next patch) with 0.9.4 Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit 1f3d7b60691993d8d368d8dd7d5d85871d41e8f5 Author: Andi Kleen Date: Mon Apr 27 17:44:12 2009 +0200 oprofile: remove undocumented oprofile.p4force option There are no new P4s and the oprofile code knows about all existing ones, so we don't really need the p4force option anymore. Remove it. Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit 1dcdb5a9e7c235e6e80f1f4d5b8247b3e5347e48 Author: Andi Kleen Date: Mon Apr 27 17:44:11 2009 +0200 oprofile: re-add force_arch_perfmon option This re-adds the force_arch_perfmon option that was in the original arch perfmon patchkit. Originally this was rejected in favour of a generalized perfmon=name option, but it turned out implementing the later in a reliable way is hard (and it would have been easy to crash the kernel if a user gets it wrong) But now Atom and Core i7 support being readded a user would need to update their oprofile userland to beyond 0.9.4 to use oprofile again on Atom or Core i7. To avoid this problem readd the force_arch_perfmon option. Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit b366328335b98373325977e116d2423f500708ac Author: Paul Mundt Date: Fri May 8 18:01:03 2009 +0900 sh: Drop dead rules from arch/sh/kernel/Makefile_64. Several of these options are specific to the SHcompact ISA and will need to be rewritten for SHmedia if they are to be supported at all. Drop the impossible rules for now. Signed-off-by: Paul Mundt commit 6b2e8523df148c15ea5abf13075026fb8bdb3f86 Author: Jeremy Fitzhardinge Date: Thu May 7 11:56:49 2009 -0700 xen: reserve Xen start_info rather than e820 reserving Use reserve_early rather than e820 reservations for Xen start info and mfn->pfn table, so that the memory use is a bit more self-documenting. [ Impact: cleanup ] Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Cc: Linus Torvalds LKML-Reference: <4A032EF1.6070708@goop.org> Signed-off-by: Ingo Molnar commit f066a155334642b8a206eec625b1925d88c48aeb Merge: e7c0648 33df4db Author: Ingo Molnar Date: Fri May 8 10:50:00 2009 +0200 Merge branch 'x86/urgent' into x86/xen Conflicts: arch/frv/include/asm/pgtable.h arch/x86/include/asm/required-features.h arch/x86/xen/mmu.c Merge reason: x86/xen was on a .29 base still, move it to a fresher branch and pick up Xen fixes as well, plus resolve conflicts Signed-off-by: Ingo Molnar commit 47dd6f4439811c6c83d9abf2f364bcb6d2684640 Author: Magnus Damm Date: Fri May 8 08:32:18 2009 +0000 sh: TMU platform data for sh7723 This patch adds TMU platform data for sh7723. Both clockevent and clocksource support is enabled. While at it, adjust the CMT clocksource rating to prioritize the TMU. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 583d1d549ff107500481461cec0325189c5349ec Author: Magnus Damm Date: Fri May 8 08:27:19 2009 +0000 sh: enable TMU clocksource on sh7722 This patch enables the TMU clocksource on sh7722. To prioritize TMU over CMT we also adjust the CMT clock source rating. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4f5ecaa05493dfddf155b40224b951592bfce325 Author: Magnus Damm Date: Fri May 8 08:23:29 2009 +0000 sh: clock framework update, fix count and kill off kref This patch updates the clock framework use count code. With this patch the enable() and disable() callbacks only get called when counting from and to zero. While at it the kref stuff gets replaced with an int. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7d170b1bc540a1d83098a9f27cf4939e026fda81 Author: Paul Mundt Date: Fri May 8 17:41:59 2009 +0900 sh: Move out cayman-specific panic handler code to its own file. This moves out the cayman-specific panic handler code to a better location, and leaves the generic implementation a simple stub that is still used under emulation. Signed-off-by: Paul Mundt commit ef9f89996e450e9686816b6fc1e34d7b9a65766c Author: Paul Mundt Date: Fri May 8 17:36:57 2009 +0900 sh: Kill off unused sh64 debug code. None of the print_page() code and associated helpers are presently used by anything in-tree, so just kill it off. Signed-off-by: Paul Mundt commit 451853645f3cb804b523227eca054701e4cbc589 Author: Jan Engelhardt Date: Sun Apr 5 10:43:09 2009 +0200 netfilter: xtables: print hook name instead of mask Users cannot make anything of these numbers. Let's just tell them directly. Signed-off-by: Jan Engelhardt commit bb70dfa5f8ab4a0f1c699ddb3ef0276d91219b7c Author: Jan Engelhardt Date: Wed Apr 15 21:40:13 2009 +0200 netfilter: xtables: consolidate comefrom debug cast access Signed-off-by: Jan Engelhardt commit 7a6b1c46e28ab0511be26c238d552c00b51b88c5 Author: Jan Engelhardt Date: Wed Apr 15 21:35:33 2009 +0200 netfilter: xtables: remove another level of indent Signed-off-by: Jan Engelhardt commit 9452258d8173806f67b1be5b3b00c39b052060c8 Author: Jan Engelhardt Date: Wed Apr 15 21:31:32 2009 +0200 netfilter: xtables: remove some goto Combining two ifs, and goto is easily gone. Signed-off-by: Jan Engelhardt commit a1ff4ac84e58503691058e88d55fa48949822683 Author: Jan Engelhardt Date: Wed Apr 15 21:28:39 2009 +0200 netfilter: xtables: reduce indent level by one Cosmetic only. Transformation applied: -if (foo) { long block; } else { short block; } +if (!foo) { short block; continue; } long block; Signed-off-by: Jan Engelhardt commit 98e86403162d08a30b03426c54c2a8fca1f695d1 Author: Jan Engelhardt Date: Wed Apr 15 21:06:05 2009 +0200 netfilter: xtables: consolidate open-coded logic Signed-off-by: Jan Engelhardt commit 4f2f6f236af484ada595ff37d0ee1902aa56221f Author: Jan Engelhardt Date: Wed Apr 15 20:31:13 2009 +0200 netfilter: xtables: fix const inconsistency Signed-off-by: Jan Engelhardt commit ccf5bd8c27daa4184004438273e03d3812b14d75 Author: Jan Engelhardt Date: Wed Apr 15 20:27:03 2009 +0200 netfilter: xtables: remove redundant casts Signed-off-by: Jan Engelhardt commit 4ba351cf866257de3da3fbc8d2bcc3907ee9460f Author: Jan Engelhardt Date: Tue Apr 14 14:28:48 2009 +0200 netfilter: xtables: use NFPROTO_ in standard targets Signed-off-by: Jan Engelhardt commit 4b1e27e99f354ad90a1cbdda352b84763e70ac78 Author: Jan Engelhardt Date: Tue Apr 14 14:26:49 2009 +0200 netfilter: queue: use NFPROTO_ for queue callsites af is an nfproto. Signed-off-by: Jan Engelhardt commit 383ca5b874fad082a61af0f47610a1af83e6bb44 Author: Jan Engelhardt Date: Tue Apr 14 14:24:21 2009 +0200 netfilter: xtables: use NFPROTO_ for xt_proto_init callsites Signed-off-by: Jan Engelhardt commit cb3a86c89ebdf917b88665f70e06863986fbab5c Author: Paul Mundt Date: Fri May 8 17:25:35 2009 +0900 sh: Kill off sh64's hand-rolled syscall tracer. This is no longer necessary, as there are now sufficient generic alternatives available. Signed-off-by: Paul Mundt commit 1af2fe45fec15bdba446c22b9b602699cdabfc9f Author: Paul Mundt Date: Fri May 8 16:59:05 2009 +0900 sh: Kill off the global rtc_lock with extreme prejudice. Now that all of the possible users for rtc_lock have gone away, it is no longer necessary to keep this lock definition around. This follows several other architectures that have either recently dropped it or never supported it in the first place. Signed-off-by: Paul Mundt commit cd1408f22d2fd8f0d09c082b07cf0b9bcfb6eac9 Author: Paul Mundt Date: Fri May 8 16:57:35 2009 +0900 sh: mach-sh03: Give the sh03 rtc its own spinlock. This converts the sh03 rtc code off of using the global rtc_lock and on to its own spinlock. There are no other possible users of the rtc_lock, so serializing with it is not necessary. Signed-off-by: Paul Mundt commit d254117099d711f215e62427f55dfb8ebd5ad011 Merge: 07ff7a0 8c9ed89 Author: James Morris Date: Fri May 8 17:56:47 2009 +1000 Merge branch 'master' into next commit 6459d7bb72e9767bc7d22f2ee44aab35188e4b8a Author: Paul Mundt Date: Fri May 8 16:47:48 2009 +0900 sh: Kill off dead timer sysclass pm hooks. With the conversion to generic clockevents these are completely unused, so just kill it off. Signed-off-by: Paul Mundt commit 5ac5496411b30d41945a996fe7a7fb5abccf2aaa Author: Paul Mundt Date: Fri May 8 16:44:00 2009 +0900 sh: Kill off dead handle_timer_tick() code. Nothing is using this anymore now that we have fully converted to generic time, so kill it off completely. Signed-off-by: Paul Mundt commit 6d134b9e8d3f32331ad2faca2db8186f54198931 Author: Paul Mundt Date: Fri May 8 16:36:13 2009 +0900 sh: Wire up GENERIC_CMOS_UPDATE for the platforms that need it. Now that everything has converted over to generic timekeeping, we need an alternate method for keeping the RTC updated for those platforms that are still using the rtc_sh_get/set_time pairs, presently limited to SH-03 and the Dreamcast. This wires up the GENERIC_CMOS_UPDATE hooks for those to maintain the same behaviour. Signed-off-by: Paul Mundt commit b179b72fad5c88c3b616fb88a9ae7cbbc1a750d3 Author: Paul Mundt Date: Fri May 8 16:17:36 2009 +0900 sh: Rename arch/sh/kernel/time_32.c to arch/sh/kernel/time.c. This is now fully generic, and used both by _32 and _64 variants. Rename it accordingly. Signed-off-by: Paul Mundt commit add47067a8ca324e9d26c4373350dc3cce7f1e7f Author: Paul Mundt Date: Fri May 8 16:12:17 2009 +0900 sh: Finish the sh64 migration off of ARCH_USES_GETTIMEOFFSET. This adds sh_tmu support to the SH-5 subtypes, which subsequently allows us to kill off time_64.c and use the now generic time_32.c. As a bonus, SH-5 now supports highres timers and tickless for the first time. Signed-off-by: Paul Mundt commit c2ecb4c4a7da16288062a057b693b7b1e16aaf88 Author: Paul Mundt Date: Fri May 8 15:39:25 2009 +0900 sh: Move out rtc-sh registration from time_64.c to setup-sh5.c Now that the onchip_remap() mess is sorted out, the rtc-sh support code for SH-5 can follow the same approach as the other CPUs. Signed-off-by: Paul Mundt commit 4fa48e1774992fd03a4cd83a0f2adecb288c46f8 Author: Paul Mundt Date: Fri May 8 15:28:15 2009 +0900 sh: Enable new TMU driver support for all SH-3 and SH-4 CPUs. The TMU block is supported on all SH-3 and SH-4 subtypes, so just select it there, rather than conditionalizing it per subtype. Signed-off-by: Paul Mundt commit 9da29271bea5d831d745f3ceb7f6f6b2def13a5b Author: Takashi Iwai Date: Thu May 7 16:31:14 2009 +0200 ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs VIA VT1708S and VT1702 codecs can have two SPDIF outputs. One of them should have been handled as the extra digital out, but it's not properly accessed. This patch fixes the handling of the secondary SPDIF on these codecs with the slave dig-out as found in patch_sigmatel.c. This makes the use of such a device easier (for normal users). Signed-off-by: Takashi Iwai commit ec91d1335f478c5cd089d82ffbf936075c5f24c8 Author: Felix Blyakher Date: Thu May 7 19:49:45 2009 -0500 xfs: fix double unlock in xfs_swap_extents() Regreesion from commit ef8f7fc, which rearranged the code in xfs_swap_extents() leading to double unlock of xfs inode ilock. That resulted in xfs_fsr deadlocking itself on platforms, which don't handle double unlock of rw_semaphore nicely. It caused the count go negative, which represents the write holder, without really having one. ia64 is one of the platforms where deadlock was easily reproduced and the fix was tested. Signed-off-by: Eric Sandeen Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit e367592cc93ac653e7bc0bebbc9bb713a77e2696 Author: Magnus Damm Date: Thu May 7 10:55:37 2009 +0000 sh: TMU platform data for sh7785 This patch adds TMU platform data for sh7785. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 06ee846a25642c434c55209151c633f538c12022 Author: Magnus Damm Date: Thu May 7 10:44:55 2009 +0000 sh: r7785 highlander clock fixes Update the r7785 highlander defconfig to fix PCLK value and that mode4 is set high. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b3cacf318172757783d8272fc333284dd4f50140 Author: Magnus Damm Date: Thu May 7 10:31:39 2009 +0000 sh: call clock framework init() callback once Make sure that clk->ops->init() only gets called once in the case of CLK_ALWAYS_ENABLED. Without this patch the init() callback may be called multiple times. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5dafc91fca9135a7b0acb76d9709f4abfad92d6e Author: Magnus Damm Date: Thu May 7 10:17:44 2009 +0000 sh: sh7785 early scif fix This patch moves the SH4 case of EARLY_SCIF_CONSOLE_PORT so the SH7785 default value gets used. Without this patch the value for SH7785 is set to 0xffe80000. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 74f4fd21664148b8c454cc07bfe74e4dd51cf07b Author: Steven Rostedt Date: Thu May 7 19:58:55 2009 -0400 ring-buffer: change WARN_ON from checking preempt_count to preemptible There's a WARN_ON in the ring buffer code that makes sure preemption is disabled. It checks "!preempt_count()". But when CONFIG_PREEMPT is not enabled, preempt_count() is always zero, and this will trigger the warning. [ Impact: prevent false warning on non preemptible kernels ] Signed-off-by: Steven Rostedt commit 7da3046d6ce6ea97494020081c509b642b7016af Author: Steven Rostedt Date: Thu May 7 19:52:20 2009 -0400 ring-buffer: add total count in ring-buffer-benchmark It is nice to see the overhead of the benchmark test when tracing is disabled. That is, we turn off the ring buffer just to see what the cost of running the loop that calls into the ring buffer is. Currently, if no entries wer made, we get 0. This is not informative. This patch changes it to check if we had any "missed" (non recorded) events. If so, a total count is also reported. [ Impact: evaluate the over head of the ring buffer benchmark test ] Signed-off-by: Steven Rostedt commit 928f308f556f4943e50c5064b546f47bce301f02 Author: Matthias Ludwig Date: Thu May 7 15:00:12 2009 -0700 smsc911x: fix calculation of res_size for ioremap fix size of remaped iomem, which is 1 byte to small (e.g. mappes only 0xff bytes instead of 0x100) Signed-off-by: Matthias Ludwig Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit c2d5ab4973bfaa72cbb677801825ce56c8f69b56 Author: Jesse Brandeburg Date: Thu May 7 11:07:35 2009 +0000 e1000/e1000e/igb/ixgb: don't txhang after link down after the recent changes to wired drivers to use only netif_carrier_off the driver can have outstanding tx work to complete that will never complete once link is down. Since the intel hardware will hold this tx work forever, the driver notices a tx timeout condition internally and might try to instigate printk and reset of the part with a netif_stop_queue, which doesn't work because link is down. Don't bother arming to tx hang detection when link is down. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c9c7d2e5a06cd3a26b6be096949e3371ec2aa123 Author: Nelson, Shannon Date: Thu May 7 10:40:15 2009 +0000 ixgbe: Typecase '1' for 64 bit shift Make sure we don't get any sign-extend issues when we shift a 1 into bit 31. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf069c9726b592432ed646e72b910ac3c098d025 Author: Don Skidmore Date: Thu May 7 10:39:54 2009 +0000 ixgbe: fix failing to log fan failures We weren't logging the 82598AT fan failure if it occurred before (ixgbe_open) as we hadn't sent up to catch the interrupt that event caused. This patch checks for this failure in: ixgbe_probe - So we can log the failure asap. We check right after we set up the adapter->flags, which is when we know that we have a fan. ixgbe_up_complete - To catch failures that may have happened between probe and when we set up the interrupt that would normally detect the fan failure. To enable all of this we need to initialize the adapter flag with IXGBE_FLAG_FAN_FAIL_CAPABLE when the NIC contained a fan. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dfa12f05f60eb23b1670f3a7756ed814f886a7fb Author: Yi Zou Date: Thu May 7 10:39:35 2009 +0000 ixgbe: Enable L2 header split in 82599 This enables L2 header split when packet split is enabled for 82599. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 163de42e240623694562656542adedbca369beaf Author: Alexander Duyck Date: Thu May 7 10:39:16 2009 +0000 ixgbe: set queue0 for srrctl configuration correctly for DCB The current configuration is not setting queue 0 correctly for DCB configurations. As a result unconfigured queues are being used to setup the SRRCTL register rx buffer len sizes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit afafd5b020a60b72d064e89244cb44a975eb2407 Author: Alexander Duyck Date: Thu May 7 10:38:56 2009 +0000 ixgbe: always set header length in SRRCTL As per the documentation for 82599 in order to support hardware RSC the header size must be set. This is only currently done for packet split mode. This patch sets the header buffer length for all modes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7aedec2ad5314b173e78ca3f4edb4ceaa02248bb Author: Eric Dumazet Date: Thu May 7 07:20:39 2009 +0000 tcp: tcp_prequeue() can use keyed wakeups We can avoid waking up tasks not interested in receive notifications, using wake_up_interruptible_poll() instead of wake_up_interruptible() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f5f8d86b231e0489c33542c42afbb14d32411ee8 Author: Eric Dumazet Date: Thu May 7 07:08:38 2009 +0000 tcp: tcp_prequeue() cleanup Small cleanup patch to reduce line lengths, before a change in tcp_prequeue(). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0574ea421b90e0e45a72c447dd3c2c79ffd8c153 Author: Steven Rostedt Date: Thu May 7 14:20:28 2009 -0400 ring-buffer: only periodically call cond_resched to ring-buffer-benchmark Calling cond_resched at every iteration of the loop adds a bit of overhead to the benchmark. This patch does two things. 1) only calls cond-resched when CONFIG_PREEMPT is not enabled 2) only calls cond-resched after so many traces has been performed. [ Impact: less overhead to the ring-buffer-benchmark ] Signed-off-by: Steven Rostedt commit 65b77242043f74bca6a0d733c0e48ef03a8c9893 Author: Steven Rostedt Date: Thu May 7 12:49:27 2009 -0400 tracing: have menu default enabled when kernel debug is configured Tracing can be very helpful to debug the kernel. When DEBUG_KERNEL is enabled it is nice to enable the trace menu as well. This patch only make the tracing menu enabled by default, it does not make any of the tracers enabled. And the menu is only enabled by default if DEBUG_KERNEL is enabled. [ Impact: show tracing options to those debugging the kernel ] Signed-off-by: Steven Rostedt commit d6bf81ef0f7474434c2a049e8bf3c9146a14dd96 Author: Steven Rostedt Date: Thu May 7 11:49:35 2009 -0400 tracing: append ":*" to internal setting of system events The system enabling of events uses the same code as the set_event file. It passes in the name of the system to the parser and that will enable all the events that has that system as a name. The problem is that it will also enable events with the same name as the system. If you have system name foo, and system name bar, but within the system bar, there exists an event called foo. By setting the system name foo, you will also be enabling the event foo in the system bar. This is not an expected result. The solution is to pass in "foo:*", which will only enable the system foo and not events called foo. [ Impact: prevent accidental enabling of events with same name as a system ] Reported-by: Li Zefan Signed-off-by: Steven Rostedt commit 29c8000ee7da3a6756d26143991e573eaaf2a9f6 Author: Steven Rostedt Date: Thu May 7 11:13:42 2009 -0400 ring-buffer: remove complex calculations in ring-buffer-test Ingo Molnar thought that the code to calculate the time in cond_resched is a bit too ugly and is not needed. This patch removes it and replaces it with a simple call to cond_resched. I kept the comment that explains the reason for the cond_resched. [ Impact: remove ugly code ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 8511a2728ab82cab398e39d019f5cf1246021c1c Author: David Teigland Date: Wed Apr 8 15:38:43 2009 -0500 dlm: fix use count with multiple joins When a lockspace was joined multiple times, the global dlm use count was incremented when it should not have been. This caused the global dlm threads to not be stopped when all lockspaces were eventually be removed. Signed-off-by: David Teigland commit 08ce4c91e44d51bb6c946f2756825a462d53c545 Author: Geert Uytterhoeven Date: Tue Apr 7 23:40:39 2009 +0200 dlm: Make name input parameter of {,dlm_}new_lockspace() const | fs/gfs2/lock_dlm.c:207: warning: passing argument 1 of 'dlm_new_lockspace' discards qualifiers from pointer target type Signed-off-by: Geert Uytterhoeven Signed-off-by: David Teigland commit b4380b8e5888e5ef5872e43b610c9dac4bf253ac Author: dmitry pervushin Date: Sun May 3 16:49:26 2009 +0100 [ARM] 5501/1: Freescale STMP: fix compilation warning To avoid compile-time warning, added parameter to the stmp3xxx_clock_read Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 21dbe15f7dd0f0511bc0178d142213c3fadfcb99 Author: wanzongshun Date: Sat May 2 15:41:14 2009 +0100 [ARM] 5499/1: Add Usb register controller header file dfine Add Usb register controller header file dfine. w90p910 usb ip is standard,but some mutifunction controll pin must be special define in w90p910 Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 4e3f48e590330a1fd880ab96e52bc095e94c25e3 Author: wanzongshun Date: Sat May 2 15:39:09 2009 +0100 [ARM] 5498/1: w90p910 Clock register controller header file dfine Add Clock register controller header file dfine. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 604f766f5f2fd4791ce898cd04d1f0dcb32b94a7 Author: wanzongshun Date: Fri May 1 16:14:54 2009 +0100 [ARM] 5497/1: Add usb and ts relevant kernel maping option Add drivers relevant kernel maping option. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 432818f08fa5cf983e13b0ac32ec59b0951882b9 Author: wanzongshun Date: Fri May 1 16:13:05 2009 +0100 [ARM] 5496/1: Add w90p910 touch screen driver relevant kernel parts[2/2]. Add this touch screen driver relevant kernel parts. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 177dd6bb8c70885bfe3c269bf21dab1c4aeaf5c3 Author: wanzongshun Date: Fri May 1 16:11:46 2009 +0100 [ARM] 5495/1: Add w90p910 usb host driver relevant kernel parts[1/2] Add this usb host driver relevant kernel parts. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 7f7810e2db70589c6695f9994c10258b09b1f93c Author: wanzongshun Date: Fri May 1 15:18:11 2009 +0100 [ARM] 5494/1: Add w90p910 irq number define Add irq number define for driver will be submitted. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 3679e38a832360d6d96efb4721742d81195594a0 Author: wanzongshun Date: Fri May 1 15:15:44 2009 +0100 [ARM] 5493/1: Add w90p910 IC interface controller regester map Add w90p910 IC other interface controller regester map for driver will be submitted. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c2e5307b902426247afa48d3f1ed4fa5409dcb49 Author: Valentin Longchamp Date: Wed May 6 11:54:48 2009 +0200 mx31: changed CONSISTENT_DMA_SIZE to 8M for mx31 video Signed-off-by: Valentin Longchamp Acked-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 9c70e227e00fcc3b210b11c96652ddcc0b6194f3 Author: Valentin Longchamp Date: Thu May 7 11:51:42 2009 +0200 mx31: add camera device This adds the camera device based on Guennadi's soc_camera architecture for the mx31. The proposed init by Guennadi was removed and must be implemented in the board init file as it contains a lot of board specific info (memory size, clock speed). Signed-off-by: Valentin Longchamp Reviewed-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 03c13ecc0d27d6c566afdb9624848fa0e0efe316 Author: Valentin Longchamp Date: Wed May 6 11:45:36 2009 +0200 mx31moboard: add support for usb OTG device (v3) This is used on all board of our system, so again this is done in the mx31moboard.c file. changes since v2: call to gpio_request added in platform code, and moved device initialization in baseboard files. changes since v1: pins are claimed in another patch Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4f163eb8811e8ea760d9fe654ecc6f17feecb477 Author: Sascha Hauer Date: Wed May 6 12:55:50 2009 +0200 mx31: calls to gpio_request moved into platform code In order to use the gpiolib, we now have to call gpio_request in the plaform code since it is not done in iomux code anymore. Signed-off-by: Sascha Hauer commit ef754d635820102ec7719486d40ede3c94ba44c8 Author: Valentin Longchamp Date: Wed May 6 11:44:20 2009 +0200 mx31: remove gpio_request calls from iomux code Since iomux code is not directly related to gpio on mx31, the calls to gpio_request are removed from iomux.c file. These calls have to be done in platform initialization files. The name of the singe pin call for iomux is also changed to mxc_iomux_alloc_pin. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 35c82da0bfa04b26cc642814d3e9557f93b7b365 Author: Sascha Hauer Date: Tue May 5 11:13:23 2009 +0200 MXC qonq: mxc_map_io is now mx31_map_io Signed-off-by: Sascha Hauer commit 81ec1f929fe5be3f6464edf7939a9b65fc8223ca Author: Sascha Hauer Date: Wed Apr 29 13:55:13 2009 +0200 mxc: fix wrong register access in timer code Signed-off-by: Sascha Hauer commit 74fe030e63bd9e4adc5a67128d4c8359b37df55d Author: Sascha Hauer Date: Wed Apr 29 13:41:40 2009 +0200 mx1ads: rename mxc_map_io to mx1_map_io Signed-off-by: Sascha Hauer commit 345569a2ed84478ce860a32555edd71bb321e48b Author: Sascha Hauer Date: Wed Apr 29 13:41:06 2009 +0200 mx1: add missing include Signed-off-by: Sascha Hauer commit 5ae07daa488e78994db731d0fd133967a5cf0ceb Author: Sascha Hauer Date: Wed Apr 29 13:17:21 2009 +0200 mx1ads: setup iomux pins at once Signed-off-by: Sascha Hauer commit 5b68421f41b47dd9311b81d9e0d7e9781c2983f3 Author: Sascha Hauer Date: Wed Apr 29 13:14:19 2009 +0200 mx1ads: remove ifdefs, reorder include alphabetically header is part of the kernel now. Signed-off-by: Sascha Hauer commit eb05bbeb65cc1015bdd5c4cb72fd1694a3288e97 Author: Guennadi Liakhovetski Date: Mon May 4 13:13:52 2009 +0200 ARM: add USB device support to pcm037 Add OTG device definition and resources to i.MX31 and a pure USB device mode support to the pcm037 board. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit bff0b53bd77df7e44a1d6b1a13162e26def5d17a Author: Sascha Hauer Date: Wed Apr 29 09:17:03 2009 +0200 PCM038: Remove unnecessary ifdefs, reorder includes alphabetically Signed-off-by: Sascha Hauer commit f231ea441a6e4b025d971b023ff010094626fdb0 Author: Sascha Hauer Date: Thu Apr 16 15:45:45 2009 +0200 pcm038: Setup all iomux pins at once Also, remove usage of set_irq_type after request_irq. Signed-off-by: Sascha Hauer commit 60c24dc79f01edfaa14290ada39a9074050ffbcc Author: Vladimir Barinov Date: Thu Apr 30 15:31:20 2009 +0400 MX27ADS: Add SDHC support Add SDHC support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 9366d8f67c234815e99bc8518a92da7f0fa3e026 Author: Vladimir Barinov Date: Wed Apr 29 04:00:52 2009 +0400 MX27ADS: Add 1-wire support Add 1-wire support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 11cda13d48a29ff81fe7bc2e0b767e164991c094 Author: Vladimir Barinov Date: Wed Apr 29 04:00:51 2009 +0400 MX27ADS: Add framebuffer support Add Sharp-QVGA panel support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit c981214ac4a304d784a290b3714cc73a39589af0 Author: Vladimir Barinov Date: Wed Apr 29 04:00:50 2009 +0400 MX27ADS: Add I2C support Add I2C support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 8d4fd258f9b0bee1ef5f1508bfed4d138a252891 Author: Vladimir Barinov Date: Wed Apr 29 04:00:49 2009 +0400 MX27ADS: Add NAND support Add NAND support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit c1a6f12383c79b28dd7c40a4e7293c80db265f59 Author: Vladimir Barinov Date: Wed Apr 29 04:00:48 2009 +0400 MX27ADS: setup all pins at once in one table Setup all pins at once in one table Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 3211705f76cccd52cd3f3c2744aef798bf705702 Author: Magnus Lilja Date: Tue Apr 14 22:00:07 2009 +0200 i.MX31: Add ethernet support to i.MX31 Litekit board. This patch adds the SMSC platform device to the Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit c1332616315584d45776a5e664382888513c0fa0 Author: Magnus Lilja Date: Tue Apr 14 22:00:06 2009 +0200 i.MX31: Correct comments on CONFIG_DEBUG_LL. Several comments in board config files stated "mandatory for CONFIG_LL_DEBUG" but the correct name is CONFIG_DEBUG_LL. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 3b7b8db1226fd2abf70f252b78f32198ef93c216 Author: Magnus Lilja Date: Tue Apr 14 22:00:05 2009 +0200 i.MX31: Removed unused items from board-mx31lite.h. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit a854b8ab987b29fd3b1ae286f41f04973f9edbac Author: Magnus Lilja Date: Tue Apr 14 22:00:03 2009 +0200 i.MX31: Add UART1 device to Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 45b131a78ceeb3bc776db08c8eaa67d4676b6cd7 Author: Valentin Longchamp Date: Tue Apr 21 10:24:56 2009 +0200 mx31moboard: add sdhc support (v3) This support both sdhc1 and sdhc2 with WP and CD for the marxbot and devboard mx31moboard baseboards. sdhc2 is present on both, but is not directly included in the mx31moboard file because a third baseboard (not supported yet) without sdhc2 is planned. Changes since v1: removed pin initialization from init/exit function and taken different comments into account Changes since v2: pin initialiation now is done in another patch for all current mx31moboard pins Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4ec6ecc77872a57b471b60dce298ed25556944f0 Author: Valentin Longchamp Date: Tue Apr 21 10:24:22 2009 +0200 mx31moboard: add i2c support (v2) Changes since v1: all the pins needed for the drivers are claimed in another patch Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 56c7a45bee7313d49dd58465492cdbd49fea8e16 Author: Valentin Longchamp Date: Wed Apr 22 10:55:50 2009 +0200 mx31moboard: setup all pins (v2) As suggested by Sascha, here we setup all the pins that we are using in the current (and currently reviewed) drivers for mx31moboard system. changes since v1: changed I2C1 pin names Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit f801079b2b8790a9f096151e2ca1d1239a24d9e4 Author: Valentin Longchamp Date: Wed Apr 22 10:54:14 2009 +0200 mx31: define various pins used on mx31moboard (v2) As suggested by Sascha, I regroup them in a single patch so that the other patches become more orthogonal. changes since v1: changed I2C1 pin names Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 45001e92d0249a8c4b9f6c3695215652e8e8493d Author: Alan Carvalho de Assis Date: Thu Apr 2 12:38:41 2009 -0300 i.MX31: Add hw-random for RNGA This hw-random driver add support to RNGA hardware found on some i.MX processors. Signed-off-by: Alan Carvalho de Assis Acked-by: Matt Mackall Signed-off-by: Sascha Hauer commit 220bbcea278b4fef7ef0a45ce754222f8ed9d134 Author: Valentin Longchamp Date: Fri Apr 17 15:20:25 2009 +0200 mx31moboard: clean-up of board support Various improvements (includes in alphabetical order, platform devices declaration order change, ...) The pins now are claimed in a single function call from a main table for every board for a better clarity and to adopt the current agreement for mx31 devices. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit ec9be0debd822d5bd1d5bfdf297144396d56ac6b Author: Fabio Estevam Date: Thu Apr 16 12:45:01 2009 -0700 MX27: Add basic support to MX27PDK This patch adds basic support to MX27PDK board http://www.freescale.com/imx27pdk ). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit 5ed7449a26bf5336ba9828025f54407227e4f379 Author: Ivo Clarysse Date: Wed Apr 15 10:45:19 2009 +0200 MXC: mx2_defconfig file Adds a defconfig file for the i.MX21 SoC, targeting the Freescale i.MX21ADS (M9328MX21ADSE) Application Development System. Signed-off-by: Ivo Clarysse Signed-off-by: Sascha Hauer commit c010dba89bc0f5585550877b1693d11d24063b6b Author: Holger Schurig Date: Tue Apr 14 12:50:20 2009 +0200 imx: re-work of PWM, add i.MX21 support * Kconfig enables now HAVE_PWM (this enables in turn the selection of CONFIG_BACKLIGHT_PWM) * changes CONFIG_ARCH_MXyy to CONFIG_MACH_MXyy * fix some register names to match those of the reference manual * write a stub code so that the PWM can be used to program the LCD backlight * convert from #ifdef CONFIG_ARCH_MXxx to cpu_is_mxXX() * remove unneeded defines and fix 80-column "violations" of checkpatch.pl Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 6b91edde09fadde2657b11b454b88ae89c5b4cae Author: Ivo Clarysse Date: Wed Apr 15 15:39:27 2009 +0200 MXC: mx21ads base support [PATCH v6] MXC: mx21ads base support Base machine support for the Freescale i.MX21ADS (M9328MX21ADSE) Application Development System. Signed-off-by: Ivo Clarysse Signed-off-by: Sascha Hauer commit a8df0ee8d89dc1bdbec7415be620b159b5b0177b Author: Guennadi Liakhovetski Date: Wed Apr 15 14:32:52 2009 +0200 ARM: framebuffer support for pcm037 Add support for a QVGA Sharp LCD on pcm037. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 910862ec092c156023b8a6e726e8c793da0a03f7 Author: Guennadi Liakhovetski Date: Thu Mar 12 12:46:41 2009 +0100 mxc: emulate GPIO interrupt on both-edges MXC GPIO controller does not support generation of interrupts on both edges. Emulate this mode in software by reconfiguring the irq trigger polarity on each interrupt. This follows an example of drivers/mfd/asic3.c. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit fde364742a1afec9e71e705e863d029295282fe5 Author: Holger Schurig Date: Mon Mar 30 14:35:39 2009 +0100 imx: exit functions can/should be void Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 1341d34ffc296f98dc84876f35f3151525dc02a2 Author: Sascha Hauer Date: Wed Apr 1 12:41:21 2009 +0200 [ARM] remove arch-imx arch-imx is superseeded by the MXC architecture support. This patch removes arch/arm/mach-imx from the kernel. Signed-off-by: Sascha Hauer commit 8c8fdbc9bd9718b21146065de61c0cafdff11ecb Author: Sascha Hauer Date: Wed Apr 1 12:40:15 2009 +0200 [ARM] Remove arch-imx from build system arch-imx is superseeded by the MXC architecture support. This patch removes arch-imx from the build system. Signed-off-by: Sascha Hauer commit 84c9fa43040af08126326ac8b2a2b18f804eb1e8 Author: Sascha Hauer Date: Wed Feb 18 20:59:04 2009 +0100 mxc irq: make architecture runtime dependent Currently we depend on hardcoded base addresses for the interrupt controller. This prevents us from compiling in more than one i.MX architecture at a time. This patch changes the base address to a runtime calculated one. Signed-off-by: Sascha Hauer commit ec996ba9b5cc2a085ca6938678317c4ff9c954d1 Author: Sascha Hauer Date: Wed Feb 18 20:58:40 2009 +0100 mxc timer: make compile time independent Currently we depend on hardcoded base addresses for the timer. This prevents us from compiling in more than one i.MX architecture at a time. This patch changes the base address to a runtime calculated one. Signed-off-by: Sascha Hauer commit cd4a05f9df859e7cd2efa96e035444a3decb427a Author: Sascha Hauer Date: Thu Apr 2 22:32:10 2009 +0200 MXC: rename mxc_map_io to architecture specific versions This allows us to have more mapping functions for more than one i.MX architecture in the kernel. As this is the earliest board specific hook we have, also use it to set the cpu type. Signed-off-by: Sascha Hauer commit 13e9f61235616966f9f6caefd533046c19d35c92 Author: Sascha Hauer Date: Mon Mar 30 15:04:38 2009 +0200 pcm037: Add support for UART2 Signed-off-by: Sascha Hauer commit 76b6ea0aaa19fe94338bf2cd49a90d14976595ca Author: Sascha Hauer Date: Wed Apr 1 10:09:18 2009 +0200 MX35: Fix IPU/Framebuffer clock names Signed-off-by: Sascha Hauer commit dddd4a493dfa9ff2640ff683f04d0f3c8c287111 Author: Sascha Hauer Date: Tue Mar 10 11:56:10 2009 +0100 pcm037: add SDHC card detection Signed-off-by: Sascha Hauer commit 01ac7d584d7299c787bb64067231a06d3b5e52e3 Author: Sascha Hauer Date: Fri Mar 13 19:52:41 2009 +0100 pcm037: setup all pins at once and not in init functions Signed-off-by: Sascha Hauer commit d16caf69ce26dbd2ec3ae4e0072c2a60f1896c89 Author: Sascha Hauer Date: Mon Mar 23 10:07:48 2009 +0100 i.MX35 clock support: remove automotive path It is no longer present in newer cores. Unfortunately Freescale decided to put the bit which decides between automotive clock path and consumer clock path in the automotive clock path direction. With current code we cannot detect the core revision, so just remove automotive path completely. Signed-off-by: Sascha Hauer commit 54df526819d3bfbc1af3f13aed7a3f9b9fdbdd04 Author: Sascha Hauer Date: Fri Feb 6 15:42:26 2009 +0100 [ARM] MX35: Add PCM043 board support The PCM043 is a i.MX35 based board from Phytec also known as the phyCORE-i.MX35. Signed-off-by: Sascha Hauer commit 218deaa743fde30033caeb91fa211063620399de Author: Sascha Hauer Date: Wed Apr 1 11:13:22 2009 +0200 MX35: Add iomux pin defintions Signed-off-by: Sascha Hauer commit bca6ef1e53b601ece59250f41b9817eba3afa490 Author: Sascha Hauer Date: Wed Apr 1 11:11:48 2009 +0200 MXC: Add iomux support for MX35 SoCs This iomux is called iomux-v3 in the tree because it is the third known incarnation of MXC iomuxers. It is not only found on the MX35 but also on the MX51 and probably others. Signed-off-by: Sascha Hauer commit 01eb1753fcafd25304ec9392e0d9d2acb649931b Author: Sascha Hauer Date: Tue Mar 31 20:51:52 2009 +0200 MXC irq: remove unused defines Signed-off-by: Sascha Hauer commit 0ad5d703c6c0fcd385d956555460df95dff7eb7e Merge: 44347d9 1cb81b1 Author: Ingo Molnar Date: Thu May 7 11:18:34 2009 +0200 Merge branch 'tracing/hw-branch-tracing' into tracing/core Merge reason: this topic is ready for upstream now. It passed Oleg's review and Andrew had no further mm/* objections/observations either. Signed-off-by: Ingo Molnar commit 41d5545d23d2ccf4d34725094dccebd37f15c1c4 Author: Kacper Szczesniak Date: Thu May 7 12:47:43 2009 +0200 ALSA: hda - Add support for MacBook 5.1 (Aluminium) Signed-off-by: Kacper Szczesniak Signed-off-by: Takashi Iwai commit 496a3f0927197ca155a604478bf6e7db3eca3bbd Author: Ben Dooks Date: Sat May 2 13:48:53 2009 +0100 [ARM] S3C64XX: Add ARM clock Add ARM clock to provide 'arm' from the APLL to the ARM core. Signed-off-by: Ben Dooks commit 8f1ecf1d965f4e1842b32af5dd40f3d7b6d407ed Author: Mark Brown Date: Tue Apr 28 16:06:24 2009 +0100 [ARM] S3C64XX: Configure clocks for DMA controller Add missing DMA controller block clocks. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit a03f7daf6df31b4d849031c51a3c10b8ba78ce67 Author: Werner Almesberger Date: Thu Mar 5 11:43:13 2009 +0800 [ARM] S3C64XX: Add HCLKx2 Add doubled HCLK to S3C64xx. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit e2c977dca2901012ddabdc2a7b3c47a80c94d431 Author: Werner Almesberger Date: Thu Mar 5 11:43:14 2009 +0800 [ARM] S3C6410: Add CAMIF clock Add camera interface clock to S3C6410. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit a19339f430d8ba5fc2ca840ae95f8aa7c49ea9d7 Merge: 19e3f48 e3980b6 Author: Ben Dooks Date: Thu May 7 11:06:32 2009 +0100 [ARM] Merge next-s3c-s3c6410 into for-rmk-devel Merge branch 'next-s3c-s3c6410' into for-rmk-devel commit 19e3f4858d4a2863ad66b2c92d0f9270879eac04 Author: Ben Dooks Date: Thu Apr 23 17:26:15 2009 +0100 [ARM] SMDK6400: Fix WM8753 i2c board definition Signed-off-by: Ben Dooks commit 4faf6867638cc21aa43b4ca4ed0bdf14a2d29762 Author: Ben Dooks Date: Wed Mar 25 11:01:24 2009 +0000 [ARM] S3C64XX: Add S3C6400 SDHCI setup support Add support for S3C6400 SDHCI channels 0 and 1, making the GPIO code common to both S3C6400 and S3C6410. Signed-off-by: Ben Dooks commit e074f9803227236252c8e7be16d836d709abff57 Author: Ben Dooks Date: Tue Mar 24 17:31:42 2009 +0000 [ARM] S3C64XX: Add S3C6400 CPU detection. Add detection support for the S3C6400 SoC which has it's id register in a different place to the S3C6410. Signed-off-by: Ben Dooks commit a6925c1c515513e22b0419e1a41155c88d22b1f4 Author: Ben Dooks Date: Tue Mar 24 17:25:40 2009 +0000 [ARM] S3C6400: Core support for S3C6400 SoC Add the core support files for the Samsung S3C6400 SoC. Signed-off-by: Ben Dooks commit 2ab408e8759ad4b2a9bad3647838acd648d2c10c Author: Ben Dooks Date: Tue Mar 24 16:09:06 2009 +0000 [ARM] SMDK6400: Initial machine support for SMDK6400 Add minimial support for the SMDK6400 board to test the S3C6400 support. Signed-off-by: Ben Dooks commit c07f87f22ecc94201893b7a25430b7f5d5fd6de8 Author: Ben Dooks Date: Tue Mar 24 15:30:07 2009 +0000 [ARM] VIC: Add power management device Add power management support to the VIC by registering each VIC as a system device to get suspend/resume events going. Since the VIC registeration is done early, we need to record the VICs in a static array which is used to add the system devices later once the initcalls are run. This means there is now a configuration value for the number of VICs in the system. Signed-off-by: Ben Dooks commit d87964c46005ccb04754f6309df0fd8f67b08c6d Author: Ben Dooks Date: Fri Dec 12 00:24:30 2008 +0000 [ARM] S3C: GPIO PM core GPIOlib integration Move the GPIO suspend/resume support inline with the gpiolib support so that it will work with both the S3C24XX and S3C64XX series. The s3c_gpio_chip is extended to have a pm callback and a save block to keep the state of the GPIO over suspend, and the code from the s3c24xx implementation is added to a new common file. The suspend process now uses the list of registered chips to go through saving and restoring each one as appropriate, using the pm callback to select the appropriate routine depending on the type of control register present. This change also means that any additional GPIO added should not require changes to the PM. Signed-off-by: Ben Dooks commit 966bcc14386000e8b4dc7bbb426910bcb55a8588 Author: Ben Dooks Date: Fri Dec 12 00:24:32 2008 +0000 [ARM] S3C64XX: Add IRQ PM code Add support for saving the state of the IRQ registers over suspend. This requires moving the S3C64XX UART registers into and adding irq-pm.c which saves the state of all the IRQ registers. The irq-pm.c saves all the IRQ registers, including the IRQ_EINT and IRQ_EINT_GROUP registers as it was easier than adding three different files. Also ensuring that all the registers are restored to the same state as before suspend is considered to be the best thing to do. Note, we do not suspend the VIC here, this is done by the VIC driver itself. Signed-off-by: Ben Dooks commit 1deb507dc7612e6c81b7953e827d1c859c1d8c0b Author: Ben Dooks Date: Fri Dec 12 00:24:31 2008 +0000 [ARM] S3C64XX: Add generic s3c64xx sys device. Add an s3c64xx_sysclass and device for items that currently want to bind to any s3c64xx processor. The first user of this will be parts of the s3c64xx suspend support which need to save device state over suspend/resume. Signed-off-by: Ben Dooks commit 0abfe9aab1867abd96b44a425ad27ce021891e4f Author: Ben Dooks Date: Fri Dec 12 00:24:28 2008 +0000 [ARM] S3C64XX: Add s3c6410_sysclass export Add definition for s3c6410_sysclass which was missing from arch/arm/plat-s3c/include/plat/cpu.h. Signed-off-by: Ben Dooks commit bd117bd161ea99826494983aef8c8e236ac129bd Author: Ben Dooks Date: Tue Mar 10 18:19:35 2009 +0000 [ARM] S3C64XX: Initial support for PM (suspend to RAM) Add the initial support for the S3C64XX based systems to use suspend-to-RAM to sleep. Includes basic debugging for use with the SMDK6410 usign the LEDs on the baseboard. Signed-off-by: Ben Dooks commit 4b637dc231a96a151ea70c27d86b35c7891e2a7c Author: Ben Dooks Date: Fri Dec 12 00:24:24 2008 +0000 [ARM] S3C: PM save UART UDIVSLOT if doing PM Add the facility to save the UART UDIVSLOT register if the UART state is being saved over suspend. Signed-off-by: Ben Dooks commit 57699e9adf1b44f281d808609b47816804763bfa Author: Ben Dooks Date: Fri Dec 12 00:24:23 2008 +0000 [ARM] S3C: Add debug to UART save and a per-arch callback pre-restore Add a simple debug message on saving the UART state and add a per-arch pre-restore function to be used by the s3c64xx restore code to ensure the UARTs control registers do not go through any illegal state changes. Signed-off-by: Ben Dooks commit 67b3e542ab1cf9f2fe3c1d4ae2aa16dd3b4a7e24 Author: Ben Dooks Date: Fri Mar 6 19:51:51 2009 +0000 [ARM] S3C64XX: Add USB OHCI support Add USB OHCI host definitions. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit e6a2a9ce69400a8109e01030aec0d5e1e2bc73c2 Author: Ben Dooks Date: Fri Mar 6 19:51:50 2009 +0000 [ARM] S3C: Rename S3C24XX_PA_USBHOST to S3C_PA_USBHOST The USB host base address is available on both the S3C24XX and S3C64XX ranges. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 98fd63ba61450151a3b6d18a8264156996d86411 Author: Ben Dooks Date: Fri Mar 6 19:49:49 2009 +0000 [ARM] SMDK6410: Add USB OHCI host Add USB OHCI host capability to the SMDK6410 for either USB OtG or a single/double USB host port. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit eca8655ffa1ffb23c8f6f1485c1315a3087c8f38 Author: Ben Dooks Date: Fri Mar 6 19:49:48 2009 +0000 [ARM] S3C: Add common USB OHCI device definition Add common definition for USB OHCI platform device, add a Kconfig to selectively compile it and add update all the users. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 44347d947f628060b92449702071bfe1d31dfb75 Merge: d94fc52 413f81e Author: Ingo Molnar Date: Thu May 7 11:17:13 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: tracing/core was on a .30-rc1 base and was missing out on on a handful of tracing fixes present in .30-rc5-almost. Signed-off-by: Ingo Molnar commit c51279ec0d2d959e13831ae84b714301f0494f27 Author: Paul Mundt Date: Thu May 7 18:17:20 2009 +0900 sh: Kill off unused SH-5 irq_describe cruft. Signed-off-by: Paul Mundt commit 0fb849b9d743a20056f2418cd955e5c650658663 Author: Paul Mundt Date: Thu May 7 18:10:27 2009 +0900 sh: Integrate the SH-5 onchip_remap() more coherently. Presently this is special-cased for early initialization. While there are situations where these static early initializations are still necessary, with minor changes it is possible to use this for the regular ioremap implementation as well. This allows us to kill off the special-casing for the remap completely and to start tidying up all of the SH-5 special-casing in drivers. Signed-off-by: Paul Mundt commit ae318a148e4d255dfbc87d963fdd6031c2af9c46 Author: Paul Mundt Date: Thu May 7 17:55:09 2009 +0900 sh: sh64 still needs ARCH_USES_GETTIMEOFFSET temporarily. sh64 is still using this, so re-enable it temporarily while SH-5 gets converted to use the generic code. Signed-off-by: Paul Mundt commit d94fc523f3c35bd8013f04827e94756cbc0212f4 Author: Li Zefan Date: Thu May 7 15:11:15 2009 +0800 tracing/events: fix concurrent access to ftrace_events list, fix In filter_add_subsystem_pred() we should release event_mutex before calling filter_free_subsystem_preds(), since both functions hold event_mutex. [ Impact: fix deadlock when writing invalid pred into subsystem filter ] Signed-off-by: Li Zefan Cc: tzanussi@gmail.com Cc: a.p.zijlstra@chello.nl Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org LKML-Reference: <4A028993.7020509@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5928c3cc0ffcb6894bbab6be591b7ae1786b2d87 Author: Frederic Weisbecker Date: Sun May 3 03:03:57 2009 +0200 tracing/filters: support for operator reserved characters in strings When we set a filter for an event, such as: echo "name == my_lock_name" > \ /debug/tracing/events/lockdep/lock_acquired/filter then the following order of token type is parsed: - space - operator - parentheses - operand Because the operators and parentheses have a higher precedence than the operand characters, which is normal, then we can't use any string containing such special characters: ()=<>!&| To get this support and also avoid ambiguous intepretation from the parser or the human, we can do it using double quotes so that we keep the usual languages habits. Then after this patch you can still declare string condition like before: echo name == myname But if you want to compare against a string containing an operator character, you can use double quotes: echo 'name == "&myname"' Don't forget to include the whole expression into single quotes or the double ones will be eaten by echo. [ Impact: support strings with special characters for tracing filters ] Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan Cc: Zhaolei Signed-off-by: Frederic Weisbecker commit e8808c1019b048a43686dbd25c188a035842c2e2 Author: Frederic Weisbecker Date: Sun May 3 02:48:52 2009 +0200 tracing/filters: support for filters of dynamic sized arrays Currently the filtering infrastructure supports well the numeric types and fixed sized array types. But the recently added __string() field uses a specific indirect offset mechanism which requires a specific predicate. Until now it wasn't supported. This patch adds this support and implies very few changes, only a new predicate is needed, the management of this specific field can be done through the usual string helpers in the filtering infrastructure. [ Impact: support all kinds of strings in the tracing filters ] Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan Cc: Zhaolei Signed-off-by: Frederic Weisbecker commit 5e7c03442574ed0376c0621bfb0c477d79c12c71 Author: Daniel Mack Date: Wed May 6 01:26:01 2009 +0200 ASoC: cs4270: add power management support Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit ee1acbfabd5270b40ce2cfdc202070b7ca91cdff Author: Paul Mundt Date: Thu May 7 16:38:16 2009 +0900 sh: Handle shm_align_mask also for HAVE_ARCH_UNMAPPED_AREA_TOPDOWN. Presently shm_align_mask is only looked at for the bottom up case, but we still want this for proper colouring constraints in the topdown case. Signed-off-by: Paul Mundt commit aa47b7e0f89b9998dad4d1667447e8cb7703ff4e Author: David Rientjes Date: Mon May 4 01:38:05 2009 -0700 sched: emit thread info flags with stack trace When a thread is oom killed and fails to exit, it's helpful to know which threads have access to memory reserves if the machine livelocks. This is done by testing for the TIF_MEMDIE thread info flag and should be displayed alongside stack traces to identify tasks that have access to such reserves but are still stuck allocating pages, for instance. It would probably be helpful in other cases as well, so all thread info flags are emitted when showing a task. ( v2: fix warning reported by Stephen Rothwell ) [ Impact: extend debug printout info ] Signed-off-by: David Rientjes Cc: Peter Zijlstra Cc: Stephen Rothwell LKML-Reference: Signed-off-by: Ingo Molnar commit 643bec956544d376b7c2a80a3d5c3d0bf94da8d3 Author: Ingo Molnar Date: Thu May 7 09:12:50 2009 +0200 x86: clean up arch/x86/kernel/tsc_sync.c a bit - remove unused define - make the lock variable definition stand out some more - convert KERN_* to pr_info() / pr_warning() [ Impact: cleanup ] LKML-Reference: Signed-off-by: Ingo Molnar commit 40c8bca76ecaa6b663d403d34f0fcd422bbdbffd Author: Paul Mundt Date: Thu May 7 15:24:36 2009 +0900 sh: Flag IRQSTACKS as BROKEN for now. There still seems to be some stack corruption to sort out here, so flag this as BROKEN until this issue is sorted out. Signed-off-by: Paul Mundt commit 975e5f45500dff6d15c0001bb662e9aac0ce0076 Author: Samuel Bronson Date: Wed May 6 22:27:55 2009 -0400 x86: use symbolic name for VM86_SIGNAL when used as vm86 default return This code has apparently used "0" and not VM86_SIGNAL since Linux 1.1.9, when Linus added VM86_SIGNAL to vm86.h. This patch changes the code to use the symbolic name. The magic 0 tripped me up in trying to extend the vm86(2) manpage to actually explain vm86()'s interface -- my greps for VM86_SIGNAL came up fruitless. [ Impact: cleanup; no object code change ] Signed-off-by: Samuel Bronson Signed-off-by: H. Peter Anvin commit 8ae79a138e88aceeeb07077bff2883245fb7c218 Author: Steven Rostedt Date: Wed May 6 22:52:15 2009 -0400 tracing: add hierarchical enabling of events With the current event directory, you can only enable individual events. The file debugfs/tracing/set_event is used to be able to enable or disable several events at once. But that can still be awkward. This patch adds hierarchical enabling of events. That is, each directory in debugfs/tracing/events has an "enable" file. This file can enable or disable all events within the directory and below. # echo 1 > /debugfs/tracing/events/enable will enable all events. # echo 1 > /debugfs/tracing/events/sched/enable will enable all events in the sched subsystem. # echo 1 > /debugfs/tracing/events/enable # echo 0 > /debugfs/tracing/events/irq/enable will enable all events, but then disable just the irq subsystem events. When reading one of these enable files, there are four results: 0 - all events this file affects are disabled 1 - all events this file affects are enabled X - there is a mixture of events enabled and disabled ? - this file does not affect any event Signed-off-by: Steven Rostedt commit 9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea Author: Steven Rostedt Date: Wed May 6 21:54:09 2009 -0400 tracing: reset ring buffer when removing modules with events Li Zefan found that there's a race using the event ids of events and modules. When a module is loaded, an event id is incremented. We only have 16 bits for event ids (65536) and there is a possible (but highly unlikely) race that we could load and unload a module that registers events so many times that the event id counter overflows. When it overflows, it then restarts and goes looking for available ids. An id is available if it was added by a module and released. The race is if you have one module add an id, and then is removed. Another module loaded can use that same event id. But if the old module still had events in the ring buffer, the new module's call back would get bogus data. At best (and most likely) the output would just be garbage. But if the module for some reason used pointers (not recommended) then this could potentially crash. The safest thing to do is just reset the ring buffer if a module that registered events is removed. [ Impact: prevent unpredictable results of event id overflows ] Reported-by: Li Zefan LKML-Reference: <49FEAFD0.30106@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 71e1c8ac42ae4038ddb1367cce7097ab868dc532 Author: Steven Rostedt Date: Wed May 6 21:20:39 2009 -0400 tracing: update sample with TRACE_INCLUDE_FILE When creating trace events for ftrace, the header file with the TRACE_EVENT macros must also have a macro called TRACE_SYSTEM. This macro describes the name of the system the TRACE_EVENTS are defined for. It also doubles as a way for the define_trace.h file to include the file that included it. For example: in irq.h #define TRACE_SYSTEM irq [...] #include The define_trace will use TRACE_SYSTEM to include irq.h. But if the name of the trace system does not match the name of the trace header file, one can override it with: Which will change define_trace.h to inclued foo_trace.h instead of foo.h The sample comments this, but people that use the sample code will more likely use the code and not read the comments. This patch changes the sample code to use the TRACE_INCLUDE_FILE to better show developers how to use it. [ Impact: make sample less confusing to developers ] Reported-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 4d5b78c055c76bb563c4a43d2adb92735b3b9405 Author: David S. Miller Date: Wed May 6 16:52:51 2009 -0700 net: Add missing rculist.h include to netdevice.h Otherwise list_for_each_entry_rcu() et al. aren't visible and we get build failures in some configurations. Signed-off-by: David S. Miller commit 4dbc8ef7e1123bb8a591d75a2b84413aa261a9f4 Author: Arnaldo Carvalho de Melo Date: Wed May 6 16:50:52 2009 -0700 net: Make inet_twsk_put similar to sock_put By separating the freeing code from the refcounting decrementing. Probably reducing icache pressure when we still have reference counts to go. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3e07a4f680adc66dfa175aa5021aedf340251b12 Author: Steven Rostedt Date: Wed May 6 18:36:59 2009 -0400 ring-buffer: change test to be more latency friendly The ring buffer benchmark/test runs a producer for 10 seconds. This is done with preemption and interrupts enabled. But if the kernel is not compiled with CONFIG_PREEMPT, it basically stops everything but interrupts for 10 seconds. Although this is just a test and is not for production, this attribute can be quite annoying. It can also spawn badness elsewhere. This patch solves the issues by calling "cond_resched" when the system is not compiled with CONFIG_PREEMPT. It also keeps track of the time spent to call cond_resched such that it does not go against the time calculations. That is, if the task schedules away, the time scheduled out is removed from the test data. Note, this only works for non PREEMPT because we do not know when the task is scheduled out if we have PREEMPT enabled. [ Impact: prevent test from stopping the world for 10 seconds ] Signed-off-by: Steven Rostedt commit 9ce77666da48513058e330634a766d4752324f8e Author: gouji-new Date: Wed May 6 10:44:45 2009 +0000 ixgbe: Proposed PARCH PCIE legacy I/O port free intel 10Gb NIC driver Traditionally Intel based NIC drivers request I/O port even though it doesn't need that really. Intel PCIE 10Gb driver (ixgbe) also requests I/O port but it doesn't need it either. This is a little inconvenient situation because sometimes we have to handle those cards on the slots where any I/O space is not attached. So we made pach which makes ixgbe driver legacy I/O port free. Signed-off-by: Masayuki Gouji Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3044b8d1ff8c05237652a692fb572a34e4d70146 Author: Breno Leitao Date: Wed May 6 10:44:26 2009 +0000 ixgbe: Return PCI_ERS_RESULT_DISCONNECT when bus is disabled According to the "PCI Error Recovery" document, if after a recovery, the bus is disabled, the error_detected function should return PCI_ERS_RESULT_DISCONNECT. Actually ixgbe error_detected function is always returning PCI_ERS_RESULT_NEED_RESET, even if the bus is in failure. This patch just check if the bus is disabled and then returns PCI_ERS_RESULT_DISCONNET. Signed-off-by: Breno Leitao Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2012bdc8a5553fc864e78f582c8ce79e762dec42 Author: Alexander Duyck Date: Wed May 6 10:44:07 2009 +0000 ixgbe: remove ixgbe_napi_add/del_all references There were still some references to napi_add/del_all left after the dynamic vector allocation patch. This patch removes those references since the ixgbe_napi_add/del_all calls are no longer needed as the napi struct is added when the vector is created, and deleted when the vector is freed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fdaff1ceac32e1748353e91a420c18141ea153c0 Author: Alexander Duyck Date: Wed May 6 10:43:47 2009 +0000 ixgbe: skb_record_rx_queue should record rx queue instead of vector currently ixgbe_receive_skb is passing the vector index to skb_record_rx_queue instead of the queue index. This patch changes that so that the ring index is passed instead. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7a921c93626e7481b5d8788d8511995aa2d2b591 Author: Alexander Duyck Date: Wed May 6 10:43:28 2009 +0000 ixgbe: make q_vectors dynamic to reduce netdev size Currently the q_vectors are being allocated statically inside of the adapter struct. This increases the overall size of the adapter struct when we can easily allocate the vectors dynamically. This patch changes that behavior so that the q_vectors are allocated dynamically and the napi structures are automatically allocated inside of the q_vectors as needed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcb4ea2ea2ba990a59db5a4cc402df3c2bd389b3 Author: Alexander Duyck Date: Wed May 6 10:25:42 2009 +0000 pci: update 82576 sr-iov quirk with latest device IDs The current quirk doesn't include all 82576 device IDs. This update resolves that. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7beb0146fc965ffee928eff53525aac0173b0b07 Author: Alexander Duyck Date: Wed May 6 10:25:23 2009 +0000 igb/igbvf: set rx csum always enabled in hw, disable via sw An issue was found in which rx checksum could not be enabled without resetting the interface. The issue was the hardware enable was not being done via ethtool. To resolve this issue and prevent conflicts with VF configuration we will leave the feature always enabled in hardware, and then in software we will choose to ignore the results via a sw flag. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0364d6fd2c353d2d82da865a6f093f97c69b669c Author: Alexander Duyck Date: Wed May 6 10:25:01 2009 +0000 igbvf: cleanup flags and allow for rx checksum to be disabled This patch cleans up a number of unused or unneeded feature flags. As a result of these changes the user should now be able to enable or disable rx checksumming via ethtool. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e0ca84105bca8691f39ef7ff221a88046ba11f23 Author: Saeed Bishara Date: Wed May 6 03:02:01 2009 +0000 mv643xx_eth: only unmask RX and TX_END interrupts for available queues It is not a good idea to blindly unmask the RX and TX_END interrupts for all eight queues on all mv643xx_eth hardware, since some variations of the hardware have less than eight transmit/receive queues, and the RX/TX_END interrupts for the queues they don't have can be in use by other interrupt sources. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 7fd96ce47ff83fc17ab78d465d8e067467a7f51e Author: Lennert Buytenhek Date: Wed May 6 03:01:22 2009 +0000 mv643xx_eth: rework receive skb cache alignment On the platforms that mv643xx_eth is used on, the manual skb->data alignment logic in mv643xx_eth can be simplified, as the only case we need to handle is where NET_SKB_PAD is not a multiple of the cache line size. If this is the case, the extra padding we need can be computed at compile time, while if NET_SKB_PAD _is_ a multiple of the cache line size, the code can be optimised out entirely. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit becfad979d1875aca15ef2a1eda68782e7ac7769 Author: Lennert Buytenhek Date: Wed May 6 03:01:17 2009 +0000 mv643xx_eth: minor register definition cleanup Move the definitions for the SDMA and port serial configuration register values to where all the other register definitions live, and expand the shifts to 32 bit constants. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 26ef1f17d4741756763d1a399968ce17f236e2fb Author: Lennert Buytenhek Date: Wed May 6 03:01:10 2009 +0000 mv643xx_eth: count handling a link event as one unit of napi work Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 7eaa2b20ca0a471e1c73f72d8c6a0eac2c7838a7 Author: Lennert Buytenhek Date: Wed May 6 03:00:59 2009 +0000 mv643xx_eth: fix variable shadowing sparse warning Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 3d0a3cc9d72047e4baa76021c897f64fc84cc543 Author: Dhananjay Phadke Date: Tue May 5 19:05:08 2009 +0000 netxen: fix bonding support o Pause traffic during mac addr change. o Enable setting mac address for NX3031. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5cf4d323f8864dab818d500ec74f2fcb9ad5bf89 Author: Dhananjay Phadke Date: Tue May 5 19:05:07 2009 +0000 netxen: fix mac list management o use standard linked list api for mac addr list management in NX3031. o release mac addresses in firmware in dev close(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 22527864ed7ee6c50f3c4d4b03c83c963caf5c0b Author: Dhananjay Phadke Date: Tue May 5 19:05:06 2009 +0000 netxen: fix race in tx ring acccess Fix the distance check between tx ring producer and consumer that could lead to tx ring wrap around. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6634ff26cce2da04e5c2a5481bcb8888e7d01786 Author: Steven Rostedt Date: Wed May 6 15:30:07 2009 -0400 ring-buffer: make moving the tail page a separate function Ingo Molnar thought the code would be cleaner if we used a function call instead of a goto for moving the tail page. After implementing this, it seems that gcc still inlines the result and the output is pretty much the same. Since this is considered a cleaner approach, might as well implement it. [ Impact: code clean up ] Signed-off-by: Steven Rostedt commit 9dfd6ba353b993d648dcda72480c7ce92cd27c7e Author: Jouni Malinen Date: Wed May 6 20:34:10 2009 +0300 mac80211: Update SA Query transaction id length IEEE 802.11w/D8.0 changed the length of the SA Query transaction identifier from 16 to 2 octets. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f9dd6b52873ad9fda51a3881c80c96d06ee6a57d Author: Gabor Juhos Date: Wed May 6 09:47:30 2009 +0200 ath9k: remove redundant AR9285 checks The AR_SREV_9285_1[12]_OR_LATER macros already contains the AR_SREV_9285 check. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 4f0fc7c39f2a224b939f22d4dca552b266319525 Author: Luis R. Rodriguez Date: Wed May 6 02:20:00 2009 -0400 ath9k: make private driver rate tables const On x86 this allows us to do the following small savings: shave off 23 % off of the module's data, and shave off 6 % off of the module's text. We save 456 bytes, for those counting. $ size ath9k.ko text data bss dec hex filename 250794 3628 1600 256022 3e816 ath9k.ko $ size ath9k-old.ko text data bss dec hex filename 239114 15308 1600 256022 3e816 ath9k-old.ko $ du -b ath9k.ko 4034244 ath9k.ko $ du -b ath9k-old.ko 4033788 ath9k-old.ko Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7c5a189dc6a43def594fedc7cd8f6886596b65de Author: Max Filippov Date: Wed May 6 01:47:02 2009 +0400 p54: call p54_wake_free_queues on every p54_free_skb and p54_rx_frame_sent Currently queues are stopped when their length reaches their length limit, but are restarted only when the size of freed range of packet buffer is not less than the size of the largest possible packet. This causes permanent queue stop on radio visibility loss in the middle of ping series: there is plenty of room in the packet buffer, but it is never freed more than 3 (size of 'best effort' queue) * 288 (ping packet plus headers) bytes at once. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit aec6795210db6ba3f4592056d41ac5b1ab41e980 Author: Jouni Malinen Date: Tue May 5 20:35:15 2009 +0300 mac80211: Comment the order of HT RX reorder handler vs. RX handlers We are currently processing block ack reordering as a separate task before all other RX handlers. In theory, this is wrong since this step should be done only after duplicate removal (see Figure 6-1 in IEEE 802.11n). However, moving this needs some work and the current situation is not too bad. Add a comment here so that this small detail does not get forgotten and who knows, maybe someone has some extra time to take a look at cleaning this up. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 4d050f1daed3babf6fcc337f862a245d31af4452 Author: Jouni Malinen Date: Tue May 5 20:35:14 2009 +0300 mac80211: Add a timeout for frames in the RX reorder buffer This patch allows skbs to be released from the RX reorder buffer in case they have been there for an unexpectedly long time without us having received the missing frames before them. Previously, these frames were only released when the reorder window moved and that could take very long time unless new frames were received constantly (e.g., TCP connections could be killed more or less indefinitely). This situation should not happen very frequently, but it looks like there are some scenarious that trigger it for some reason. As such, this should be considered mostly a workaround to speed up recovery from unexpected siutation that could result in connections hanging for long periods of time. The changes here will only check for timeout situation when adding new RX frames to the reorder buffer. It does not handle all possible cases, but seems to help for most cases that could result from common network usage (e.g., TCP retrying at least couple of times). For more completely coverage, a timer could be used to periodically check whether there are any frames remaining in the reorder buffer if no new frames are received. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2d3babd11f91501f49c6af212e6795bd8954f4d4 Author: Jouni Malinen Date: Tue May 5 20:35:13 2009 +0300 mac80211: Use a shared function to release frames from RX reorder buf No need to duplicate the same code in two places (and that would be three after the followup patch). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 358623c22c9fd837b3b1b444377037f72553dc9f Author: Ivo van Doorn Date: Tue May 5 19:46:08 2009 +0200 rt2x00: Simplify rt2x00_check_rev rt2x00_check_rev() was too specific for rt2500usb and rt73usb, by adding the mask argument (instead of hardcoding it into the function itself) we can use the function in rt2800usb as well. v2: Fix revision mask for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6cfe62cd58da862db04d4eb61f218f65b0cedbb3 Author: Luis R. Rodriguez Date: Tue May 5 15:48:39 2009 -0400 mac80211: Fix sparse warning for ssid_len on ieee80211_sta_config_auth() net/mac80211/mlme.c:2079:28: warning: symbol 'ssid_len' shadows an earlier one net/mac80211/mlme.c:2022:12: originally declared here ssid_len is already being declared and checked above so there is no need for it again. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 83f8b478ff5ed7d7df0bf91336bbede7b4714771 Author: John W. Linville Date: Wed May 6 14:16:15 2009 -0400 p54: correct merge damage from "p54: more SoftLED updates" Ooops... Signed-off-by: John W. Linville commit 8a7130404948b966e98b1285e777972b4b3f2fa2 Author: Alexander Beregalov Date: Mon May 4 20:46:25 2009 +0400 ar9170: fix build when !CONFIG_PM Fix this build error when CONFIG_PM is not set: drivers/net/wireless/ath/ar9170/usb.c: In function 'ar9170_usb_probe': drivers/net/wireless/ath/ar9170/usb.c:692: error: 'struct usb_device' has no member named 'reset_resume' Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 7738231f98578c8cd5b367441b4aa79ce864856f Author: Johannes Berg Date: Mon May 4 17:52:10 2009 +0200 mac80211: report operating frequency rather than current It's not very helpful to see, in iwconfig, the current frequency the card is tuned to if that frequency is currently somewhere across the board because we're scanning. Since we keep track of the frequency the user wants, display that instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1b06bb4087d195d8289919df2f4d95ec3b89769e Author: Luis R. Rodriguez Date: Sat May 2 00:34:48 2009 -0400 cfg80211: make nl80211_send_mlme_timeout() static Fixes sparse complaint: CHECK net/wireless/nl80211.c net/wireless/nl80211.c:3694:6: warning: symbol 'nl80211_send_mlme_timeout' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 13792578c88961256dd30e3a5d3fa1ac1ec9a7e0 Author: Hauke Mehrtens Date: Fri May 1 13:12:36 2009 +0200 p54usb: Fixes compile error with CONFIG_PM=n /drivers/net/wireless/p54/p54usb.c: In function 'p54u_probe': /drivers/net/wireless/p54/p54usb.c:923: error: 'struct usb_device' has no member named 'reset_resume' In the struct usb_device the reset_resume attribute is only available when CONFIG_PM is defined. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 928841b1538df117658ec5977bcf336c27f7747b Author: Greg Kroah-Hartman Date: Thu Apr 30 23:02:47 2009 -0700 Wireless: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: John W. Linville Cc: linux-wireless@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 8bce6121706dd82c266c3f527e592abfb3e164d1 Author: Bob Copeland Date: Fri May 1 08:20:07 2009 -0400 wl12xx: correct printk format warnings Fixes warnings: drivers/net/wireless/wl12xx/main.c:87: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/main.c: In function `wl12xx_fetch_nvs': drivers/net/wireless/wl12xx/main.c:125: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/wl1251.c: In function 'wl1251_upload_firmware': drivers/net/wireless/wl12xx/wl1251.c:94: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/wl1251.c:141: warning: int format, different type arg (arg 2) Signed-off-by: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 4e8e2c824027ed433be3c599294bf093a120ad9d Author: Tomas Winkler Date: Thu Apr 30 13:56:29 2009 -0700 iwlwifi: replace test_and_set_bit by set_bit in clear stations function This patch replaces test_and_set_bit by set_bit since the bit is not tested anyway Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a30199f129e17998f802d3307907560431e78493 Author: Wey-Yi Guy Date: Thu Apr 30 13:56:28 2009 -0700 iwlwifi: "is_fat" bit in rate scale match RXON flag This patch change the "is_fat" checking in rate scale to use iwl_is_fat_tx_allowed() to match the sta and RX_ON command setting. Signed-off-by: Wey-Yi Guy Tested-by: Conrad Kostecki Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 286d94906587901851906a5e2ddc09bc1a7ba1d9 Author: Reinette Chatre Date: Thu Apr 30 13:56:27 2009 -0700 iwlagn: disable PS support for iwlagn Some issues in PS prevent us from supporting it reliably. When 4965 goes to sleep it stores some data in host DRAM, reads it back when device wakes up. In 4965 there is a problem that the data is not correct when ucode starts using it upon wakeup. For all iwlagn devices there is a problem where command is sent when PS is enabled. At the moment there is a locking problem with priv->lock not being held and thus not requesting nic access correctly. We disable PS until these issues have been resolved. Signed-off-by: Reinette Chatre Signed-off-by: Mohamed Abbas Signed-off-by: John W. Linville commit 722404983b9deb21e4f786224201ca2ab27a1c48 Author: Abhijeet Kolekar Date: Thu Apr 30 13:56:26 2009 -0700 iwl3945: fix lock dependency Patch seperates rx_used and rx_free into two different atomic contexts. We can now avoid using GFP_ATOMIC for skb allocation and use GFP_KERNEL. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 84379cba44042a4caf793f821be8bd1a9b8235c2 Author: Paride Legovini Date: Thu Apr 30 15:55:52 2009 -0400 Add LED support for AR5BXB6 IBM Thinkpad PCIe adapters Add LED support on the IBM ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6), found on the IBM/Lenovo Thinkpad X60/T60/Z60 series. Signed-off-by: Paride Legovini Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6752ee90aa7c933294a10dbd9ea51f12dece7eb1 Author: Bob Copeland Date: Thu Apr 30 15:55:51 2009 -0400 ath5k: use ctl settings based on current regdomain Update ath5k to use the ctl settings for tx power based on current regulatory domain. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 57e6c56dbb52d680f61dd629759fe2974840ed93 Author: Nick Kossifidis Date: Thu Apr 30 15:55:50 2009 -0400 ath5k: Add Spur filter support on newer chips * Add spur filter support for RF5413 and later chips Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 2bed03ebf62f9d013a455209bf30d7e086120443 Author: Nick Kossifidis Date: Thu Apr 30 15:55:49 2009 -0400 ath5k: Implement antenna control * Add code to support the various antenna scenarios supported by hw * For now hardcode the default scenario (single or dual omnis with tx/rx diversity working and tx antenna handled by session -hw keeps track on which antenna it got ack from each ap/station and maps each ap/station to one of the antennas-). Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6f5f39c95af519c24c0187950147eb79d07d1940 Author: Jiri Slaby Date: Thu Apr 30 15:55:48 2009 -0400 ath5k: Enable AP mode After some debuging we were hitting the following bugs so far... * Due to huge channel list hostapd couldn't get infos from the driver and couldn't set the channel. If we manualy set the channel after hostapd starts (by setting channel to 0 -auto), beacons are sent but they wont show up on scan because they are malformed (they have channel = 0 because hostapd doesn't update the channel info -this is probably a hostapd bug so i'm CCing Jouni) and they get dropped. Bob fixed this by only allowing standard channels to be registered so now hostapd works as expected. * Docs (and HAL source) say that we must write 0 on timer0 when operating on AP mode to start TSF increment but this seems to mess with DBA in many cases and beacon queue never gets started. We fixed that on the previous patch. We have some more things to deal with... * For some reason (hw bug or something else) after restarting hostapd a few times, beacon inteval seems to change from 100ms to a sec (we get one beacon per sec). * We need to set sleep timers on STA mode and enable power saving + support PCF. ...but i think it's time we enable AP support "officialy" so that we can get more feedback from users. I ran ath5k with the mentioned patches + hostapd 0.6.8 and AP mode worked fine (it had some less throughput on my tests than IBSS but it worked). Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 428cbd4ff4d0f2423f49e499f499f04a636cb152 Author: Nick Kossifidis Date: Thu Apr 30 15:55:47 2009 -0400 ath5k: Beaconing fixes * Write next beacon timer even on AP mode since without this we get no beacons + ath9k does it too. Docs say that we must write 0 on this register on AP mode to start TSF increment, we do both to be on the safe side. * Fix num_tx_pending function, we never read the register :P that's why we got all those "beacon queue 7 didn't stop messages". * Put full prioriy on beacon queue, lock all queues with lower priority using the arblock and also bypass any arblock by seting the arblock ignore flag. * For the CAB queue (do we need this thing ?, it seems crap) since it's supposed to fire up after each beacon (we don't use it on driver part, ath9k/MadWiFi does), don't make it DBA gated but instead make it fire after each beacon by using the beacon sent gated flag. * Increase bmiss threshold to 10, that's what we used on MadWiFi for a long time. Also when we have pending frames on the beacon queue (we got a beacon that didn't make it on the air) it's more likely that the beacon queue never started, probably due to faulty DBA setting, so change that "beacon queue didn't stop" message. Tested this with AP mode and IBSS mode and seems to work fine ;-) Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1889ba0a48688b639c2b2e9e1b0fd8f84e2c37d1 Author: Nick Kossifidis Date: Thu Apr 30 15:55:46 2009 -0400 ath5k: Put remaining EEPROM data on ee struct * Put remaining EEPROM information on ee struct and remove is_hb63 function. Now we also have rfkill stuff available. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cd417519086b223562b50c364d7beab12ef4c62c Author: Nick Kossifidis Date: Thu Apr 30 15:55:45 2009 -0400 ath5k: Read Spur channels from EEPROM * Read Spur channel information from EEPROM and use default channels for RF5413 compatible chips that don't have this info on EEPROM. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit a082381044ce026e83dbd17f8837722b028fc07d Author: Nick Kossifidis Date: Thu Apr 30 15:55:44 2009 -0400 ath5k: Allow user/driver to set txpower * Now that we have regulatory control enable the driver to set txpower on hw * Also use txpower table offset so that we can match power range set by user/driver with indices on power table. Tested 2 different cards (a CM9 and an RF5112-based ubnt) and got the same output using a remote machine to measure per-packet rssi (conected the cards using attenuators). I also switched between various tx power levels and i saw an equal power change on the remote machine (so txpower changes as expected) and verified that we have the same output on each rate. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 15e469284d5e89c9113379b68566b0e059a97704 Author: Ivo van Doorn Date: Tue Apr 28 20:14:58 2009 +0200 rt2x00: Synchronize initialization with rt2870 driver Ralink released a new rt2870 driver, these are the obvious differences I could find. It doesn't same to make my device work better, but neither does it seem to regress... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e430d6074dede3b4d7d87e30296fe3894cb4709c Author: Ivo van Doorn Date: Mon Apr 27 23:58:31 2009 +0200 rt2x00: Add new USB ID for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2f01a1f58889fbfeb68b1bc1b52e4197f3333490 Author: Kalle Valo Date: Wed Apr 29 23:33:31 2009 +0300 wl12xx: add driver wl12xx is a driver for TI wl1251 802.11 chipset designed for embedded devices, supporting both SDIO and SPI busses. Currently the driver supports only SPI. Adding support 1253 (the 5 GHz version) should be relatively easy. More information here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=4711&navigationId=12494&templateId=6123 (Collapsed original sequence of pre-merge patches into single commit for initial merge. -- JWL) Signed-off-by: Kalle Valo Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit d53d9e67b55f6a9fc3f836c5c392eb41ce5676f4 Author: Ivo van Doorn Date: Sun Apr 26 15:47:48 2009 +0200 rt2x00: Implement support for rt2800usb Add support for the rt2800usb chipset. Current problems: * Cannot scan 11n AP's * No TX during first minute after association * Broken Hardware encryption Includes various patches from Mattias, Felix, Xose and Axel. Signed-off-by: Mattias Nissler Signed-off-by: Felix Fietkau Signed-off-by: Xose Vazquez Perez Signed-off-by: Axel Kollhofer Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 206eade5a68f7a06adbe7c65e47fd88843ad0546 Author: Alban Browaeys Date: Wed Apr 29 22:00:23 2009 +0200 rt2x00: Style fix for interval defines Extra parenthesis are not needed in these 2 cases, all other defines in rt2x00 are done without parenthesis so just fixup these 2 cases. Signed-off-by: Alban Browaeys Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fb4a3d35a26aa8ef5049f10666e6a163b4c32855 Author: Gabor Juhos Date: Wed Apr 29 13:01:58 2009 +0200 ath9k: uninline ath9k_io{read,write}32 routines The spin_lock handling uses lots of instructions on some archs. With this patch the size of the ath9k module will be significantly smaller. Signed-off-by: Gabor Juhos Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5cff20e6c5a6591a79d3b027af222870f52bb550 Author: Johannes Berg Date: Wed Apr 29 12:26:17 2009 +0200 mac80211: tell driver when idle When we aren't doing anything in mac80211, we can turn off much of the hardware, depending on the driver/hw. Not doing anything, aka being idle, means: * no monitor interfaces * no AP/mesh/wds interfaces * any station interfaces are in DISABLED state * any IBSS interfaces aren't trying to be in a network * we aren't trying to scan By creating a new function that verifies these conditions and calling it at strategic points where the states of those conditions change, we can easily make mac80211 tell the driver when we are idle to save power. Additionally, this fixes a small quirk where a recalculated powersave state is passed to the driver even if the hardware is about to stopped completely. This patch intentionally doesn't touch radio_enabled because that is currently implemented to be a soft rfkill which is inappropriate here when we need to be able to wake up with low latency. One thing I'm not entirely sure about is this: phy0: device no longer idle - in use wlan0: direct probe to AP 00:11:24:91:07:4d try 1 wlan0 direct probe responded wlan0: authenticate with AP 00:11:24:91:07:4d wlan0: authenticated > phy0: device now idle > phy0: device no longer idle - in use wlan0: associate with AP 00:11:24:91:07:4d wlan0: RX AssocResp from 00:11:24:91:07:4d (capab=0x401 status=0 aid=1) wlan0: associated Is it appropriate to go into idle state for a short time when we have just authenticated, but not associated yet? This happens only with the userspace SME, because we cannot really know how long it will wait before asking us to associate. Would going idle after a short timeout be more appropriate? We may need to revisit this, depending on what happens. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9955151df7c6452cae2ed9649f53d265c91cf155 Author: Gábor Stefanik Date: Thu Apr 23 19:36:14 2009 +0200 mac80211: Warn if the rate controller requests retries for a NO_ACK frame To deter future rate scaling algorithm writers from requesting NO_ACK packets to be retried, throw a WARN_ON_ONCE if the algorithm hands us a try count over 1 for NO_ACK packet. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 97d3f458a1e3350dfcbdc3b6aefa75d20d59ee17 Author: Gábor Stefanik Date: Thu Apr 23 19:36:11 2009 +0200 ath9k: Fix handling of retry count of NO_ACK frames Check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use lowest rate without retries. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 514d65c18ee3595f7f9c9132895ed449f911ecd4 Author: Gábor Stefanik Date: Thu Apr 23 19:36:08 2009 +0200 iwlwifi: Fix handling of retry count of NO_ACK frames in iwl-{3945|agn}-rs Make iwl-{3945|agn}-rs check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use the lowest rate, and set the retry count to 0 (total try count = 1) if IEEE80211_TX_CTL_NO_ACK is set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 922368414e5700d1ed51510e54137359297d78e7 Author: Gábor Stefanik Date: Thu Apr 23 20:06:06 2009 +0200 mac80211: Fix handling of retry count of NO_ACK frames in PID Make PID check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use the lowest rate, and set the retry count to 0 (total try count = 1) if IEEE80211_TX_CTL_NO_ACK is set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4edf040afc9237aa8cc90bcf54b521ac47d1ed78 Author: Gábor Stefanik Date: Thu Apr 23 19:36:00 2009 +0200 mac80211: Fix handling of retry count of NO_ACK frames in minstrel Make the retry count zero (total try count = 1) for frames with IEEE80211_TX_CTL_NO_ACK set. Also remove the check for is_multicast_ether_addr in use_low_rate, which is redundant because all multicasts have IEEE80211_TX_CTL_NO_ACK set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 2516baa63bc7d05a6573a0f584135484ed182a87 Author: Bob Copeland Date: Mon Apr 27 22:18:10 2009 -0400 ath5k: correct interrupt storm warning Ben Greear points out that the "too many interrupts" message will never print in the intended case since the interrupt counter will be -1 after the loop. Change it to pre-decrement so it will be 0 on the thousandth iteration. Cc: Ben Greear Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 35f00cfcc06bb85e0659f9847400518008d78145 Author: Ivo van Doorn Date: Sun Apr 26 16:09:32 2009 +0200 rt2x00: Implement support for 802.11n Extend rt2x00lib capabilities to support 802.11n, it still lacks aggregation support, but that can be added in the future. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9f1661718c7fcf82e25c6aed20b729ee372d9d65 Author: Ivo van Doorn Date: Sun Apr 26 16:08:50 2009 +0200 rt2x00: Add support for L2 padding during TX/RX Some hardware require L2 padding between header and payload because both must be aligned to a 4-byte boundary. This hardware also is easier during the RX path since we no longer need to move the entire payload but rather only the header to remove the padding (mac80211 only wants the payload to be 4-byte aligned). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9eb4e21e289beba9cfe34f24920eee83c144e62f Author: Ivo van Doorn Date: Sun Apr 26 16:08:30 2009 +0200 rt2x00: Move iv_len into tx descriptor data By placing the iv_len into the tx descriptor data and by passing this data to the crypto IV handlers we can save multiple calls to ieee80211_get_hdrlen_from_skb() and some if-statements when copying/removing the IV data from the outgoing frame. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bbb33881ae5bfe4197a005dc03b29b7dcc07fa28 Author: Tobias Klauser Date: Sun Apr 26 14:58:40 2009 +0200 ath5k: Storage class should be before const qualifier commit 8e218fb24faef0bfe95bc91b3c05261e20439527 reverted the previous patch (commit 925be8a3077351edbf2b59ca689105df214a0792). 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 ba5101d098d6a8471d1a3147fb610b2ee3dbb397 Author: Roel Kluin Date: Sun Apr 26 14:40:59 2009 +0200 ar9170: wrong test on outlen in ar9170_usb_exec_cmd() ? remove redundant test: outlen is unsigned Signed-off-by: Roel Kluin Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 44e1b98f733e48bb781e4229120e1de5e0c9fdbb Author: Michael Buesch Date: Sun Apr 26 11:27:33 2009 +0200 cfg80211: Use the correct IE buffer pointer If the IE buffer was allocated, the pub.information_elements pointer was also changed to the allocated space. So we must not assume anymore that the pointer points at the "found" tail. So if it was allocated previously, take the codebranch that grows the buffer size (if necessary) and put the data into the allocated buffer. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 273de92c8461776aaac7b32f8d5889a72b38ea10 Author: Michael Buesch Date: Sat Apr 25 22:28:55 2009 +0200 cfg80211: Remove unnecessary ksize() call This removes an unnecessary ksize() call. krealloc() will do this test internally and won't perform any allocation if the space is already sufficient to hold the data. So remove the redundant check. Signed-off-by: Michael Buesch Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 90ccda9baccec8223ca5456fbe49adf7264d1543 Author: Christian Lamparter Date: Sat Apr 25 21:32:09 2009 +0200 ar9170usb: reset device on resume This patch takes care of an outstanding comment in "[PATCH] ar9170usb: fix hang on resume" commit message. >However, the device does not accept the firmware on resume. >and it will exit with: > >> firmware part 1 upload failed (-71). >> device is in a bad state. please reconnect it! Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Tested-by: Johannes Berg Signed-off-by: John W. Linville commit 1ca5f2e94c40b04d5dec437cd41fd5ba12aaac31 Author: Christian Lamparter Date: Sat Apr 25 21:12:09 2009 +0200 p54usb: rework driver for resume This patch redo the driver code so that p54usb no longer hangs the kernel on resume. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a406ac0dc15b22807b65f5a6590b9cb34d99d4ab Author: Christian Lamparter Date: Sat Apr 25 21:11:55 2009 +0200 p54usb: remove some dead code Since "p54: prevent upload of wrong firmwares" we no longer allow outdated LM86 firmwares to be uploaded on ISL3887 (LM87) devices. Therefore we can purge this buggy legacy code altogether. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ded7a7eaab2a39b7b5c36a2ec3be46f6ebcedba5 Author: Jiri Slaby Date: Sat Apr 25 14:09:23 2009 +0200 ath5k: 5211, don't crypt every protected frame Set null key type even on ar5211, otherwise it en/decrypts every frame with protected bit set which renders the card unusable on encrypted networks. Signed-off-by: Jiri Slaby Cc: Luis R. Rodriguez Cc: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit aeca78b9b094d00cccca39e9a1055c74ad83ea69 Author: Andrew Morton Date: Fri Apr 24 15:26:02 2009 -0700 net/rfkill/rfkill.c: fix build with CONFIG_RFKILL_LEDS=n net/rfkill/rfkill.c: In function 'update_rfkill_state': net/rfkill/rfkill.c:99: error: implicit declaration of function 'rfkill_led_trigger' Caused by : commit 492301fb5d12e4a77a1010ad2b6f1ed306014123 : Author: Larry Finger : Date: Thu Apr 9 22:14:19 2009 -0500 : : rfkill: Fix broken rfkill LED in 2.6.30-rc1 Cc: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Michael Buesch Cc: David S. Miller Cc: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 0ef9ccdd9ec7f2cf28d0605c216d853687f5291d Author: Chris Wright Date: Fri Apr 24 14:09:31 2009 -0700 cfg80211: remove superfluous !last_request check in reg_device_remove() Commit 0ad8acaf "cfg80211: fix NULL pointer deference in reg_device_remove()" added a check that last_request is non-NULL, rendering the 2nd check superfluous. While there, rearrange the code a bit so it's a little more straight forward. Signed-off-by: Chris Wright Signed-off-by: John W. Linville commit 2cfb1f5e20f260e6ff306ba181efee956ba48f54 Author: Christian Lamparter Date: Fri Apr 24 21:41:18 2009 +0200 ar9170: uncomment powermgt case handle This patch uncomment a few lines that survived the RFCs. However, there is not much to worry about, since AP mode is not officially advertised and supported. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 083c4687bc3abc315c73830b9c74ad67e005d8c2 Author: Christian Lamparter Date: Fri Apr 24 21:35:57 2009 +0200 ar9170: handle otus' A-MPDU density definitions Otus uses slightly different set of "Minimum MPDU Start Spacing" values than the 802.11n D2.0 specifies. (the whole table is shifted by one and therefore the 16us spacing is not officially available!) And while we're at it, we also initialize our MAC's density register. So, this annoying _feature_ will not break TX A-MPDU later. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 16cf438a1eca2b7206bd7ac7763637c2a87c00c6 Author: Johannes Berg Date: Fri Apr 24 15:15:25 2009 +0200 mac80211: fix probe response processing Due to the use of a _REQ_DIRECT_PROBE bit, which is unnecessary (and I wonder why it was done that way), an interesting situation can arise: 1) we try to probe an access point 2) the AP doesn't response in time 3) we tell userspace that we gave up 4) the AP suddenly responds 5) we auth/assoc with the AP I've seen 4) happen in testing with hostapd SIGSTOPped, and when SIGCONTinued it processes the probe requests that came in and send responses. But 5) is not supposed to happen after we tell everybody we've given up on the AP. To fix this, remove the _REQ_DIRECT_PROBE request bit, and process probe responses when we're in the relevant MLME state, namely IEEE80211_STA_MLME_DIRECT_PROBE. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d91f190c412aff940a46cabaccf114361c133605 Author: Johannes Berg Date: Fri Apr 24 15:13:54 2009 +0200 mac80211_hwsim: fix bogus warning A typo slipped into my patch to configure beacon intervals properly -- this warning is supposed to trigger when the beacon interval is zero, not non-zero. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e61f234079b49c7e075b12551797fc4954704019 Author: Jouni Malinen Date: Fri Apr 24 00:00:00 2009 +0300 nl80211: Send timeout event on failed direct probe If the direct probe times out, we need to send the authentication timeout event to notify SME in the same way as we notify on timeout with authentication frames since the direct probe is run as part of the authentication attempt. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2448798133d747ad339e57099e32a1d1e68aca1c Author: Johannes Berg Date: Thu Apr 23 18:52:52 2009 +0200 mac80211: add driver ops wrappers In order to later add tracing or verifications to the driver calls mac80211 makes, this patch adds static inline wrappers for all operations. All calls are now written as drv_(local, ...); instead of local->ops->(&local->hw, ...); Where necessary, the wrappers also do existence checking and return default values as appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2d0ddec5b2b859f06116f631fc0ffe94fbceb556 Author: Johannes Berg Date: Thu Apr 23 16:13:26 2009 +0200 mac80211: unify config_interface and bss_info_changed The config_interface method is a little strange, it contains the BSSID and beacon updates, while bss_info_changed contains most other BSS information for each interface. This patch removes config_interface and rolls all the information it previously passed to drivers into bss_info_changed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 57c4d7b4c4986037be51476b8e3025d5ba18d8b8 Author: Johannes Berg Date: Thu Apr 23 16:10:04 2009 +0200 mac80211: clean up beacon interval settings We currently have two beacon interval configuration knobs: hw.conf.beacon_int and vif.bss_info.beacon_int. This is rather confusing, even though the former is used when we beacon ourselves and the latter when we are associated to an AP. This just deprecates the hw.conf.beacon_int setting in favour of always using vif.bss_info.beacon_int. Since it touches all the beaconing IBSS code anyway, we can also add support for the cfg80211 IBSS beacon interval configuration easily. NOTE: The hw.conf.beacon_int setting is retained for now due to drivers still using it -- I couldn't untangle all drivers, some are updated in this patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3b85252f081581a8f257545ed748062dce7798b Author: Johannes Berg Date: Thu Apr 23 16:01:47 2009 +0200 mac80211: fix scan races and rework scanning There are some places marked /* XXX maybe racy? */ and they really are racy because there's no locking. This patch reworks much of the scan code, and introduces proper locking for the scan request as well as the internal scanning (which is necessary for IBSS/managed modes). Helper functions are added to call the scanning code whenever necessary. The scan deferring is changed to simply queue the scanning work instead of trying to start the scan in place, the scanning work will then take care of the rest. Also, currently when internal scans are requested for an interface that is trying to associate, we reject such scans. This was not intended, the mlme code has provisions to scan twice when it can't find the BSS to associate with right away; this has never worked properly. Fix this by not rejecting internal scan requests for an interface that is associating. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2d72289095e9621158acf1d59a830cfe920fa93b Author: Johannes Berg Date: Thu Apr 23 10:38:26 2009 +0200 mac80211: internally clear failed scans properly When the IBSS code wants to scan, but that fails, we can get stuck in a situation where you can never scan again. Fix this by properly notifying ourselves when the scan request has failed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ccebe6148bcb0aba2d89743df2ff182ced505ec Author: Johannes Berg Date: Thu Apr 23 10:32:36 2009 +0200 mac80211: rename max_sleep_interval to max_sleep_period Kalle points out that max_sleep_interval is somewhat confusing because the value is measured in beacon intervals, and not in TU. Rename it to max_sleep_period to be consistent with things like DTIM period that are also measured in beacon intervals. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d5edaedc16ebd0635435dec068d49e07a76ba7d9 Author: Johannes Berg Date: Wed Apr 22 23:02:51 2009 +0200 mac80211: fix PS vs. scan race When somebody changes the PS parameters while scanning is in progress, we enable PS -- during the scan. This is clearly not desirable, and we can just abort enabling PS when scanning since when the scan finishes it will be taken care of. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 0e41f715c04f85a40ae6531d660be2241717be1c Author: Johannes Berg Date: Thu Apr 23 11:48:56 2009 +0200 mac80211: fix various problems in ibss code There are a few problems in the IBSS code: a) it tries to activate interfaces that are down after scanning b) it crashes after scanning on an IBSS iface that isn't active c) since the ssid_len is used as a flag, need to make it visible only after all other settings are set, this helps protect against b) For b), we get a system crash: wlan0: Creating new IBSS network, BSSID ce:f9:88:76:1e:4d BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<...>] ieee80211_sta_find_ibss+0x294/0x37d [mac80211] Call Trace: [<...>] ieee80211_ibss_notify_scan_completed+0x0/0x88 [mac80211] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 00c81a58c5b4e0de14ee33bfbc3d71c90f69f9ea Author: Steven Rostedt Date: Wed May 6 12:40:51 2009 -0400 ring-buffer: check for failed allocation in ring buffer benchmark The result of the allocation of the ring buffer read page in the ring buffer bench mark does not check the return to see if a page was actually allocated. This patch fixes that. [ Impact: avoid NULL dereference ] Signed-off-by: Steven Rostedt commit 8e7abf1c62941ebb7a1416cbc62392c8a0902625 Author: Steven Rostedt Date: Wed May 6 10:26:45 2009 -0400 ring-buffer: remove unneeded conditional in rb_reserve_next The code in __rb_reserve_next checks on page overflow if it is the original commiter and then resets the page back to the original setting. Although this is fine, and the code is correct, it is a bit fragil. Some experimental work I did breaks it easily. The better and more robust solution is to have all commiters that overflow the page, simply subtract what they added. [ Impact: more robust ring buffer account management ] Signed-off-by: Steven Rostedt commit 72cbfd45fac627de4bd38c203baaac40cd26477c Author: Takashi Iwai Date: Wed May 6 17:33:19 2009 +0200 ALSA: ice1724 - Add ESI Maya44 support Added the support for ESI Maya44 board to ice1724 driver. Signed-off-by: Takashi Iwai commit 2bf864ac963c5126a9c7c3dce0958390fb612270 Author: Takashi Iwai Date: Wed May 6 17:30:17 2009 +0200 ALSA: ice1724 - Allow spec driver to create own routing controls Added a new flag, own_routing, to allow spec drivers to create own routing controls. Also, the basic get/put calls are changed to be external for later use by maya44 driver. Signed-off-by: Takashi Iwai commit d82b64f4764755d765038cf95b1dbe7db039592a Author: Takashi Iwai Date: Wed May 6 17:25:42 2009 +0200 ALSA: ice1724 - Add PCI postint to reset sequence Add the PCI posting to ensure the reset sequence in snd_vt1724_chip_reset(). Signed-off-by: Takashi Iwai commit a5b7b5c1d05387ffeaf0487482806ec6c5968ac7 Author: Takashi Iwai Date: Wed May 6 17:22:07 2009 +0200 ALSA: ice1724 - Clean up definitions of DMA records Rename some vt1724_pcm_reg records to more generic and consistent ones. Signed-off-by: Takashi Iwai commit 92d71005e2f305d6dca126d8b8497e885b842dba Author: Takashi Iwai Date: Wed May 6 17:18:34 2009 +0200 ALSA: ice1724 - Check error in set_rate function The set_rate might return error but the current code doesn't check it. This patch adds a proper error check. Signed-off-by: Takashi Iwai commit 35cf723e99c0e26ddf51f037dffaa4ff2c2c9106 Author: Christoph Hellwig Date: Wed May 6 12:33:38 2009 +0200 tracing: small trave_events sample Makefile cleanup Use -I$(src) to add the current directory the include path. [ Impact: cleanup ] Signed-off-by: Christoph Hellwig Acked-by: Steven Rostedt LKML-Reference: Signed-off-by: Ingo Molnar commit 48dd0fed90e2b1f1ba87401439b85942181c6df3 Author: Jaswinder Singh Rajput Date: Wed May 6 15:45:45 2009 +0530 tracing: trace_output.c, fix false positive compiler warning This compiler warning: CC kernel/trace/trace_output.o kernel/trace/trace_output.c: In function ‘register_ftrace_event’: kernel/trace/trace_output.c:544: warning: ‘list’ may be used uninitialized in this function Is wrong as 'list' is always initialized - but GCC (4.3.2) does not recognize this relationship properly. Work around the warning by initializing the variable to NULL. [ Impact: fix false positive compiler warning ] Signed-off-by: Jaswinder Singh Rajput Acked-by: Steven Rostedt LKML-Reference: Signed-off-by: Ingo Molnar commit 22a7c31a9659deaddafbbcec6562d44141e84474 Author: Alan D. Brunelle Date: Mon May 4 16:35:08 2009 -0400 blktrace: from-sector redundant in trace_block_remap Remove redundant from-sector parameter: it's /always/ the bio's sector passed in. [ Impact: cleanup ] Signed-off-by: Alan D. Brunelle Reviewed-by: Li Zefan Reviewed-by: KOSAKI Motohiro Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <49FF517C.7000503@hp.com> Signed-off-by: Ingo Molnar commit a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1 Author: Alan D. Brunelle Date: Mon May 4 16:27:26 2009 -0400 blktrace: correct remap names This attempts to clarify names utilized during block I/O remap operations (partition, volume manager). It correctly matches up the /from/ information for both device & sector. This takes in the concept from Kosaki Motohiro and extends it to include better naming for the "device_from" field. [ Impact: cleanup ] Signed-off-by: Alan D. Brunelle Reviewed-by: Li Zefan Reviewed-by: KOSAKI Motohiro Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <49FF4FAE.3000301@hp.com> Signed-off-by: Ingo Molnar commit de1d7286060430e79a1d50ad6e5fee8fe863c5f6 Author: Mathieu Desnoyers Date: Tue May 5 16:49:59 2009 +0800 tracepoint: trace_sched_migrate_task(): remove parameter The orig_cpu parameter in trace_sched_migrate_task() is not necessary, it can be got by using task_cpu(p) in the probe. [ Impact: micro-optimization ] Signed-off-by: Mathieu Desnoyers [ modified from Mathieu's patch. The original patch is at: http://marc.info/?l=linux-kernel&m=123791201716239&w=2 ] Signed-off-by: Xiao Guangrong Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: Li Zefan Cc: zhaolei@cn.fujitsu.com Cc: laijs@cn.fujitsu.com LKML-Reference: <49FFFDB7.1050402@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 22cfbbfd9f67b67fe073010f51cb71d3632387d5 Author: john stultz Date: Wed May 6 11:43:57 2009 +0200 ntp: adjust SHIFT_PLL to improve NTP convergence The conversion to the ntpv4 reference model f19923937321244e7dc334767eb4b67e0e3d5c74 ("ntp: convert to the NTP4 reference model") in 2.6.19 added nanosecond resolution the adjtimex interface, but also changed the "stiffness" of the frequency adjustments, causing NTP convergence time to greatly increase. SHIFT_PLL, which reduces the stiffness of the freq adjustments, was designed to be inversely linked to HZ, and the reference value of 4 was designed for Unix systems using HZ=100. However Linux's clock steering code mostly independent of HZ. So this patch reduces the SHIFT_PLL value from 4 to 2, which causes NTPd behavior to match kernels prior to 2.6.19, greatly reducing convergence times, and improving close synchronization through environmental thermal changes. The patch also changes some l's to L's in nearby code to avoid misreading 50l as 501. [ Impact: tweak NTP algorithm for faster convergence ] Signed-off-by: John Stultz Acked-by: Rik van Riel Cc: zippel@linux-m68k.org Signed-off-by: Andrew Morton LKML-Reference: <200905051956.n45JuVo9025575@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit 20c8928abe70e204bd077ab6cfe23002d7788983 Author: Li Zefan Date: Wed May 6 10:33:45 2009 +0800 tracing/events: fix concurrent access to ftrace_events list A module will add/remove its trace events when it gets loaded/unloaded, so the ftrace_events list is not "const", and concurrent access needs to be protected. This patch thus fixes races between loading/unloding modules and read 'available_events' or read/write 'set_event', etc. Below shows how to reproduce the race: # for ((; ;)) { cat /mnt/tracing/available_events; } > /dev/null & # for ((; ;)) { insmod trace-events-sample.ko; rmmod sample; } & After a while: BUG: unable to handle kernel paging request at 0010011c IP: [] t_next+0x1b/0x2d ... Call Trace: [] ? seq_read+0x217/0x30d [] ? seq_read+0x0/0x30d [] ? vfs_read+0x8f/0x136 [] ? sys_read+0x40/0x65 [] ? sysenter_do_call+0x12/0x36 [ Impact: fix races when concurrent accessing ftrace_events list ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker Cc: Tom Zanussi Cc: Peter Zijlstra LKML-Reference: <4A00F709.3080800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2df75e415709ad12862028916c772c1f377f6a7c Author: Li Zefan Date: Wed May 6 10:33:04 2009 +0800 tracing/events: fix memory leak when unloading module When unloading a module, memory allocated by init_preds() and trace_define_field() is not freed. [ Impact: fix memory leak ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4A00F6E0.3040503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 96d17980fabeb757706d2d6db5a28580a6156bfc Author: Li Zefan Date: Wed May 6 10:32:32 2009 +0800 tracing/events: make SAMPLE_TRACE_EVENTS default to n Normally a config should be default to n. This patch also makes the sample module-only, like SAMPLE_MARKERS and SAMPLE_TRACEPOINTS. [ Impact: don't build trace event sample by default ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A00F6C0.8090803@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fd6da10a617f483348ee32bcfe53fd20c302eca1 Author: Li Zefan Date: Wed May 6 10:32:13 2009 +0800 tracing/events: don't say hi when loading the trace event sample The sample is useful for testing, and I'm using it. But after loading the module, it keeps saying hi every 10 seconds, this may be disturbing. Also Steven said commenting out the "hi" helped in causing races. :) [ Impact: make testing a bit easier ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A00F6AD.2070008@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6d6cb0d688d0f262cb4fd5771648b0ac01d4f82c Author: Adrian Hunter Date: Wed Apr 8 14:07:57 2009 +0200 UBIFS: reset no_space flag after inode deletion When UBIFS runs out of space it spends a lot of time trying to find more space before returning ENOSPC. As there is no point repeating that unless something has changed, UBIFS has an optimization to record that the file system is 100% full and not try to find space. That flag was not being reset when a pending deletion was finally done. Signed-off-by: Adrian Hunter Reviewed-by: Artem Bityutskiy commit 3611dfb8eda847c1c8e1a052f57206f7fddc6a7c Merge: 16c8a10 a511e3f Author: Ingo Molnar Date: Wed May 6 08:46:27 2009 +0200 Merge branch 'core/locking' into perfcounters/core Merge reason: we moved a mutex.h commit that originated from the perfcounters tree into core/locking - but now merge back that branch to solve a merge artifact and to pick up cleanups of this commit that happened in core/locking. Signed-off-by: Ingo Molnar commit b2e5d8588de0b5341eddad87dbe48d2185eaa3dd Author: Ingo Molnar Date: Wed May 6 07:55:33 2009 +0200 irq: change ->set_affinity() to return status, fix This build failure: arch/powerpc/sysdev/mpic.c:810: error: conflicting types for 'mpic_set_affinity' arch/powerpc/sysdev/mpic.h:39: error: previous declaration of 'mpic_set_affinity' was here make[2]: *** [arch/powerpc/sysdev/mpic.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Triggers because the function prototype was not updated when the function call signature got changed by: d5dedd4: irq: change ->set_affinity() to return status [ Impact: build fix on powerpc ] Cc: Benjamin Herrenschmidt Cc: Yinghai Lu Cc: Andrew Morton Cc: Rusty Russell Cc: linux-arch@vger.kernel.org LKML-Reference: <49F654E9.4070809@kernel.org> Signed-off-by: Ingo Molnar commit 5092dbc96f3acdac5433b27c06860352dc6d23b9 Author: Steven Rostedt Date: Tue May 5 22:47:18 2009 -0400 ring-buffer: add benchmark and tester This patch adds code that can benchmark the ring buffer as well as test it. This code can be compiled into the kernel (not recommended) or as a module. A separate ring buffer is used to not interfer with other users, like ftrace. It creates a producer and a consumer (option to disable creation of the consumer) and will run for 10 seconds, then sleep for 10 seconds and then repeat. While running, the producer will write 10 byte loads into the ring buffer with just putting in the current CPU number. The reader will continually try to read the buffer. The reader will alternate from reading the buffer via event by event, or by full pages. The output is a pr_info, thus it will fill up the syslogs. Starting ring buffer hammer End ring buffer hammer Time: 9000349 (usecs) Overruns: 12578640 Read: 5358440 (by events) Entries: 0 Total: 17937080 Missed: 0 Hit: 17937080 Entries per millisec: 1993 501 ns per entry Sleeping for 10 secs Starting ring buffer hammer End ring buffer hammer Time: 9936350 (usecs) Overruns: 0 Read: 28146644 (by pages) Entries: 74 Total: 28146718 Missed: 0 Hit: 28146718 Entries per millisec: 2832 353 ns per entry Sleeping for 10 secs Time: is the time the test ran Overruns: the number of events that were overwritten and not read Read: the number of events read (either by pages or events) Entries: the number of entries left in the buffer (the by pages will only read full pages) Total: Entries + Read + Overruns Missed: the number of entries that failed to write Hit: the number of entries that were written The above example shows that it takes ~353 nanosecs per entry when there is a reader, reading by pages (and no overruns) The event by event reader slowed the producer down to 501 nanosecs. [ Impact: see how changes to the ring buffer affect stability and performance ] Signed-off-by: Steven Rostedt commit 2feceeff1e771850e49f9074307f071964fd9e3e Author: H. Peter Anvin Date: Tue May 5 19:07:07 2009 -0700 x86: fix typo in address space documentation Fix a trivial typo in Documentation/x86/x86_64/mm.txt. [ Impact: documentation only ] Signed-off-by: H. Peter Anvin Cc: Rik van Riel commit c898faf91b3ec6b0f6efa35831b3984fa3331db0 Author: Rik van Riel Date: Tue May 5 17:28:56 2009 -0400 x86: 46 bit physical address support on 64 bits Extend the maximum addressable memory on x86-64 from 2^44 to 2^46 bytes. This requires some shuffling around of the vmalloc and virtual memmap memory areas, to keep them away from the direct mapping of up to 64TB of physical memory. This patch also introduces a guard hole between the vmalloc area and the virtual memory map space. There's really no good reason why we wouldn't have a guard hole there. [ Impact: future hardware enablement ] Signed-off-by: Rik van Riel LKML-Reference: <20090505172856.6820db22@cuia.bos.redhat.com> Signed-off-by: H. Peter Anvin commit aa20ae8444fc6c318272c643f856d8d8ad3e198d Author: Steven Rostedt Date: Tue May 5 21:16:11 2009 -0400 ring-buffer: move big if statement down In the hot path of the ring buffer "__rb_reserve_next" there's a big if statement that does not even return back to the work flow. code; if (cross to next page) { [ lots of code ] return; } more code; The condition is even the unlikely path, although we do not denote it with an unlikely because gcc is fine with it. The condition is true when the write crosses a page boundary, and we need to start at a new page. Having this if statement makes it hard to read, but calling another function to do the work is also not appropriate, because we are using a lot of variables that were set before the if statement, and we do not want to send them as parameters. This patch changes it to a goto: code; if (cross to next page) goto next_page; more code; return; next_page: [ lots of code] This makes the code easier to understand, and a bit more obvious. The output from gcc is practically identical. For some reason, gcc decided to use different registers when I switched it to a goto. But other than that, the logic is the same. [ Impact: easier to read code ] Signed-off-by: Steven Rostedt commit 07ff7a0b187f3951788f64ae1f30e8109bc8e9eb Author: Mimi Zohar Date: Tue May 5 13:13:10 2009 -0400 integrity: remove __setup auditing msgs Remove integrity audit messages from __setup() Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit e5e520a715dcea6b72f6b9417b203a4b1e813a8b Author: Mimi Zohar Date: Tue May 5 13:13:00 2009 -0400 integrity: use audit_log_string Based on a request from Eric Paris to simplify parsing, replace audit_log_format statements containing "%s" with audit_log_string(). Signed-off-by: Mimi Zohar Acked-by: Eric Paris Signed-off-by: James Morris commit 53fc0e2259f261602a2750dcc82b8d7bf04d3c35 Author: Mimi Zohar Date: Tue May 5 13:12:48 2009 -0400 integrity: lsm audit rule matching fix An audit subsystem change replaced AUDIT_EQUAL with Audit_equal. Update calls to security_filter_rule_init()/match() to reflect the change. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 94487d6d53af5acae10cf9fd52f74498994d46b1 Author: Steven Rostedt Date: Tue May 5 19:22:53 2009 -0400 tracing: use proper export symbol for tracing api When adding the EXPORT_SYMBOL to some of the tracing API, I accidently used EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. This patch fixes that mistake. [ Impact: export the tracing code only for GPL modules ] Reported-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 31b6e76e21b2ffd3cb2f6fe4149790a9fdadce2d Author: Tim Abbott Date: Thu Apr 30 20:06:11 2009 -0400 ftrace: use .sched.text, not .text.sched in recordmcount.pl The only references in the kernel to the .text.sched section are in recordmcount.pl. Since the code it has is intended to be example code it should refer to real kernel sections. So change it to .sched.text instead. [ Impact: consistency in comments ] Signed-off-by: Tim Abbott LKML-Reference: <1241136371-10768-1-git-send-email-tabbott@mit.edu> Acked-by: Sam Ravnborg Signed-off-by: Steven Rostedt commit 2b53bc7bff17341d8b5ac12115f5c2363638e628 Author: Coly Li Date: Tue May 5 20:03:28 2009 +0800 ocfs2: update comments in masklog.h In the mainline ocfs2 code, the interface for masklog is in files under /sys/fs/o2cb/masklog, but the comments in fs/ocfs2/cluster/masklog.h reference the old /proc interface. They are out of date. This patch modifies the comments in cluster/masklog.h, which also provides a bash script example on how to change the log mask bits. Signed-off-by: Coly Li Signed-off-by: Joel Becker commit a46fa684fcb7001d79c97f2968696997b3b79064 Author: Tao Ma Date: Mon May 4 05:18:09 2009 +0800 ocfs2: Don't printk the error when listing too many xattrs. Currently the kernel defines XATTR_LIST_MAX as 65536 in include/linux/limits.h. This is the largest buffer that is used for listing xattrs. But with ocfs2 xattr tree, we actually have no limit for the number. If filesystem has more names than can fit in the buffer, the kernel logs will be pollluted with something like this when listing: (27738,0):ocfs2_iterate_xattr_buckets:3158 ERROR: status = -34 (27738,0):ocfs2_xattr_tree_list_index_block:3264 ERROR: status = -34 So don't print "ERROR" message as this is not an ocfs2 error. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 41ede23eded40832c955d98d4b71bc244809abb3 Author: Steven Rostedt Date: Fri May 1 20:26:54 2009 -0400 ring-buffer: disable writers when resetting buffers As a precaution, it is best to disable writing to the ring buffers when reseting them. [ Impact: prevent weird things if write happens during reset ] Signed-off-by: Steven Rostedt commit afbab76a62b69ea6197e19727d4b8a8aef8deb25 Author: Steven Rostedt Date: Fri May 1 19:40:05 2009 -0400 ring-buffer: have read page swap increment counter with page entries In the swap page ring buffer code that is used by the ftrace splice code, we scan the page to increment the counter of entries read. With the number of entries already in the page we simply need to add it. [ Impact: speed up reading page from ring buffer ] Signed-off-by: Steven Rostedt commit 78a658d9720ce1b3dd71af3ee6d207ca751a48f5 Author: Alexander Beregalov Date: Tue May 5 01:03:32 2009 +0000 lasi_82596: fix printk format warning drivers/net/lasi_82596.c:164: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' drivers/net/lasi_82596.c:169: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ae8d7f884a24ee920e417077b2615c6862be687f Author: Shan Wei Date: Tue May 5 01:01:29 2009 +0000 tcp:fix the code indent Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit ba1cd541ecdaa659c5bf952659c4ad0d0707394d Author: Florian Fainelli Date: Mon May 4 20:30:45 2009 +0000 r6040: bump version to 0.23 and date to 05May2009 Bump version to 0.23 and date to 05May2009. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit c8014fe1d4548da8b9ea54730852c48a7117b03f Author: Florian Fainelli Date: Mon May 4 20:30:01 2009 +0000 r6040: check for absent PHY Some devices have two R6040 MACs but the second one is not wired to any PHY, therefore the interface is just unusable. Warn the user about that and prevent device from registering. Tested-by: bifferos Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit aee64faf236815e0f337408892c01b373cd340f3 Author: Jiri Pirko Date: Tue May 5 06:20:51 2009 +0000 bonding: get rid of CONFIG_PROC_FS ifdefs Remove CONFIG_PROC_FS ifdefs from the code by adding void functions. Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) Signed-off-by: David S. Miller commit f001fde5eadd915f4858d22ed70d7040f48767cf Author: Jiri Pirko Date: Tue May 5 02:48:28 2009 +0000 net: introduce a list of device addresses dev_addr_list (v6) v5 -> v6 (current): -removed so far unused static functions -corrected dev_addr_del_multiple to call del instead of add v4 -> v5: -added device address type (suggested by davem) -removed refcounting (better to have simplier code then safe potentially few bytes) v3 -> v4: -changed kzalloc to kmalloc in __hw_addr_add_ii() -ASSERT_RTNL() avoided in dev_addr_flush() and dev_addr_init() v2 -> v3: -removed unnecessary rcu read locking -moved dev_addr_flush() calling to ensure no null dereference of dev_addr v1 -> v2: -added forgotten ASSERT_RTNL to dev_addr_init and dev_addr_flush -removed unnecessary rcu_read locking in dev_addr_init -use compare_ether_addr_64bits instead of compare_ether_addr -use L1_CACHE_BYTES as size for allocating struct netdev_hw_addr -use call_rcu instead of rcu_synchronize -moved is_etherdev_addr into __KERNEL__ ifdef This patch introduces a new list in struct net_device and brings a set of functions to handle the work with device address list. The list is a replacement for the original dev_addr field and because in some situations there is need to carry several device addresses with the net device. To be backward compatible, dev_addr is made to point to the first member of the list so original drivers sees no difference. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit b6907b0c705b6db221f937b4d343e2a6b280c8c5 Author: Daniel Mack Date: Tue May 5 12:22:53 2009 -0700 net: smsc911x: add power management functions This adds a power management implementation for smsc911x.c which assumes the chips remains powered during suspend. The device is put in its D1 power saving mode. Signed-off-by: Daniel Mack Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 778c55d44eb4f5f658915ed631d68ed9d1ac3ad1 Author: Steven Rostedt Date: Fri May 1 18:44:45 2009 -0400 ring-buffer: record page entries in buffer page descriptor Currently, when the ring buffer writer overflows the buffer and must write over non consumed data, we increment the overrun counter by reading the entries on the page we are about to overwrite. This reads the entries one by one. This is not very effecient. This patch adds another entry counter into each buffer page descriptor that keeps track of the number of entries on the page. Now on overwrite, the overrun counter simply needs to add the number of entries that is on the page it is about to overwrite. [ Impact: speed up of ring buffer in overwrite mode ] Signed-off-by: Steven Rostedt commit 41c51c98f588edcdf6141cff1895df738e03ddd4 Author: Oleg Nesterov Date: Sun May 3 23:11:18 2009 +0200 rcu: rcu_sched_grace_period(): kill the bogus flush_signals() As a kernel thread, rcu_sched_grace_period() runs with all signals ignored. It can never receive a signal even if it sleeps in TASK_INTERRUPTIBLE, it needs the explicit allow_signal() to be visible for signals. [ Impact: reduce kernel size, remove dead code ] Signed-off-by: Oleg Nesterov Reviewed-by: Paul E. McKenney Cc: Andrew Morton LKML-Reference: <20090503211118.GA22973@redhat.com> Signed-off-by: Ingo Molnar commit e4906eff9e6fbd2d311abcbcc53d5a531773c982 Author: Steven Rostedt Date: Thu Apr 30 20:49:44 2009 -0400 ring-buffer: convert cpu buffer entries to local_t The entries counter in cpu buffer is not atomic. It can be updated by other interrupts or from another CPU (readers). But making entries into "atomic_t" causes an atomic operation that can hurt performance. Instead we convert it to a local_t that will increment a counter with a local CPU atomic operation (if the arch supports it). Instead of fighting with readers and overwrites that decrement the counter, I added a "read" counter. Every time a reader reads an entry it is incremented. We already have a overrun counter and with that, the entries counter and the read counter, we can calculate the total number of entries in the buffer with: (entries - overrun) - read As long as the total number of entries in the ring buffer is less than the word size, this will work. But since the entries counter was previously a long, this is no different than what we had before. Thanks to Andrew Morton for pointing out in the first version that atomic_t does not replace unsigned long. I switched to atomic_long_t even though it is signed. A negative count is most likely a bug. [ Impact: keep accurate count of cpu buffer entries ] Signed-off-by: Steven Rostedt commit 16c8a10932aef971292c9570eb5f60b5d4e83ed2 Author: Peter Zijlstra Date: Tue May 5 17:50:27 2009 +0200 perf_counter: tools: update the tools to support process and inherited counters "perf record": - per task counter - inherit switch - nmi switch "perf report": - userspace/kernel filter "perf stat": - userspace/kernel filter Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.389163017@chello.nl> Signed-off-by: Ingo Molnar commit 2023b359214bbc5bad31571cf50d7fb83b535c0a Author: Peter Zijlstra Date: Tue May 5 17:50:26 2009 +0200 perf_counter: inheritable sample counters Redirect the output to the parent counter and put in some sanity checks. [ Impact: new perfcounter feature - inherited sampling counters ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.331556171@chello.nl> Signed-off-by: Ingo Molnar commit 22c1558e51c210787c6cf75d8905246fc91ec030 Author: Peter Zijlstra Date: Tue May 5 17:50:25 2009 +0200 perf_counter: fix the output lock Use -1 instead of 0 as unlocked, since 0 is a valid cpu number. ( This is not an issue right now but will be once we allow multiple counters to output to the same mmap area. ) [ Impact: prepare code for multi-counter profile output ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.232686598@chello.nl> Signed-off-by: Ingo Molnar commit c5078f78b455fbf67ea71442c7e7ca8acf9ff095 Author: Peter Zijlstra Date: Tue May 5 17:50:24 2009 +0200 perf_counter: provide an mlock threshold Provide a threshold to relax the mlock accounting, increasing usability. Each counter gets perf_counter_mlock_kb for free. [ Impact: allow more mmap buffering ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.112113632@chello.nl> Signed-off-by: Ingo Molnar commit 6de6a7b95705b859b61430fa3afa1403034eb3e6 Author: Peter Zijlstra Date: Tue May 5 17:50:23 2009 +0200 perf_counter: add ioctl(PERF_COUNTER_IOC_RESET) Provide a way to reset an existing counter - this eases PAPI libraries around perfcounters. Similar to read() it doesn't collapse pending child counters. [ Impact: new perfcounter fd ioctl method to reset counters ] Suggested-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090505155437.022272933@chello.nl> Signed-off-by: Ingo Molnar commit c66de4a5be7913247bd83d79168f8e4420c9cfbc Author: Peter Zijlstra Date: Tue May 5 17:50:22 2009 +0200 perf_counter: uncouple data_head updates from wakeups Keep data_head up-to-date irrespective of notifications. This fixes the case where you disable a counter and don't get a notification for the last few pending events, and it also allows polling usage. [ Impact: increase precision of perfcounter mmap-ed fields ] Suggested-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090505155436.925084300@chello.nl> Signed-off-by: Ingo Molnar commit 80ab8817bf9b740df1f0778c41875e93151409bf Author: Daniel Mack Date: Tue May 5 11:25:00 2009 +0200 ASoC: cs4270: introduce CS4270_I2C_INCR Replace the magic 0x80 value with a suitable macro definition. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 60aa605dfce2976e54fa76e805ab0f221372d4d9 Author: Peter Zijlstra Date: Tue May 5 17:50:21 2009 +0200 sched: rt: document the risk of small values in the bandwidth settings Thomas noted that we should disallow sysctl_sched_rt_runtime == 0 for (!RT_GROUP) since the root group always has some RT tasks in it. Further, update the documentation to inspire clue. [ Impact: exclude corner-case sysctl_sched_rt_runtime value ] Reported-by: Thomas Gleixner Signed-off-by: Peter Zijlstra LKML-Reference: <20090505155436.863098054@chello.nl> Signed-off-by: Ingo Molnar commit c8d771835e18c938dae8690611d65fe98ad30f58 Author: Steven Rostedt Date: Wed Apr 29 18:03:45 2009 -0400 tracing: export stats of ring buffers to userspace This patch adds stats to the ftrace ring buffers: # cat /debugfs/tracing/per_cpu/cpu0/stats entries: 42360 overrun: 30509326 commit overrun: 0 nmi dropped: 0 Where entries are the total number of data entries in the buffer. overrun is the number of entries not consumed and were overwritten by the writer. commit overrun is the number of entries dropped due to nested writers wrapping the buffer before the initial writer finished the commit. nmi dropped is the number of entries dropped due to the ring buffer lock being held when an nmi was going to write to the ring buffer. Note, this field will be meaningless and will go away when the ring buffer becomes lockless. [ Impact: let userspace know what is happening in the ring buffers ] Signed-off-by: Steven Rostedt commit f0d2c681ac0a85142fc8abe65fc33fcad35cb9b7 Author: Steven Rostedt Date: Wed Apr 29 13:43:37 2009 -0400 ring-buffer: add counters for commit overrun and nmi dropped entries The WARN_ON in the ring buffer when a commit is preempted and the buffer is filled by preceding writes can happen in normal operations. The WARN_ON makes it look like a bug, not to mention, because it does not stop tracing and calls printk which can also recurse, this is prone to deadlock (the WARN_ON is not in a position to recurse). This patch removes the WARN_ON and replaces it with a counter that can be retrieved by a tracer. This counter is called commit_overrun. While at it, I added a nmi_dropped counter to count any time an NMI entry is dropped because the NMI could not take the spinlock. [ Impact: prevent deadlock by printing normal case warning ] Signed-off-by: Steven Rostedt commit d6ce96dabe2c4409fd009ec14250a1fdbab4b133 Author: Steven Rostedt Date: Tue May 5 01:15:24 2009 -0400 ring-buffer: export symbols I'm adding a module to do a series of tests on the ring buffer as well as benchmarks. This module needs to have more of the ring buffer API exported. There's nothing wrong with reading the ring buffer from a module. [ Impact: allow modules to read pages from the ring buffer ] Signed-off-by: Steven Rostedt commit e6e55122a54db87e22c67477de2a9978a3e4c81b Author: Mark Brown Date: Tue May 5 11:10:24 2009 +0100 ASoC: Add headers to match patterns in MAINTAINERS Signed-off-by: Mark Brown commit ae1ec5e1e97f67d41e641a73380129e5905e41cc Author: Takashi Iwai Date: Mon Oct 13 03:08:53 2008 +0200 ALSA: usbaudio - Add delay account Manage the PCM delay account based on the queued URBs. Signed-off-by: Takashi Iwai commit 4bbe1ddf89a5ba3ec30fe5980912d8bda3a3cbb2 Author: Takashi Iwai Date: Mon Oct 13 03:07:14 2008 +0200 ALSA: Add extra delay count in PCM Added runtime->delay field to adjust the delayed samples for snd_pcm_delay(). Typically a hardware FIFO length is stored in this field, so that the extra delay between hwptr and applptr can be computed. Signed-off-by: Takashi Iwai commit 2bcb573343dbd7d913cb62b81463960644a3737f Author: Hiroshi DOYU Date: Mon Jan 26 15:13:45 2009 +0200 omap iommu: omap2 architecture specific functions The structure 'arch_mmu' accommodates the difference between omap1 and omap2/3. This patch provides omap2/3 specific functions Signed-off-by: Hiroshi DOYU commit a9dcad5e375800fcb07f7617dba23b3aade8f09d Author: Hiroshi DOYU Date: Mon Jan 26 15:13:40 2009 +0200 omap iommu: tlb and pagetable primitives This patch provides: - iotlb_*() : iommu tlb operations - iopgtable_*() : iommu pagetable(twl) operations - iommu_*() : the other generic operations and the entry points to register and acquire iommu object. Signed-off-by: Hiroshi DOYU commit bbd993077d788589a86a718ba7a7895ba5e71a17 Author: Mark Brown Date: Tue May 5 10:27:38 2009 +0100 ASoC: Remove redundant codec pointer from DAIs The DAI structure has two pointers to the codec, one in the body of the DAI and one in a union for a parent pointer. Drop the parent pointer version. Signed-off-by: Mark Brown commit b290750172b97cb48497a277b3e628083e7246cb Merge: f3831a5 97a775c Author: Mark Brown Date: Tue May 5 10:13:01 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit f3831a592fe4332a70baad64a860b345398885b7 Merge: 376f783 8560b93 Author: Mark Brown Date: Tue May 5 10:12:55 2009 +0100 Merge commit 'takashi/topic/asoc' into for-2.6.31 commit 376f7839b72ec526173cafb5d8eadfc61e2effdf Author: Peter Ujfalusi Date: Tue May 5 08:55:47 2009 +0300 ASoC: TWL4030: Add VIBRA output This patch adds support for the VIBRA output on TWL4030 codec. The VIBRA output can be driven with audio data or with local vibrator driver. Add the needed DAPM elements and routes for the VIBRA output and controls for the VIBRA driver configuration. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a195b51bc5abc745f12b7b2fe0e3422f55c1953f Author: Jonathan Cameron Date: Mon May 4 14:54:11 2009 +0000 ASoC: IMote2 ASoC Support This patch adds the ASoC side of the board support for the Crossbow IMB400 daughter board. Thanks to Crossbow for considerable assistance. Signed-off-by: Jonathan Cameron Signed-off-by: Mark Brown commit ee8f6894f358b6a04d8190fd78990749de98a498 Author: Lopez Cruz, Misael Date: Thu Apr 30 21:48:08 2009 -0500 ASoC: TWL4030: Add voice digital loopback: sidetone This patch add voice digital loopback (sidetone) to the twl4030 driver. It mixes voice uplink attenuated (by sidetone gain) with voice downlink when the codec is working in option2 (voice/audio mode). Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fcd274a345875b05c348ba19bc6b3dd48ecbb7d0 Author: Lopez Cruz, Misael Date: Thu Apr 30 21:47:22 2009 -0500 ASoC: TWL4030: Add VDL analog bypass This patch adds voice downlink analog bypass switch. It follows the same approach as in other analog bypass switches. DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer', that will also allow voice DAC to be powered in digital voice loopback (sidetone). Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c7ae011dc8306d982c25fb4f679752e790a08dc4 Author: Greg Kroah-Hartman Date: Mon May 4 21:33:19 2009 -0700 net: remove driver_data direct access of struct device from more drivers In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 066d7dea32c9bffe6decc0abe465627656cdd84e Author: Ingo Molnar Date: Mon May 4 19:04:09 2009 +0200 perf_counter: fix fixed-purpose counter support on v2 Intel-PERFMON Fixed-purpose counters stopped working in a simple 'perf stat ls' run: cache references cache misses Due to: ef7b3e0: perf_counter, x86: remove vendor check in fixed_mode_idx() Which made x86_pmu.num_counters_fixed matter: if it's nonzero, the fixed-purpose counters are utilized. But on v2 perfmon this field is not set (despite there being fixed-purpose PMCs). So add a quirk to set the number of fixed-purpose counters to at least three. [ Impact: add quirk for three fixed-purpose counters on certain Intel CPUs ] Cc: Robert Richter Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1241002046-8832-28-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 088eb2d905de9518dad913995bb8aef493d4a7c5 Author: Alexey Dobriyan Date: Mon May 4 11:12:14 2009 -0700 netns 2/2: extract net_create() net_create() will be used by C/R to create fresh netns on restart. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 4a84822c60afa2b0e2d3370041f69f9526a34757 Author: Alexey Dobriyan Date: Mon May 4 11:11:38 2009 -0700 netns 1/2: don't get/put old netns on CLONE_NEWNET copy_net_ns() doesn't copy anything, it creates fresh netns, so get/put of old netns isn't needed. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 6e8cf5c069c6cb7b316e9b1715eac38873dd5cab Author: Thomas Petazzoni Date: Mon May 4 11:08:41 2009 -0700 macb: Add support of the netpoll API With this patch in place, I'm successfully able to use the netconsole mechanism with the Calao USB-A9263 board, which uses the AT91SAM9263 CPU, which in terms of Ethernet controller is supported by the macb driver. Signed-off-by: Thomas Petazzoni [haavard.skinnemoen@atmel.com: disable_irq() -> local_irq_save()] [haavard.skinnemoen@atmel.com: convert to net_device_ops] Signed-off-by: Haavard Skinnemoen Signed-off-by: David S. Miller commit 255cac91c3c9ce7dca7713b93ab03c75b7902e0e Author: Ilpo Järvinen Date: Mon May 4 11:07:36 2009 -0700 tcp: extend ECN sysctl to allow server-side only ECN This should be very safe compared with full enabled, so I see no reason why it shouldn't be done right away. As ECN can only be negotiated if the SYN sending party is also supporting it, somebody in the loop probably knows what he/she is doing. If SYN does not ask for ECN, the server side SYN-ACK is identical to what it is without ECN. Thus it's quite safe. The chosen value is safe w.r.t to existing configs which choose to currently set manually either 0 or 1 but silently upgrades those who have not explicitly requested ECN off. Whether to just enable both sides comes up time to time but unless that gets done now we can at least make the servers aware of ECN already. As there are some known problems to occur if ECN is enabled, it's currently questionable whether there's any real gain from enabling clients as servers mostly won't support it anyway (so we'd hit just the negative sides). After enabling the servers and getting that deployed, the client end enable really has some potential gain too. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1dce8d99b85aba6eddb8b8260baea944922e6fe7 Author: Ingo Molnar Date: Mon May 4 19:23:18 2009 +0200 perf_counter: convert perf_resource_mutex to a spinlock Now percpu counters can be initialized very early. But the init sequence uses mutex_lock(). Fortunately, perf_resource_mutex should be a spinlock anyway, so convert it. [ Impact: fix crash due to early init mutex use ] LKML-Reference: Signed-off-by: Ingo Molnar commit 0d905bca23aca5c86a10ee101bcd3b1abbd40b25 Author: Ingo Molnar Date: Mon May 4 19:13:30 2009 +0200 perf_counter: initialize the per-cpu context earlier percpu scheduling for perfcounters wants to take the context lock, but that lock first needs to be initialized. Currently it is an early_initcall() - but that is too late, the task tick runs much sooner than that. Call it explicitly from the scheduler init sequence instead. [ Impact: fix access-before-init crash ] LKML-Reference: Signed-off-by: Ingo Molnar commit ba77813a2a22d631fe5bc0bf1ec0d11350544b70 Author: Peter Zijlstra Date: Mon May 4 18:47:44 2009 +0200 perf_counter: x86: fixup nmi_watchdog vs perf_counter boo-boo Invert the atomic_inc_not_zero() test so that we will indeed detect the first activation. Also rename the global num_counters, since its easy to confuse with x86_pmu.num_counters. [ Impact: fix non-working perfcounters on AMD CPUs, cleanup ] Signed-off-by: Peter Zijlstra LKML-Reference: <1241455664.7620.4938.camel@twins> Signed-off-by: Ingo Molnar commit b82914ce33146186d554b0f5c41e4e13693614ce Author: Ingo Molnar Date: Mon May 4 18:54:32 2009 +0200 perf_counter: round-robin per-CPU counters too This used to be unstable when we had the rq->lock dependencies, but now that they are that of the past we can turn on percpu counter RR too. [ Impact: handle counter over-commit for per-CPU counters too ] LKML-Reference: Signed-off-by: Ingo Molnar commit 8560b9321f9050968f393ce1ec67e47c1a0bd5cf Merge: 72e3198 6574612 Author: Takashi Iwai Date: Mon May 4 16:05:23 2009 +0200 Merge branch 'fix/asoc' into topic/asoc commit b0ec3a30bc01c15cc6277b223fae136f7b71e90c Author: Krzysztof Helt Date: Sun May 3 10:39:19 2009 +0200 ALSA: sc6000: enable joystick port Add module parameter to enable or disable joystick port (gameport) on the SC6600 and later cards. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 514bf54cd8c7f172816d3c003a6d022e9165a29b Author: James Gardiner Date: Sun May 3 04:00:44 2009 -0400 ALSA: hda - Addition for HP dv4-1222nr laptop support Signed-off-by: James Gardiner Signed-off-by: Takashi Iwai commit 513de11bba246b7a67df4c314d9fc936b6a75d0e Author: David S. Miller Date: Sun May 3 14:43:10 2009 -0700 net: Avoid modulus in skb_tx_hash() for forwarding case. Based almost entirely upon a patch by Eric Dumazet. The common case is to have num-tx-queues <= num_rx_queues and even if num_tx_queues is larger it will not be significantly larger. Therefore, a subtraction loop is always going to be faster than modulus. Signed-off-by: David S. Miller commit accc5b4f902b0ba83b2c6c48f2d9e7c204cef4a8 Author: Rami Rosen Date: Sun May 3 08:58:48 2009 +0000 ipv4: remove unused macro (FIB_RES_RESET) from ip_fib.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit eb457f36929da6d78c1f03cbb9038ef62646d79d Author: Jiri Pirko Date: Sat May 2 23:55:06 2009 +0000 ne2k-pci: use dev->addr_len instead of "6" Spotted a tiny ugliness in a recently posted patch. This patch cuts it out. Jirka Signed-off-by: Jiri Pirko drivers/net/ne2k-pci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller commit 698960a081bfcc3e2e0f556342d86405346d2edc Merge: d252a5e 379b026 Author: David S. Miller Date: Sun May 3 14:18:53 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d252a5e7b73026b3ba3c49940724292099e634f0 Merge: f0a3a15 1824a98 Author: David S. Miller Date: Sun May 3 14:07:43 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 25483efeb2e56521e418a59fa93401be156dc3bb Author: Paul Mundt Date: Sun May 3 18:29:27 2009 +0900 sh: Move dummy clockevents broadcast timer to its new home. The old arch/sh/kernel/timers/ directly will be going away completely once the rest of the TMU users are migrated, so move the dummy broadcast driver up a level in preparation. Signed-off-by: Paul Mundt commit dec56e6312434b2536fedf9d7e9e73d666aaf0a8 Author: Paul Mundt Date: Sun May 3 18:18:14 2009 +0900 sh: Kill off the now unused ARCH_USES_GETTIMEOFFSET code. Now that the stragglers (MTU2/CMT/etc.) have been rewritten and we are selecting both GENERIC_TIME and GENERIC_CLOCKEVENTS, the get_offset() timer op is completely unused. As a result, we are now able to kill off the ARCH_USES_GETTIMEOFFSET references. Signed-off-by: Paul Mundt commit 938edae11ee3a7b20b6d754074a0f2c2edc4534b Author: Paul Mundt Date: Sun May 3 18:12:26 2009 +0900 sh: select both GENERIC_TIME and GENERIC_CLOCKEVENTS. Now that the rest of the timers that didn't support clockevents have been rewritten, both of these can be enabled by default. Signed-off-by: Paul Mundt commit d1fcc0a8db5e47c1abaa783a3e83dbf5f2184969 Author: Paul Mundt Date: Sun May 3 18:05:42 2009 +0900 clocksource: sh_mtu2/cmt_register() should be static. Neither of these need to be exported, so just make them static. Signed-off-by: Paul Mundt commit 46a12f7426d71cabc08972cf8d3ffdd441d26a3a Author: Paul Mundt Date: Sun May 3 17:57:17 2009 +0900 sh: Consolidate MTU2/CMT/TMU timer platform data. All of the SH timers use a roughly identical structure for platform data, which presently is broken out for each block. Consolidate all of these definitions, as there is no reason for them to be broken out in the first place. Signed-off-by: Paul Mundt commit 9a8709d44139748fe2e0ab56d20d8c384c8b65ad Author: Cyrill Gorcunov Date: Sat May 2 00:25:11 2009 +0400 x86: uv - prevent NULL dereference in uv_system_init() We may reach NULL dereference oops if kmalloc failed. Prevent it with explicit BUG_ON. [ Impact: more controlled assert in 'impossible' scenario ] Signed-off-by: Cyrill Gorcunov Acked-by: Jack Steiner LKML-Reference: <20090501202511.GE4633@lenovo> Signed-off-by: Ingo Molnar commit d43a41bf8b504a1d9f0b4ce7e17d803f4ef39d84 Author: Magnus Damm Date: Fri May 1 06:58:52 2009 +0000 sh: TMU platform data for sh7722 This patch adds TMU platform data for sh7722. Only clockevent mode is enabled for now, clocksource requires this patch: "clocksource: setup mult_orig in clocksource_enable()" Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9570ef20423b549757aa484ad388f9a7d5bdc4d9 Author: Magnus Damm Date: Fri May 1 06:51:00 2009 +0000 clocksource: SuperH TMU Timer driver This patch adds a TMU driver for the SuperH architecture. The TMU driver is a platform driver with early platform support to allow using a TMU channel as clockevent or clocksource during system bootup or later. Clocksource or clockevent can be selected. Both periodic and oneshot clockevents are supported. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3969c52d4d2fef5a4b9e3ab0e51b3901e1cc8b83 Author: Jaswinder Singh Rajput Date: Sun May 3 11:11:35 2009 +0530 x86: cpufeature.h fix name for X86_FEATURE_MCE X86_FEATURE_MCE = Machine Check Exception X86_FEATURE_MCA = Machine Check Architecture [ Impact: cleanup ] Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1241329295.6321.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 3280c8865e1b738604bacdea54738acef31e8c12 Author: Magnus Damm Date: Thu Apr 30 07:12:09 2009 +0000 sh: remove old MTU2 driver This patch removes the old MTU2 driver (CONFIG_SH_MTU2/timer-mtu2.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_MTU2 and configure timer channel using platform data. If multiple MTU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_mtu2.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1cbac972ba28e706fa9ce4d4c81830040bc811ee Author: Cyrill Gorcunov Date: Sat May 2 13:39:56 2009 +0400 x86: uv io-apic - use BUILD_BUG_ON instead of BUG_ON The expression is known to be true/false at compilation time so we're allowed to use build-time instead of run-time check. Also align 'entry' items assignment. [ Impact: shrink kernel a bit, cleanup ] Signed-off-by: Cyrill Gorcunov Cc: Jack Steiner LKML-Reference: <20090502093956.GB4791@lenovo> Signed-off-by: Ingo Molnar commit da107c6ef919b3afd9c9b405a4f71e03b5725b04 Author: Magnus Damm Date: Thu Apr 30 07:06:26 2009 +0000 sh: sh2a MTU2 platform data This patch adds MTU2 platform data for the following cpus: - sh7201 (3/5 channels) - sh7203/sh7263 (2/4 channels) - sh7206 (3/5 channels) - MXG (3/5 channels) Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d5ed4c2e5ce9f5f6fd6a5a39ee1196a1f8a46eed Author: Magnus Damm Date: Thu Apr 30 07:02:49 2009 +0000 clocksource: SuperH MTU2 Timer driver This patch adds a MTU2 driver for the SuperH architecture. The MTU2 driver is a platform driver with early platform support to allow using a MTU2 channel as only clockevent during system bootup. Clocksource on sh2a is currently unsupported due to code generation issues with 64-bit math, so at this point only periodic clockevent support is in place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7563431107f6debf57c1dbecfb9498cf31a1c036 Author: john stultz Date: Fri May 1 13:10:28 2009 -0700 time: sh: convert to use arch_getoffset() infrastructure Convert sh to use GENERIC_TIME via the arch_getoffset() infrastructure. Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit d80498398276ca8eee7ebdbe0d47e06d01317439 Author: Thomas Gleixner Date: Sat May 2 20:01:20 2009 +0000 sh: remove obsolete hw_interrupt_type Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mundt commit 0cd5f7b0c7fd96f9f00187ef2ad2328de28ae326 Author: Thomas Gleixner Date: Sat May 2 20:00:44 2009 +0000 sh: remove obsolete no_irq_type Impact: cleanup convert the last remaining users to no_irq_chip Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mundt commit 66fdc951720406deb3b0f17094cb16ec623f525d Merge: f425752 7d27558 Author: Paul Mundt Date: Sun May 3 17:24:55 2009 +0900 Merge branch 'timers/clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip commit a454ab3110175d710f4f9a96226a26ce4d5d5de2 Author: Ingo Molnar Date: Sun May 3 10:09:03 2009 +0200 x86, mm: fault.c, use printk_once() in is_errata93() Andrew pointed out that the 'once' variable has a needlessly function-global scope. We can in fact eliminate it completely, via the use of printk_once(). [ Impact: cleanup ] Reported-by: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit dab6f6a3401f596fe934f41fc5da3f401adfdfb1 Author: Mike Galbraith Date: Sat May 2 08:02:36 2009 +0200 perf_counter tools: fix build error ctype.h crawled out of the bit bucket :) Signed-off-by: Ingo Molnar commit 955ce5f5be67dfe0d1d096b543af33fe8a1ce3dd Author: Aneesh Kumar K.V Date: Sat May 2 20:35:09 2009 -0400 ext4: Convert ext4_lock_group to use sb_bgl_lock We have sb_bgl_lock() and ext4_group_info.bb_state bit spinlock to protech group information. The later is only used within mballoc code. Consolidate them to use sb_bgl_lock(). This makes the mballoc.c code much simpler and also avoid confusion with two locks protecting same info. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit eefd7f03b86b8a319890e7fac5a6fcc7f8694b76 Author: Theodore Ts'o Date: Sat May 2 19:05:37 2009 -0400 ext4: fix the length returned by fiemap for an unallocated extent If the file's blocks have not yet been allocated because of delayed allocation, the length of the extent returned by fiemap is incorrect. This commit fixes this bug. Signed-off-by: "Theodore Ts'o" commit 4072604b9dd18f25a98cc0f4d3d4553ed1ad4152 Author: Mark Brown Date: Sat May 2 12:28:25 2009 +0100 ASoC: Remove unused DAI format defines The defines for TDM and synchronous clocks are not used - they are mostly a legacy of the automatic clocking configuration. TDM will require configuration of the number of timeslots and which ones to use so can't be fit into the DAI format and synchronous mode is handled by symmetric_rates (and needs to be done by constraints rather than when the DAI format is being configured). Signed-off-by: Mark Brown commit 33f503c96c976fd585dedb76514ca6cb286e60d9 Author: Mark Brown Date: Sat May 2 12:24:55 2009 +0100 ASoC: Use a shared define for AC97 CODEC data formats The AC97 wire format is completely fixed so CODECs don't have any choice about the formats they accept but controllers accept a variety of data formats and render them down onto the bus. Have a shared define so all the CODEC drivers will interoperate with any of our controller drivers. Signed-off-by: Mark Brown commit c81fc2c331b8514ad112054cd2d87e6ec132286b Author: Magnus Damm Date: Fri May 1 14:52:47 2009 +0900 clockevent: export register_device and delta2ns Export the following symbols using EXPORT_SYMBOL_GPL: - clockevent_delta2ns - clockevents_register_device This allows us to build SuperH clockevent and clocksource drivers as modules, see drivers/clocksource/sh_*.c [ Impact: allow modular build of clockevent drivers ] Signed-off-by: Magnus Damm LKML-Reference: <20090501055247.8286.64067.sendpatchset@rx1.opensource.se> Signed-off-by: Thomas Gleixner commit 7d27558c4138ac6b3684dea35c2f4379b940a7dd Author: john stultz Date: Fri May 1 13:10:26 2009 -0700 timekeeping: create arch_gettimeoffset infrastructure Some arches don't supply their own clocksource. This is mainly the case in architectures that get their inter-tick times by reading the counter on their interval timer. Since these timers wrap every tick, they're not really useful as clocksources. Wrapping them to act like one is possible but not very efficient. So we provide a callout these arches can implement for use with the jiffies clocksource to provide finer then tick granular time. [ Impact: ease the migration to generic time keeping ] Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit a25cbd045a2ffc42787d4dbcbb9c7118f5f42732 Author: Magnus Damm Date: Fri May 1 14:45:46 2009 +0900 clocksource: setup mult_orig in clocksource_enable() Setup clocksource mult_orig in clocksource_enable(). Clocksource drivers can save power by using keeping the device clock disabled while the clocksource is unused. In practice this means that the enable() and disable() callbacks perform clk_enable() and clk_disable(). The enable() callback may also use clk_get_rate() to get the clock rate from the clock framework. This information can then be used to calculate the shift and mult variables. Currently the mult_orig variable is setup from mult at registration time only. This is conflicting with the above case since the clock is disabled and the mult variable is not yet calculated at the time of registration. Moving the mult_orig setup code to clocksource_enable() allows us to both handle the common case with no enable() callback and the mult-changed-after-enable() case. [ Impact: allow dynamic clock source usage ] Signed-off-by: Magnus Damm LKML-Reference: <20090501054546.8193.10688.sendpatchset@rx1.opensource.se> Signed-off-by: Thomas Gleixner commit a04198887658e1d8ae25f5420035c057cb170e67 Author: Jon Hunter Date: Fri May 1 13:10:23 2009 -0700 timers: allow deferrable timers for intervals tv2-tv5 to be deferred In the current kernel implementation only kernel timers for time interval tv1 are being deferred. This patch allows any timer that is configured as deferrable to be defer regardless of time interval. This patch was previously discussed in http://marc.info/?l=linux-kernel&m=123196343531966&w=2 and was acked by Venki Pallipadi, the author of the original deferrable timer patch. Signed-off-by: Jon Hunter Acked-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit a52f5c5620673c292cb159205bf0e1eb5af1985b Author: Dmitri Vorobiev Date: Fri May 1 13:10:21 2009 -0700 clockevents: tick_broadcast_device can become static The variable tick_broadcast_device is not used outside of the file where it is defined, so let's make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c9877b205f6ce7943bb95281342f4001cc1c00ec Author: Eric Sandeen Date: Fri May 1 23:32:06 2009 -0400 ext4: fix for fiemap last-block test Carl Henrik Lunde reported and debugged this; the test for the last allocated block was comparing bytes to blocks in this test: if (logical + length - 1 == EXT_MAX_BLOCK || ext4_ext_next_allocated_block(path) == EXT_MAX_BLOCK) flags |= FIEMAP_EXTENT_LAST; so any extent which ended right at 4G was stopping the extent walk. Just replacing these values with the extent block & length should fix it. Also give blksize_bits a saner type, and reverse the order of the tests to make the more likely case tested first. Signed-off-by: Eric Sandeen Reported-by: Carl Henrik Lunde Tested-by: Carl Henrik Lunde Signed-off-by: "Theodore Ts'o" commit 19ba0559f9ce104171ab16706893ce01f03ef116 Author: Aneesh Kumar K.V Date: Wed May 13 18:12:05 2009 -0400 vfs: Enable FS_IOC_FIEMAP and FIGETBSZ for all filetypes The fiemap and get_blk_size ioctls should be enabled even for directories. So move it outisde file_ioctl. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit abc8746eb91fb01e8d411896f80f7687c0d8372e Author: Aneesh Kumar K.V Date: Sat May 2 22:54:32 2009 -0400 ext4: hook fiemap operation for directories Add fiemap callback for directories Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit f0a3a1538d57dfb51c73d012cbb72f985cd419aa Author: Ken Kawasaki Date: Fri May 1 19:21:26 2009 -0700 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card 3c589_cs,3c574_cs,serial_cs: (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card. (2)load correct configuration register for 3Com card Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit f40339031b04279c3fdde7ac5fe97db33b2a7694 Author: Curt Wohlgemuth Date: Fri May 1 20:27:20 2009 -0400 ext4: Make the length of the mb_history file tunable In memory-constrained systems with many partitions, the ~68K for each partition for the mb_history buffer can be excessive. This patch adds a new mount option, mb_history_length, as well as a way of setting the default via a module parameter (or via a sysfs parameter in /sys/module/ext4/parameter/default_mb_history_length). If the mb_history_length is set to zero, the mb_history facility is disabled entirely. Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit bb23c20a851a5038b255a3c0d0aa56093c1da3f8 Author: Theodore Ts'o Date: Fri May 1 19:44:44 2009 -0400 ext4: Move fs/ext4/group.h into ext4.h Move the function prototypes in group.h into ext4.h so they are all defined in one place. Signed-off-by: "Theodore Ts'o" commit 88d7d8b00cdc3117150faab4c4ace6d464b71c22 Author: Ayaz Abdulla Date: Fri May 1 01:41:50 2009 +0000 forcedeth: add clock gating feature This patch adds new logic to support a clock gating feature found on the latest set of chipsets. The clock gating is performed on the tx/rx engines when the link is disconnected. Clock gating helps in reducing power consumption. * modified based on comments from netdev Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 1aec5bdfed91b50aedbcad43393bcb05033c7ef3 Author: Greg Kroah-Hartman Date: Thu Apr 30 12:19:31 2009 +0000 net: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: netdev@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 6f0aced639d346e5f54eea9fcb2784b633493d09 Author: Cyrill Gorcunov Date: Fri May 1 23:54:25 2009 +0400 x86, apic: use pr_ macro Replace recenly appeared printk with pr_ macro (the file already use a lot of them). [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090501195425.GB4633@lenovo> Signed-off-by: Ingo Molnar commit 596397b77c895d0fa3674f579c94ad5ea88ef01d Author: Theodore Ts'o Date: Fri May 1 13:49:15 2009 -0400 ext4: Move fs/ext4/namei.h into ext4.h The fs/ext4/namei.h header file had only a single function declaration, and should have never been a standalone file. Move it into ext4.h, where should have been from the beginning. Signed-off-by: "Theodore Ts'o" commit ca0faba0e8ac844dc0279825eb8db876b5962ea5 Author: Theodore Ts'o Date: Sun May 3 16:33:44 2009 -0400 ext4: Move the ext4_sb.h header file into ext4.h There is no longer a reason for a separate ext4_sb.h header file, so move it into ext4.h just to make life easier for developers to find the relevant data structures and typedefs. Should also speed up compiles slightly, too. Signed-off-by: "Theodore Ts'o" commit d444c3c38189b3f18337a213855ac1c07af4e2d9 Author: Theodore Ts'o Date: Fri May 1 13:44:33 2009 -0400 ext4: Move the ext4_i.h header file into ext4.h There is no longer a reason for a separate ext4_i.h header file, so move it into ext4.h just to make life easier for developers to find the relevant data structures and typedefs. Should also speed up compiles slightly, too. Signed-off-by: "Theodore Ts'o" commit 4420471f14b79f2a42e4603be7794ea49b68bca4 Merge: 15e957d e0e4214 Author: Ingo Molnar Date: Fri May 1 19:02:50 2009 +0200 Merge branch 'x86/apic' into irq/numa Conflicts: arch/x86/kernel/apic/io_apic.c Merge reason: non-trivial interaction between ongoing work in io_apic.c and the NUMA migration feature in the irq tree. Signed-off-by: Ingo Molnar commit 15e957d08dd4a841359cfec59ecb74041e0097aa Author: Yinghai Lu Date: Thu Apr 30 01:17:50 2009 -0700 x86/irq: use move_irq_desc() in create_irq_nr() move_irq_desc() will try to move irq_desc to the home node if the allocated one is not correct, in create_irq_nr(). ( This can happen on devices that are on different nodes that are using MSI, when drivers are loaded and unloaded randomly. ) v2: fix non-smp build v3: add NUMA_IRQ_DESC to eliminate #ifdefs [ Impact: improve irq descriptor locality on NUMA systems ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F95EAE.2050903@kernel.org> Signed-off-by: Ingo Molnar commit 75507efb1372b6acf1aa6bf00ebd49ce196fd994 Author: Theodore Ts'o Date: Fri May 1 12:58:36 2009 -0400 ext4: Don't avoid using BLOCK_UNINIT block groups in mballoc By avoiding the use of not-yet-used block groups (i.e., block groups with the BLOCK_UNINIT flag), mballoc had a tendency to create large files with large non-contiguous gaps. In addition avoiding the use of new block groups had a tendency to push regular file data into the first block group in a flex_bg group, which slows down the speed of e2fsck pass 2, since it has a tendency to seek much more. For example: Before Patch After Patch Time in seconds Time in seconds Real / User/ Sys MB/s Real / User/ Sys MB/s Pass 1 8.52 / 2.21 / 0.46 20.43 8.84 / 4.97 / 1.11 19.68 Pass 2 21.16 / 1.02 / 1.86 11.30 6.54 / 1.77 / 1.78 36.39 Pass 3 0.01 / 0.00 / 0.00 139.00 0.01 / 0.01 / 0.00 128.90 Pass 4 0.16 / 0.15 / 0.00 0.00 0.17 / 0.17 / 0.00 0.00 Pass 5 2.52 / 1.99 / 0.09 0.79 2.31 / 1.78 / 0.06 0.86 Total 32.40 / 5.11 / 2.49 12.81 17.99 / 8.75 / 2.98 23.01 This was on a sample 80 gig root filesystem which was approximately 50% full. Note the improved e2fsck pass 2 performance, by over a factor of 3, due to a decreased number of seeks. (The total amount of I/O in pass 2 was unchanged; the layout of the directory blocks was simply much better from e2fsck's's perspective.) Other changes as a result of this patch on this sample filesystem: Before Patch After Patch # of non-contig files 762 779 # of non-contig directories 571 570 # of BLOCK_UNINIT bg's 307 293 # of INODE_UNINIT bg's 503 503 Out of 640 block groups, of which 333 were in use, this patch caused an extra 14 block groups to be utilized. The number of non-contiguous files did go up slightly, but when measured against the 99.9% of the files (603,154) which were contiguously allocated, this is pretty insignificant. Signed-off-by: "Theodore Ts'o" Signed-off-by: Andreas Dilger commit 4ba67c1d48aeedcc31630bb40b6179fc7d360f90 Author: Thomas Gleixner Date: Fri May 1 18:48:06 2009 +0200 perfcounter tools: get the syscall number from arch/*/include/asm/unistd.h Avoid further confusion during development Signed-off-by: Thomas Gleixner commit 7bd5469cd938eec6a76b3135e6becd9b5e096e98 Author: Thomas Gleixner Date: Fri May 1 18:42:47 2009 +0200 perfcounter tools: fix pointer mismatch Neither process_options nor execvp take an const **char as argument. Signed-off-by: Thomas Gleixner commit a92e70237c8abbd1c3241133bf72f2cd07c90eae Author: Thomas Gleixner Date: Fri May 1 18:39:47 2009 +0200 perfcounter tools: make rdclock an inline function Signed-off-by: Thomas Gleixner commit 6eda5838bc5771578986429cde4a0870e1e5f5e1 Author: Thomas Gleixner Date: Fri May 1 18:29:57 2009 +0200 perfcounter tools: move common defines ... to local header file No change, move of duplicated stuff only. Signed-off-by: Thomas Gleixner commit 3666932bf2212a8fa77e344c5d946e86787bdbbe Author: Thomas Gleixner Date: Fri May 1 17:37:51 2009 +0200 perf_counter tools: remove build generated files These files are generated during the build process. No need to have them in the git repository. Signed-off-by: Thomas Gleixner commit e0202f56a82cd1170c6f1c520db669431cf26ddc Author: Ingo Molnar Date: Fri May 1 16:51:44 2009 +0200 perf_counter tools: fix x86 syscall numbers Signed-off-by: Ingo Molnar commit e3980b6a03e4c81e0e8d2cfcd7ab18082bbe92a5 Author: Mark Brown Date: Wed Apr 15 17:11:53 2009 +0100 [ARM] SMDK6410: Hook regulator control of VDDARM up for WM1190-EV1 This allows the S3C CPUfreq driver to do DVFS. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 84e5b0d00f8f84c4ae226be131d4bebbcee88bd3 Author: Greg Kroah-Hartman Date: Fri May 1 06:41:58 2009 -0700 Input: wm97xx - do not access dev->driver_data directly In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 9ee1983c9aa18f12388ef660d0c76a23dc112959 Author: Jason Baron Date: Thu Apr 30 13:29:47 2009 -0400 tracing: add irq tracepoint documentation Document irqs for the newly created docbook. [ Impact: add documentation ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: <73ff42be3420157667ec548e9b0e409c3cfad05f.1241107197.git.jbaron@redhat.com> Signed-off-by: Ingo Molnar commit a76f8c6da1e48fd4ef025f42c736389532ff30ba Author: Jason Baron Date: Thu Apr 30 13:29:42 2009 -0400 tracing: add new tracepoints docbook Add tracepoint docbook. This will help us document and understand what tracepoints are in the kernel. Since there are multiple macros, and files that contain tracepoints. [ Impact: add documentation ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: <84160b6bd94aff02455da7e12bad054d34c579a0.1241107197.git.jbaron@redhat.com> Signed-off-by: Ingo Molnar commit 56afb0f8823650f53a5f0e96d69a282e8892c61b Author: Jason Baron Date: Thu Apr 30 13:29:36 2009 -0400 kerneldoc, tracing: make kernel-doc understand TRACE_EVENT() macro (take #2) Add support to kernel-doc for tracepoint comments above TRACE_EVENT() macro definitions. Paves the way for tracepoint docbook. [ Impact: extend DocBook infrastructure ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: Signed-off-by: Ingo Molnar commit e5791a808ae91a9e7e1b65ea9b8de0f96a043d88 Author: Peter Zijlstra Date: Fri May 1 12:23:19 2009 +0200 perf_counter: documentation update Update the documentation to reflect the current state of affairs [ Impact: documentation update ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.296727903@chello.nl> Signed-off-by: Ingo Molnar commit 585e3374d9d29376c2c37d821c8b7637dd48ca95 Author: Peter Zijlstra Date: Fri May 1 12:23:18 2009 +0200 perf_counter: tool: handle 0-length data files Avoid perf-report barfing on 0-length data files. [ Impact: fix perf-report SIGBUS ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.196245693@chello.nl> Signed-off-by: Ingo Molnar commit 63a809a2dc53b91268dd915bbcbd425063893676 Author: Peter Zijlstra Date: Fri May 1 12:23:17 2009 +0200 perf_counter: fix nmi-watchdog interaction When we don't have any perf-counters active, don't act like we know what the NMI is for. [ Impact: fix hard hang with nmi_watchdog=2 ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.109867793@chello.nl> Signed-off-by: Ingo Molnar commit c33a0bc4e41ef169d6e807d8abb9502544b518e5 Author: Peter Zijlstra Date: Fri May 1 12:23:16 2009 +0200 perf_counter: fix race in perf_output_* When two (or more) contexts output to the same buffer, it is possible to observe half written output. Suppose we have CPU0 doing perf_counter_mmap(), CPU1 doing perf_counter_overflow(). If CPU1 does a wakeup and exposes head to user-space, then CPU2 can observe the data CPU0 is still writing. [ Impact: fix occasionally corrupted profiling records ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.007821627@chello.nl> Signed-off-by: Ingo Molnar commit 97c1b145231730e62dd71921ec653315a1da3aad Author: Ben Dooks Date: Thu Mar 19 15:02:39 2009 +0000 [ARM] S3C: Move DMA channel management code to plat-s3c Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 20934cdbaae9c26a31d7f593c6a747c687ae79a1 Author: Ben Dooks Date: Thu Mar 19 15:02:38 2009 +0000 [ARM] S3C24XX: dma.h should not include The dma.h header does not need to include as there is nothing it depends on. Remove the include and fixup the couple of places where was not explicitly included (dragged in via ) Note, we have to fix arch/arm/plat-s3c24xx/pm.c which seems to rely on having included by this method. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit c133c290118bfc99cd7a23b5a00b5252d2be90c8 Author: Ben Dooks Date: Thu Mar 19 15:02:37 2009 +0000 [ARM] S3C: Make common header Move the common information from the header into a new shareable header for re-use on the s3c64xx. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 023b40cd1018915beb5a519b55ea174683215f16 Author: Ben Dooks Date: Thu Mar 19 15:02:36 2009 +0000 [ARM] S3C24XX: Fix indentation in The pre-date the invention of the TAB character, so fix the indentation of the register defines. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 44dc94045f6ddbc07db3e0eb3448c2efc13ac2cf Author: Ben Dooks Date: Thu Mar 19 15:02:35 2009 +0000 [ARM] S3C24XX: DMA: Split hardware regs out of The is for the driver API for the DMA system and should not have anything relying on the CPU specific registers. Remove the registers to for the code that really needs to know about them. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 8970ef47d56fd3db28ee798b9d400caf08abd924 Author: Ben Dooks Date: Thu Mar 19 15:02:34 2009 +0000 [ARM] S3C24XX: Remove hardware specific registers from DMA calls The S3C24XX DMA API channel configuration registers are being passed values comprised of register values which makes it hard to move the API to cover both the S3C24XX and S3C64XX. These values can be calculated from knowing which device the channel is connected to, so remove them from the two calls s3c2410_dma_config and s3c2410_dma_devconfig. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 5a9eb8da8b95fce21eb2dd39fe71b2b7882ce89a Author: Ben Dooks Date: Thu Mar 19 15:02:33 2009 +0000 [ARM] S3C24XX: Move plat/dma.h Move the platform dma.h to dma-plat.h to ensure it doen't get confused with plat/dma.h Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 1f26a8a0fd6d067237f87a95d96ddfe263b96a94 Author: Kwangwoo Lee Date: Tue Apr 28 10:35:57 2009 +0900 [PATCH] S3C64XX: Basic A&W6410 board support patch V2 A&W6410 board uses Samsung S3C6410 SoC and it is registered with 2183. Framebuffer and ethernet devices are supported currently. Unnecessary header file is removed. Fix to use __raw_writel() and __raw_readl() for accessing mapped address. Thank you for your comments. Signed-off-by: Kwangwoo Lee Signed-off-by: Ben Dooks commit f53aee29bef09070e4ab14488e43433b371844ce Author: Mark Brown Date: Thu Apr 9 16:30:40 2009 +0100 [ARM] SMDK6410: Mark all supplies as always_on Since no consumers are currently configured for the SMDK6410 mark all the supplies on the board as being always_on, ensuring interoperability with future regulator API changes to disable unused regulators. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit db9256f33c1b9ce72d2a126d51c7fe0de65f0f8c Author: Mark Brown Date: Thu Apr 9 19:00:19 2009 +0100 [ARM] SMDK6410: Use active high IRQ for the WM8350 on the WM1190-EV1 Using an active high IRQ ensures that the WM8350 interrupt handling does not spin when used with a SMDK6410 which has not had R20 removed and R21 fitted to connect EINT12 to the PMIC module rather thant the fixed regulators on the CPU module. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 87c4122f1714f96faa1b1c9449f762b9c56f77e4 Author: Kyungmin Park Date: Wed Mar 11 11:05:55 2009 +0900 [ARM] S3C6410: Basic support for NCP board (v2) This is a basic support for NCP board based on s3c6410. Only enables the serial. also remove empty i2c device. Signed-off-by: Kyungmin Park Signed-off-by: Ben Dooks commit ecc558acaba9ca1c6e2e7b54a1edb73ee391ae17 Author: Mark Brown Date: Tue Feb 17 15:59:38 2009 +0000 [ARM] SMDK6410: Support WM1190-EV1 PMIC board The SMDK6410 supports pluggable PMIC boards. One such board is the Wolfson Microelectronics 1190-EV1 for the WM8350 PMICs. This patch introduces initial support for this module. Further patches will add additional integration with the system as support for the S3C6410 and other devices on the system improves. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 3056ea0afba83d19af5f1f3daf6ed7211f0717da Author: Mark Brown Date: Tue Jan 27 16:18:01 2009 +0000 [ARM] SMDK6410: Add support for SMSC9115 ethernet controller Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit d6662c351a827264706bf880a36cdd376808ba1c Author: Ben Dooks Date: Fri Dec 12 00:24:40 2008 +0000 [ARM] SMDK6410: Ensure LCD settings are setup Ensure that the LCD output type is RGB and that the modem interface is not bypassing the LCD block. This ensures the LCD interface output gets to the pins in the correct format. Signed-off-by: Ben Dooks commit 78a3d9d5654a7fd99cf8b2ab06b9497b9c7aad64 Author: Oleg Nesterov Date: Wed Apr 29 18:01:23 2009 +0200 do_wait: do take security_task_wait() into account I was never able to understand what should we actually do when security_task_wait() fails, but the current code doesn't look right. If ->task_wait() returns the error, we update *notask_error correctly. But then we either reap the child (despite the fact this was forbidden) or clear *notask_error (and hide the securiy policy problems). This patch assumes that "stolen by ptrace" doesn't matter. If selinux denies the child we should ignore it but make sure we report -EACCESS instead of -ECHLD if there are no other eligible children. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: James Morris commit 3c56999eec7acc105a31b4546c94aad2fb844b13 Merge: bad7600 12d1611 Author: Thomas Gleixner Date: Thu Apr 30 21:12:13 2009 +0200 Merge branch 'core/signal' into perfcounters/core This is necessary to avoid the conflict of syscall numbers. Conflicts: arch/x86/ia32/ia32entry.S arch/x86/include/asm/unistd_32.h arch/x86/include/asm/unistd_64.h Fixes up the borked syscall numbers of perfcounters versus preadv/pwritev as well. Signed-off-by: Thomas Gleixner commit 420118caa32c8ccdf9fce5a623b9de3f951573c5 Author: Louis Rilling Date: Wed Jan 28 19:18:33 2009 +0100 configfs: Rework configfs_depend_item() locking and make lockdep happy configfs_depend_item() recursively locks all inodes mutex from configfs root to the target item, which makes lockdep unhappy. The purpose of this recursive locking is to ensure that the item tree can be safely parsed and that the target item, if found, is not about to leave. This patch reworks configfs_depend_item() locking using configfs_dirent_lock. Since configfs_dirent_lock protects all changes to the configfs_dirent tree, and protects tagging of items to be removed, this lock can be used instead of the inodes mutex lock chain. This needs that the check for dependents be done atomically with CONFIGFS_USET_DROPPING tagging. Now lockdep looks happy with configfs. [ Lifted the setting of s_type into configfs_new_dirent() to satisfy the atomic setting of CONFIGFS_USET_CREATING -- Joel ] Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit e74cc06df3b05e2b2c1611a043f6e6dcadaab1eb Author: Louis Rilling Date: Wed Jan 28 19:18:32 2009 +0100 configfs: Silence lockdep on mkdir() and rmdir() When attaching default groups (subdirs) of a new group (in mkdir() or in configfs_register()), configfs recursively takes inode's mutexes along the path from the parent of the new group to the default subdirs. This is needed to ensure that the VFS will not race with operations on these sub-dirs. This is safe for the following reasons: - the VFS allows one to lock first an inode and second one of its children (The lock subclasses for this pattern are respectively I_MUTEX_PARENT and I_MUTEX_CHILD); - from this rule any inode path can be recursively locked in descending order as long as it stays under a single mountpoint and does not follow symlinks. Unfortunately lockdep does not know (yet?) how to handle such recursion. I've tried to use Peter Zijlstra's lock_set_subclass() helper to upgrade i_mutexes from I_MUTEX_CHILD to I_MUTEX_PARENT when we know that we might recursively lock some of their descendant, but this usage does not seem to fit the purpose of lock_set_subclass() because it leads to several i_mutex locked with subclass I_MUTEX_PARENT by the same task. >From inside configfs it is not possible to serialize those recursive locking with a top-level one, because mkdir() and rmdir() are already called with inodes locked by the VFS. So using some mutex_lock_nest_lock() is not an option. I am proposing two solutions: 1) one that wraps recursive mutex_lock()s with lockdep_off()/lockdep_on(). 2) (as suggested earlier by Peter Zijlstra) one that puts the i_mutexes recursively locked in different classes based on their depth from the top-level config_group created. This induces an arbitrary limit (MAX_LOCK_DEPTH - 2 == 46) on the nesting of configfs default groups whenever lockdep is activated but this limit looks reasonably high. Unfortunately, this also isolates VFS operations on configfs default groups from the others and thus lowers the chances to detect locking issues. Nobody likes solution 1), which I can understand. This patch implements solution 2). However lockdep is still not happy with configfs_depend_item(). Next patch reworks the locking of configfs_depend_item() and finally makes lockdep happy. [ Note: This hides a few locking interactions with the VFS from lockdep. That was my big concern, because we like lockdep's protection. However, the current state always dumps a spurious warning. The locking is correct, so I tell people to ignore the warning and that we'll keep our eyes on the locking to make sure it stays correct. With this patch, we eliminate the warning. We do lose some of the lockdep protections, but this only means that we still have to keep our eyes on the locking. We're going to do that anyway. -- Joel ] Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit bf293c17b26b8854241df08b9b63f7270cbde012 Author: Remis Lima Baima Date: Thu Apr 30 18:36:23 2009 +0200 x86: added 'ifndef _ASM_X86_IOMAP_H' to iomap.h iomap.h misses the include guards. [ Impact: cleanup ] Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann LKML-Reference: <200904301836.23885.arnd@arndb.de> Signed-off-by: Ingo Molnar commit 12d161147f828192b5bcc33166f468a827832767 Author: Thomas Gleixner Date: Sat Apr 4 21:01:10 2009 +0000 x86: hookup sys_rt_tgsigqueueinfo Make the new sys_rt_tgsigqueueinfo available for x86. Signed-off-by: Thomas Gleixner commit 62ab4505e3efaf67784f84059e0fb9cedb1728ea Author: Thomas Gleixner Date: Sat Apr 4 21:01:06 2009 +0000 signals: implement sys_rt_tgsigqueueinfo sys_kill has the per thread counterpart sys_tgkill. sigqueueinfo is missing a thread directed counterpart. Such an interface is important for migrating applications from other OSes which have the per thread delivery implemented. Signed-off-by: Thomas Gleixner Reviewed-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Ulrich Drepper commit 30b4ae8a4498543863501f707879b7220b649602 Author: Thomas Gleixner Date: Sat Apr 4 21:01:01 2009 +0000 signals: split do_tkill Split out the code from do_tkill to make it reusable by the follow up patch which implements sys_rt_tgsigqueueinfo Signed-off-by: Thomas Gleixner Reviewed-by: Oleg Nesterov commit 03682411b1ccd38cbde2e9a6ab43884ff34fbefc Author: Anton Vorontsov Date: Thu Apr 30 18:38:01 2009 +0200 alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC Some time ago we had to disable init_hwif callback for PowerPC builds. That was because of a historical IRQ overwrite in the driver, which was causing IDE malfunction on the MPC8610HPCD PowerPC boards. It's unclear whether this overwrite is still useful, but it is proven to cause a bit of harm, and today some PowerPC targets (Xilinx ML510, as reported by Roderick Colenbrander) need the init_hwif, so we have to re-enable it and remove the overwrite. Reported-by: Roderick Colenbrander Suggested-by: Bartlomiej Zolnierkiewicz Cc: Benjamin Herrenschmidt Signed-off-by: Anton Vorontsov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23a39eede5f04eb8c4e8d6622231d98fe46bdc65 Merge: b656eba 96c1674 Author: Bartlomiej Zolnierkiewicz Date: Thu Apr 30 18:28:35 2009 +0200 Merge branch 'for-linus' into for-next commit 71437552f2564c0d0c5cc4995045683051c5fe62 Author: Mark Brown Date: Thu Apr 30 13:42:04 2009 +0100 ASoC: Use platform device resource for S3C64xx IISv2 Signed-off-by: Mark Brown commit abbc82466967064e4eaafa367fc225a8c803569c Author: Mark Brown Date: Thu Apr 30 13:21:52 2009 +0100 ASoC: Staticise txctrl and rxctrl for S3C IISv2 They aren't used by anything external and aren't prototyped; if any users appear they can be exported again for them. Also report what modes we have a problem with when we encounter invalid mode configurations. Signed-off-by: Mark Brown commit 38e43c81a07de8ee8a757a9c93dd3a4937dd35e0 Author: Mark Brown Date: Thu Apr 30 13:14:38 2009 +0100 ASoC: Display S3C IISv2 mode and MS errors by default Signed-off-by: Mark Brown commit af3ea7bdc77be000f69a41e7c41060f72b5a7111 Author: Mark Brown Date: Thu Apr 30 13:13:55 2009 +0100 ASoC: Display the clock rate used as the basis for rate calculation Aids debugging. Signed-off-by: Mark Brown commit c86bde54062a4d02c1b58203b7802797e4007a8a Author: Mark Brown Date: Thu Apr 30 13:09:33 2009 +0100 ASoC: Allow use of resource from the platform device for S3C IISv2 Signed-off-by: Mark Brown commit 07736d48051869c37838635b41850618aa63b9a7 Author: Mark Brown Date: Thu Apr 30 13:13:14 2009 +0100 ASoC: Fix boot warnings from S3C IISv2 On startup we try to make sure that the port is quiesced but if the port is already stopped then this will generate a warning about the RX/TX mode configuration. Configure the mode before doing the teardown to suppress these warnings. Signed-off-by: Mark Brown commit 553b1dd58c5cf1abd6d0965041169400a3cff1ad Author: Mark Brown Date: Wed Apr 29 20:29:25 2009 +0100 ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit The data format configuration for S3C64xx IISv2 is completely different to that for S3C24xx. Instead of a single bit configuration in bit 0 of IISMOD we have format selection in bits 13 and 14 and bit clock rate selection in bits 1 and 2. While we're here add support for 24 bit samples in S3C64xx. At some point it may be desirable to expose the bit clock rate selection to users but given the limited configuration options that may not be required. Signed-off-by: Mark Brown commit 51438449e717db54550b4676f38208092eb654da Author: Mark Brown Date: Wed Apr 29 20:30:39 2009 +0100 ASoC: Make S3C64xx clock export function to return struct clk This makes the interface usable with the s3c-iis-v2 rate calculator and consistent with S3C2412. Signed-off-by: Mark Brown commit 8a0f62b842e2f189e36d9f4c575ee15da9c605ff Author: Mark Brown Date: Wed Apr 29 20:28:47 2009 +0100 ASoC: Check for supported CPUs when building s3c-i2s-v2 Signed-off-by: Mark Brown commit 09aa60df92a9c5ff00e156c0dbc79f166d406a7f Author: Mark Brown Date: Wed Apr 29 18:51:48 2009 +0100 ASoC: Fix error message formatting in s3c64xx-i2s driver Signed-off-by: Mark Brown commit bad760089c1ef7fe525c0f268a4078b9cb483903 Author: Ingo Molnar Date: Thu Apr 30 14:14:37 2009 +0200 perf_counter tools: fix infinite loop in perf-report on zeroed event records Bail out early if a record has zero size - we have no chance to make reliable progress in that case. Print out the offset where this happens, and print the number of bytes we missed out on. Signed-off-by: Ingo Molnar commit 66cf782996f3d57d3cc199f0a2d47a54e2aa5991 Author: Ingo Molnar Date: Thu Apr 30 13:53:33 2009 +0200 perf_counter tools: perf stat: make -l default-on Turn on scaling display by default - this is less confusing. Signed-off-by: Ingo Molnar commit aac3f3c2c41ce49a6dbb98d9145265c00a964dc2 Author: Ingo Molnar Date: Thu Apr 30 13:52:19 2009 +0200 perf_counter tools: add perf-report to the Makefile Build it explicitly until it's a proper builtin command. Signed-off-by: Ingo Molnar commit 83c4832683bc8ebcd1687b3c0bf3ba1ab253dd4f Author: Sam Ravnborg Date: Thu Apr 30 12:03:16 2009 +0200 x86: boot/compressed/vmlinux.lds.S: fix build of bzImage with 64 bit compiler Jesper reported that he saw following build issue: > ld:arch/x86/boot/compressed/vmlinux.lds:9: syntax error > make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 1 > make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2 > make: *** [bzImage] Error 2 CPP defines the symbol "i386" to "1". Undefine this to fix it. [ Impact: build fix with certain tool chains ] Reported-by: Jesper Dangaard Brouer Signed-off-by: Sam Ravnborg Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit ba9c22f2c01cf5c88beed5a6b9e07d42e10bd358 Author: Darren Hart Date: Mon Apr 20 22:22:22 2009 -0700 futex: remove FUTEX_REQUEUE_PI (non CMP) The new requeue PI futex op codes were modeled after the existing FUTEX_REQUEUE and FUTEX_CMP_REQUEUE calls. I was unaware at the time that FUTEX_REQUEUE was only around for compatibility reasons and shouldn't be used in new code. Ulrich Drepper elaborates on this in his Futexes are Tricky paper: http://people.redhat.com/drepper/futex.pdf. The deprecated call doesn't catch changes to the futex corresponding to the destination futex which can lead to deadlock. Therefor, I feel it best to remove FUTEX_REQUEUE_PI and leave only FUTEX_CMP_REQUEUE_PI as there are not yet any existing users of the API. This patch does change the OP code value of FUTEX_CMP_REQUEUE_PI to 12 from 13. Since my test case is the only known user of this API, I felt this was the right thing to do, rather than leave a hole in the enumeration. I chose to continue using the _CMP_ modifier in the OP code to make it explicit to the user that the test is being done. Builds, boots, and ran several hundred iterations requeue_pi.c. Signed-off-by: Darren Hart LKML-Reference: <49ED580E.1050502@us.ibm.com> Signed-off-by: Thomas Gleixner commit 9518e0e4350a5ea8ca200ce320b28d6284a7b0ce Author: Pekka Enberg Date: Tue Apr 28 16:00:50 2009 +0300 x86: move per-cpu mmu_gathers to mm/init.c [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1240923650.1982.22.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 2b72394e4089643f11669d9610907a1442fe044a Author: Pekka Enberg Date: Tue Apr 28 16:00:49 2009 +0300 x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c This patch moves the max_pfn_mapped and max_low_pfn_mapped global variables to kernel/setup.c where they're initialized. [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1240923649.1982.21.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit a511e3f968c462a55ef58697257f5347c73d306e Author: Andrew Morton Date: Wed Apr 29 15:59:58 2009 -0700 mutex: add atomic_dec_and_mutex_lock(), fix include/linux/mutex.h:136: warning: 'mutex_lock' declared inline after being called include/linux/mutex.h:136: warning: previous declaration of 'mutex_lock' was here uninline it. [ Impact: clean up and uninline, address compiler warning ] Signed-off-by: Andrew Morton Cc: Al Viro Cc: Christoph Hellwig Cc: Eric Paris Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <200904292318.n3TNIsi6028340@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit c5dd016cdf0a040e1de0b691e274fbfe642b2cdc Author: Paul Mackerras Date: Thu Apr 30 09:48:16 2009 +1000 perf_counter: update copyright notice This adds my name to the list of copyright holders on the core perf_counter.c, since I have contributed a significant amount of the code in there. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Robert Richter LKML-Reference: <18936.59200.888049.746658@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f425752fc66acf1d4e47970ea704ed7d31c14173 Author: Magnus Damm Date: Thu Apr 30 04:09:26 2009 +0000 sh: remove old CMT driver This patch removes the old CMT driver (CONFIG_SH_CMT/timer-cmt.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_CMT and configure timer channel using platform data. If multiple CMT channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_cmt.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 698aa99da5f5e2b4c666fd21ab77306f0225b8f5 Author: Magnus Damm Date: Thu Apr 30 04:08:18 2009 +0000 sh: sh2/sh2a 16-bit CMT platform data This patch adds 16-bit cmt platform data for the following cpus: - sh7619 (2 channels) - sh7203/sh7263 (2 channels) - sh7206 (2 channels) Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3014f47460ecfb13d4169daae51f26a20bacfa17 Author: Magnus Damm Date: Wed Apr 29 14:50:37 2009 +0000 clocksource: sh_cmt 16-bit fixes This patch contains various fixes for 16-bit cmt hardware. With this applied periodic clockevents work fine on sh7203. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e6be3a25861429166f945499c7ee616875bc3db9 Author: Magnus Damm Date: Thu Apr 30 12:56:37 2009 +0900 sh: pass through ioremap() for non-mmu processors. All 32-bit SuperH processors currently go through __ioremap_mode() and check for IO_TRAPPED and directly mapped segments. With this patch we simplify the MMU less case with a pass through version of __ioremap_mode() which just returns the physical address. The effects of this is change are: - fix non-MMU ioremap() of high address hardware blocks (sh7203 CMT) - make sure IO_TRAPPED is not selected Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit aba7453037c3a90714caae77a622dceaf1173786 Merge: a4fe91e 93af7ac Author: David S. Miller Date: Wed Apr 29 20:30:35 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: Documentation/isdn/00-INDEX drivers/net/wireless/iwlwifi/iwl-scan.c drivers/net/wireless/rndis_wlan.c net/mac80211/main.c commit a4fe91ee711f4e955ea85ab05b092cfe384b073e Author: David S. Miller Date: Wed Apr 29 17:53:20 2009 -0700 Revert "vxge: use max() instead of VXGE_HW_SET_LEVEL" This reverts commit 011983048a120e520147361be1067dd82343038e. Causes warnings in the build as reported by Stephen Rothwell. So this change is worse than what it's curing. Signed-off-by: David S. Miller commit 5974700c288aa160fd02b1cb9294173664bcc172 Author: Ben Hutchings Date: Wed Apr 29 08:34:44 2009 +0000 mii: Rewrite mii_ethtool_gset() to report mdio_support and lp_advertising Ignore link partner advertising flags while AN is not complete. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 894b19a6b343ce3589237167a56e6df0fe72ef0d Author: Ben Hutchings Date: Wed Apr 29 08:25:57 2009 +0000 ethtool/mdio: Support backplane mode negotiation Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0c09c1a49cc7b819b33566a49d9901f7cfdd6889 Author: Ben Hutchings Date: Wed Apr 29 08:21:53 2009 +0000 ethtool/mdio: Report MDIO mode support and link partner advertising Add mdio_support and lp_advertising fields to ethtool_cmd. Set these in mdio45_ethtool_gset{,_npage}(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3f926da82f128c68c479247b1771729b9487502a Author: Ben Hutchings Date: Wed Apr 29 08:20:37 2009 +0000 sfc: Use generic MDIO flow control auto-negotiation functions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit af2a3eac2fe6a6d8e9fdf6927284b34466a7d808 Author: Ben Hutchings Date: Wed Apr 29 08:19:36 2009 +0000 mdio: Add mdio45_ethtool_spauseparam_an() This implements the ETHTOOL_SPAUSEPARAM operation for MDIO (clause 45) PHYs with auto-negotiation MMDs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a8c30832b5b12e5d4e9d1c20cdac3cc2880e08b8 Author: Ben Hutchings Date: Wed Apr 29 08:19:03 2009 +0000 mii: Add mii_advertise_flowctrl() This converts flow control capabilites to an advertising mask and can be useful in combination with mii_resolve_flowctrl_fdx(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 44c22ee91b56d7cad3b48c439dd96aad2e910fbc Author: Ben Hutchings Date: Wed Apr 29 08:15:05 2009 +0000 mii: Simplify mii_resolve_flowctrl_fdx() This is a shorter and more comprehensible formulation of the conditions for each flow control mode. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4023939667a906f0c02022ce7ec06d6512470211 Author: Ben Hutchings Date: Wed Apr 29 08:13:29 2009 +0000 s2io: Use generic MDIO definitions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit cdbf0eb478dd4c76aa665c80976837dc58367f52 Author: Ben Hutchings Date: Wed Apr 29 08:11:05 2009 +0000 ixgb: Use generic MDIO definitions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6b73e10d2d89f9ce773f9b47d61b195936d059ba Author: Ben Hutchings Date: Wed Apr 29 08:08:58 2009 +0000 ixgbe: Use generic MDIO definitions and functions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0f07c4ee8c800923ae7918c231532a9256233eed Author: Ben Hutchings Date: Wed Apr 29 08:07:20 2009 +0000 cxgb3: Use generic MDIO definitions and mdio_mii_ioctl() Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 23c3320cb039debfb94b27e8e9bfe26dd47692c3 Author: Ben Hutchings Date: Wed Apr 29 08:06:34 2009 +0000 chelsio: Use generic MDIO definitions and mdio_mii_ioctl() Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 68e7f45e118f98b77cfa007aa2d97b5dac69fe6b Author: Ben Hutchings Date: Wed Apr 29 08:05:08 2009 +0000 sfc: Use generic MDIO functions and definitions Make use of the newly-added generic MDIO clause 45 support and remove redundant definitions. Add an 'efx_' prefix to the remaining driver-specific MDIO functions and remove arguments which are redundant with efx->mdio.prtad. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1b1c2e95103ce391c2ea39a9460968fcb73deb30 Author: Ben Hutchings Date: Wed Apr 29 08:04:46 2009 +0000 mdio: Add generic MDIO (clause 45) support functions These roughly mirror many of the MII library functions and are based on code from the sfc driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 52c94dfae11d9ffd70b7bd003a36a4e210f2866a Author: Ben Hutchings Date: Wed Apr 29 08:04:14 2009 +0000 mdio: Add register definitions for MDIO (clause 45) IEEE 802.3 clause 45 specifies the MDIO interface and registers for use in 10G and other PHYs, similar to the MII management interface. PHYs may have up to 32 MMDs corresponding to different sub-layers and functions, each with up to 65536 registers. These are addressed by PRTAD (similar to the MII PHY address) and DEVAD. Define a mapping for specifying PRTAD and DEVAD through the existing MII ioctls. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0821c71751ef88f4251d7206e76ce497ee267a2d Author: Ben Hutchings Date: Wed Apr 29 08:02:59 2009 +0000 ethtool: Add port type PORT_OTHER Add a PORT_OTHER to represent all other physical port types. Current NICs generally do not allow switching between multiple port types in software so specific types should not be needed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ce105a082371570effb71541f299b1dc2771ee03 Author: John Dykstra Date: Wed Apr 29 17:22:30 2009 -0700 pcnet32: Remove pointless memory barriers These two memory barriers in performance-critical paths are not needed on x86. Even if some other architecture does buffer PCI I/O space writes, the existing memory-mapped I/O barriers are unlikely to be what is needed. Signed-off-by: John Dykstra Acked-by: Don Fry Signed-off-by: David S. Miller commit ecd6de3c88e8cbcad175b2eab48ba05c2014f7b6 Author: Oleg Nesterov Date: Wed Apr 29 16:02:24 2009 +0200 selinux: selinux_bprm_committed_creds() should wake up ->real_parent, not ->parent. We shouldn't worry about the tracer if current is ptraced, exec() must not succeed if the tracer has no rights to trace this task after cred changing. But we should notify ->real_parent which is, well, real parent. Also, we don't need _irq to take tasklist, and we don't need parent's ->siglock to wake_up_interruptible(real_parent->signal->wait_chldexit). Since we hold tasklist, real_parent->signal must be stable. Otherwise spin_lock(siglock) is not safe too and can't help anyway. Signed-off-by: Oleg Nesterov Signed-off-by: James Morris commit 3bcac0263f0b45e67a64034ebcb69eb9abb742f4 Author: David Howells Date: Wed Apr 29 13:45:05 2009 +0100 SELinux: Don't flush inherited SIGKILL during execve() Don't flush inherited SIGKILL during execve() in SELinux's post cred commit hook. This isn't really a security problem: if the SIGKILL came before the credentials were changed, then we were right to receive it at the time, and should honour it; if it came after the creds were changed, then we definitely should honour it; and in any case, all that will happen is that the process will be scrapped before it ever returns to userspace. Signed-off-by: David Howells Signed-off-by: Oleg Nesterov Signed-off-by: James Morris commit 88c48db9788862d0290831d081bc3c64e13b592f Author: Eric Paris Date: Wed Apr 29 14:00:25 2009 -0400 SELinux: drop secondary_ops->sysctl We are still calling secondary_ops->sysctl even though the capabilities module does not define a sysctl operation. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 23b94b967f118bef941369238f33c8140be46539 Author: Luis Henriques Date: Wed Apr 29 21:54:51 2009 +0100 locking, rtmutex.c: Documentation cleanup Two minor updates on functions documentation: - Updated documentation for function rt_mutex_unlock(), which contained an incorrect name - Removed extra '*' from comment in function rt_mutex_destroy() [ Impact: cleanup ] Signed-off-by: Luis Henriques Cc: Steven Rostedt LKML-Reference: <20090429205451.GA23154@hades.domain.com> Signed-off-by: Ingo Molnar commit 43f6201a22dbf1c5abe1cab96b49bd56fa9df8f4 Author: Robert Richter Date: Wed Apr 29 16:55:56 2009 +0200 perf_counter, x86: rename bitmasks to ->used_mask and ->active_mask Standardize on explicitly mentioning '_mask' in fields that are not plain flags but masks. This avoids typos like: if (cpuc->used) (which could easily slip through review unnoticed), while if a typo looks like this: if (cpuc->used_mask) it might get noticed during review. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241016956-24648-1-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 0c8b946e3ebb3846103486420ea7430a4b5e5b1b Author: Frederic Weisbecker Date: Wed Apr 15 17:48:18 2009 +0200 vsprintf: introduce %pf format specifier A printf format specifier which would allow us to print a pure function name has been suggested by Andrew Morton a couple of months ago. The current %pF is very convenient to print a function symbol, but often we only want to print the name of the function, without its asm offset. That's what %pf does in this patch. The lowecase f has been chosen for its intuitive meaning of a 'weak kind of %pF'. The support for this new format would be welcome by the tracing code where the need to print pure function names is often needed. This is also true for other parts of the kernel: $ git-grep -E "kallsyms_lookup\(.+?\)" arch/blackfin/kernel/traps.c: symname = kallsyms_lookup(address, &symsize, &offset, &modname, namebuf); arch/powerpc/xmon/xmon.c: name = kallsyms_lookup(pc, &size, &offset, NULL, tmpstr); arch/sh/kernel/cpu/sh5/unwind.c: sym = kallsyms_lookup(pc, NULL, &offset, NULL, namebuf); arch/x86/kernel/ftrace.c: kallsyms_lookup((unsigned long) syscall, NULL, NULL, NULL, str); kernel/kprobes.c: sym = kallsyms_lookup((unsigned long)p->addr, NULL, kernel/lockdep.c: return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup((unsigned long)rec->ops->func, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, &modname, str); kernel/trace/ftrace.c: kallsyms_lookup(*ptr, NULL, NULL, NULL, str); kernel/trace/trace_functions.c: kallsyms_lookup(ip, NULL, NULL, NULL, str); kernel/trace/trace_output.c: kallsyms_lookup(address, NULL, NULL, NULL, str); Changes in v2: - Add the explanation of the %pf role for vsnprintf() and bstr_printf() - Change the comments by dropping the "asm offset" notion and only define the %pf against the actual function offset notion. Signed-off-by: Frederic Weisbecker Acked-by: Mike Frysinger Cc: Linus Torvalds Cc: Zhaolei Cc: Tom Zanussi Cc: Li Zefan Cc: Andrew Morton Cc: Steven Rostedt LKML-Reference: <20090415154817.GC5989@nowhere> Signed-off-by: Ingo Molnar commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba Author: Christoph Hellwig Date: Tue Feb 24 08:39:02 2009 -0500 xfs: fix getbmap vs mmap deadlock xfs_getbmap (or rather the formatters called by it) copy out the getbmap structures under the ilock, which can deadlock against mmap. This has been reported via bugzilla a while ago (#717) and has recently also shown up via lockdep. So allocate a temporary buffer to format the kernel getbmap structures into and then copy them out after dropping the locks. A little problem with this is that we limit the number of extents we can copy out by the maximum allocation size, but I see no real way around that. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 4be4a00fb55879ef44b5914c189aecffa828deb4 Author: Christoph Hellwig Date: Wed Apr 29 10:50:48 2009 -0400 xfs: a couple getbmap cleanups - reshuffle various conditionals for data vs attr fork to make the code more readable - do fine-grainded goto-based error handling - exit early from conditionals instead of keeping a long else branch around - allow kmem_alloc to fail Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit b1fca26631f76a5e8b18435a43f5d82b8734da4b Author: Eric Paris Date: Mon Mar 23 18:22:09 2009 +0100 mutex: add atomic_dec_and_mutex_lock() Much like the atomic_dec_and_lock() function in which we take an hold a spin_lock if we drop the atomic to 0 this function takes and holds the mutex if we dec the atomic to 0. Signed-off-by: Eric Paris Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.410913479@chello.nl> Signed-off-by: Ingo Molnar commit 2ac00af7a6d2e65013e6f28bd1f37c0cd98ba134 Author: Olaf Weber Date: Fri Apr 17 16:12:45 2009 -0500 xfs: add more checks to superblock validation There had been reports where xfs filesystem was randomly corrupted with fsfuzzer, and xfs failed to handle it gracefully. This patch fixes couple of reported problem by providing additional checks in the superblock validation routine. Signed-off-by: Olaf Weber Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit f25181f598cf4a8ccc40a51d8b74f8b555ecddee Author: Lachlan McIlroy Date: Thu Apr 23 22:18:00 2009 -0400 xfs_file_last_byte() needs to acquire ilock We had some systems crash with this stack: [] ia64_leave_kernel+0x0/0x280 [] xfs_bmbt_get_startoff+0x0/0x20 [xfs] [] xfs_bmap_last_offset+0x210/0x280 [xfs] [] xfs_file_last_byte+0x70/0x1a0 [xfs] [] xfs_itruncate_start+0xc0/0x1a0 [xfs] [] xfs_inactive_free_eofblocks+0x290/0x460 [xfs] [] xfs_release+0x1b0/0x240 [xfs] [] xfs_file_release+0x70/0xa0 [xfs] [] __fput+0x1a0/0x420 [] fput+0x40/0x60 The problem here is that xfs_file_last_byte() does not acquire the inode lock and can therefore race with another thread that is modifying the extext list. While xfs_bmap_last_offset() is trying to lookup what was the last extent some extents were merged and the extent list shrunk so the index we lookup is now beyond the end of the extent list and potentially in a freed buffer. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ab7ef2e50a557af92f4f90689f51fadadafc16b2 Author: Paul Mackerras Date: Wed Apr 29 22:38:51 2009 +1000 perf_counter: powerpc: allow use of limited-function counters POWER5+ and POWER6 have two hardware counters with limited functionality: PMC5 counts instructions completed in run state and PMC6 counts cycles in run state. (Run state is the state when a hardware RUN bit is 1; the idle task clears RUN while waiting for work to do and sets it when there is work to do.) These counters can't be written to by the kernel, can't generate interrupts, and don't obey the freeze conditions. That means we can only use them for per-task counters (where we know we'll always be in run state; we can't put a per-task counter on an idle task), and only if we don't want interrupts and we do want to count in all processor modes. Obviously some counters can't go on a limited hardware counter, but there are also situations where we can only put a counter on a limited hardware counter - if there are already counters on that exclude some processor modes and we want to put on a per-task cycle or instruction counter that doesn't exclude any processor mode, it could go on if it can use a limited hardware counter. To keep track of these constraints, this adds a flags argument to the processor-specific get_alternatives() functions, with three bits defined: one to say that we can accept alternative event codes that go on limited counters, one to say we only want alternatives on limited counters, and one to say that this is a per-task counter and therefore events that are gated by run state are equivalent to those that aren't (e.g. a "cycles" event is equivalent to a "cycles in run state" event). These flags are computed for each counter and stored in the counter->hw.counter_base field (slightly wonky name for what it does, but it was an existing unused field). Since the limited counters don't freeze when we freeze the other counters, we need some special handling to avoid getting skew between things counted on the limited counters and those counted on normal counters. To minimize this skew, if we are using any limited counters, we read PMC5 and PMC6 immediately after setting and clearing the freeze bit. This is done in a single asm in the new write_mmcr0() function. The code here is specific to PMC5 and PMC6 being the limited hardware counters. Being more general (e.g. having a bitmap of limited hardware counter numbers) would have meant more complex code to read the limited counters when freezing and unfreezing the normal counters, with conditional branches, which would have increased the skew. Since it isn't necessary for the code to be more general at this stage, it isn't. This also extends the back-ends for POWER5+ and POWER6 to be able to handle up to 6 counters rather than the 4 they previously handled. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Robert Richter LKML-Reference: <18936.19035.163066.892208@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 98144511427c192e4249ff66a3f9debc55c59411 Author: Ingo Molnar Date: Wed Apr 29 14:52:50 2009 +0200 perf_counter: add/update copyrights Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 38105f0234d4795c77c7c6845916caf3a395c451 Author: Robert Richter Date: Wed Apr 29 12:47:26 2009 +0200 perf_counter: update 'perf top' documentation The documentation about the perf-top build was outdated after perfstat has been implemented. This updates it. [ Impact: update documentation ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-30-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 19d84dab55a383d75c885b5c1a618f5ead96f2f6 Author: Robert Richter Date: Wed Apr 29 12:47:25 2009 +0200 perf_counter, x86: remove unused function argument in intel_pmu_get_status() The mask argument is unused and thus can be removed. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-29-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit ef7b3e09ffdcd5200aea9523f6b56d331d1c4fc0 Author: Robert Richter Date: Wed Apr 29 12:47:24 2009 +0200 perf_counter, x86: remove vendor check in fixed_mode_idx() The function fixed_mode_idx() is used generically. Now it checks the num_counters_fixed value instead of the vendor to decide if fixed counters are present. [ Impact: generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-28-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit c619b8ffb1cec6a431687a35695dc6fd292a79e6 Author: Robert Richter Date: Wed Apr 29 12:47:23 2009 +0200 perf_counter, x86: introduce max_period variable In x86 pmus the allowed counter period to programm differs. This introduces a max_period value and allows the generic implementation for all models to check the max period. [ Impact: generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-27-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4b7bfd0d276da3a006d37e85d3cf900d7a14ae2a Author: Robert Richter Date: Wed Apr 29 12:47:22 2009 +0200 perf_counter, x86: return raw count with x86_perf_counter_update() To check on AMD cpus if a counter overflows, the upper bit of the raw counter value must be checked. This value is already internally available in x86_perf_counter_update(). Now, the value is returned so that it can be used directly to check for overflows. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-26-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit a29aa8a7ff93e4196d558036928597e68337dd8d Author: Robert Richter Date: Wed Apr 29 12:47:21 2009 +0200 perf_counter, x86: implement the interrupt handler for AMD cpus This patch implements the interrupt handler for AMD performance counters. In difference to the Intel pmu, there is no single status register and also there are no fixed counters. This makes the handler very different and it is useful to make the handler vendor specific. To check if a counter is overflowed the upper bit of the counter is checked. Only counters where the active bit is set are checked. With this patch throttling is enabled for AMD performance counters. This patch also reenables Linux performance counters on AMD cpus. [ Impact: re-enable perfcounters on AMD CPUs ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-25-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 85cf9dba92152bb4edec118b2f4f0be1ae7fdcab Author: Robert Richter Date: Wed Apr 29 12:47:20 2009 +0200 perf_counter, x86: change and remove pmu initialization checks Some functions are only called if the pmu was proper initialized. That initalization checks can be removed. The way to check initialization changed too. Now, the pointer to the interrupt handler is checked. If it exists the pmu is initialized. This also removes a static variable and uses struct x86_pmu as only data source for the check. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-24-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit d43698918bd46c71d494555fb92195fbea1fcb6c Author: Robert Richter Date: Wed Apr 29 12:47:19 2009 +0200 perf_counter, x86: rework counter disable functions As for the enable function, this patch reworks the disable functions and introduces x86_pmu_disable_counter(). The internal function i/f in struct x86_pmu changed too. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-23-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 7c90cc45f89af4dd4617f97d452740ad95b800d5 Author: Robert Richter Date: Wed Apr 29 12:47:18 2009 +0200 perf_counter, x86: rework counter enable functions There is vendor specific code in generic x86 code, and there is vendor specific code that could be generic. This patch introduces x86_pmu_enable_counter() for x86 generic code. Fixed counter code for Intel is moved to Intel only functions. In the end, checks and calls via function pointers were reduced to the necessary. Also, the internal function i/f changed. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-22-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 6f00cada07bb5da7f751929d3173494dcc5446cc Author: Robert Richter Date: Wed Apr 29 12:47:17 2009 +0200 perf_counter, x86: consistent use of type int for counter index The type of counter index is sometimes implemented as unsigned int. This patch changes this to have a consistent usage of int. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-21-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 095342389e2ed8deed07b3076f990260ce3c7c9f Author: Robert Richter Date: Wed Apr 29 12:47:16 2009 +0200 perf_counter, x86: generic use of cpuc->active cpuc->active will now be used to indicate an enabled counter which implies also valid pointers of cpuc->counters[]. In contrast, cpuc->used only locks the counter, but it can be still uninitialized. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-20-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 93904966934193204ad08e951f806d5631c29eb3 Author: Robert Richter Date: Wed Apr 29 12:47:15 2009 +0200 perf_counter, x86: rename cpuc->active_mask This is to have a consistent naming scheme with cpuc->used. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-19-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit bb775fc2d1dcd1aa6eafde37a8289ba2d80783aa Author: Robert Richter Date: Wed Apr 29 12:47:14 2009 +0200 perf_counter, x86: make x86_pmu_read() static inline [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-18-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit faa28ae018ed004a22aa4a7704e04ccdde4a941e Author: Robert Richter Date: Wed Apr 29 12:47:13 2009 +0200 perf_counter, x86: make pmu version generic This makes the use of the version variable generic. Also, some debug messages have been generalized. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-17-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 0933e5c6a680ba8d8d786a6f7fa377b7ec0d1e49 Author: Robert Richter Date: Wed Apr 29 12:47:12 2009 +0200 perf_counter, x86: move counter parameters to struct x86_pmu [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-16-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4a06bd8508f65ad1dd5cd2046b85694813fa36a2 Author: Robert Richter Date: Wed Apr 29 12:47:11 2009 +0200 perf_counter, x86: make x86_pmu data a static struct Instead of using a pointer to reference to the x86 pmu we now have one single data structure that is initialized at the beginning. This saves the pointer access when using this memory. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-15-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 72eae04d3a3075c26d39e1e685acfc8e8c29db64 Author: Robert Richter Date: Wed Apr 29 12:47:10 2009 +0200 perf_counter, x86: modify initialization of struct x86_pmu This patch adds an error handler and changes initialization of struct x86_pmu. No functional changes. Needed for follow-on patches. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-14-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 55de0f2e57994b525324bf0d04d242d9358a2417 Author: Robert Richter Date: Wed Apr 29 12:47:09 2009 +0200 perf_counter, x86: rename intel only functions [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-13-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 26816c287e13eedc67bc4ed0cd40c138314b7c7d Author: Robert Richter Date: Wed Apr 29 12:47:08 2009 +0200 perf_counter, x86: rename __hw_perf_counter_set_period into x86_perf_counter_set_period [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-12-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit dee5d9067ca78b317538fd67930be4e09a83dbc5 Author: Robert Richter Date: Wed Apr 29 12:47:07 2009 +0200 perf_counter, x86: remove ack_status() from struct x86_pmu This function is Intel only and not necessary for AMD cpus. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-11-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit b7f8859a8ed1937e2139c17b84878f1d413fa659 Author: Robert Richter Date: Wed Apr 29 12:47:06 2009 +0200 perf_counter, x86: remove get_status() from struct x86_pmu This function is Intel only and not necessary for AMD cpus. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-10-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 39d81eab2374d71b2d9c82f66258a1a4f57ddd2e Author: Robert Richter Date: Wed Apr 29 12:47:05 2009 +0200 perf_counter, x86: make interrupt handler model specific This separates the perfcounter interrupt handler for AMD and Intel cpus. The AMD interrupt handler implementation is a follow-on patch. [ Impact: refactor and clean up code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-9-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 5f4ec28ffe77c840354cce1820a3436106e9e0f1 Author: Robert Richter Date: Wed Apr 29 12:47:04 2009 +0200 perf_counter, x86: rename struct pmc_x86_ops into struct x86_pmu This patch renames struct pmc_x86_ops into struct x86_pmu. It introduces a structure to describe an x86 model specific pmu (performance monitoring unit). It may contain ops and data. The new name of the structure fits better, is shorter, and thus better to handle. Where it was appropriate, names of function and variable have been changed too. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-8-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4aeb0b4239bb3b67ed402cb9cef3e000c892cadf Author: Robert Richter Date: Wed Apr 29 12:47:03 2009 +0200 perfcounters: rename struct hw_perf_counter_ops into struct pmu This patch renames struct hw_perf_counter_ops into struct pmu. It introduces a structure to describe a cpu specific pmu (performance monitoring unit). It may contain ops and data. The new name of the structure fits better, is shorter, and thus better to handle. Where it was appropriate, names of function and variable have been changed too. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-7-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 527e26af3741a2168986d8b82653ffe173891324 Author: Robert Richter Date: Wed Apr 29 12:47:02 2009 +0200 perf_counter, x86: protect per-cpu variables with compile barriers only Per-cpu variables needn't to be protected with cpu barriers (smp_wmb()). Protection is only needed for preemption on the same cpu (rescheduling or the nmi handler). This can be done using a compiler barrier only. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-6-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4295ee62660b13ddb87d41539f49b239e6e7d56f Author: Robert Richter Date: Wed Apr 29 12:47:01 2009 +0200 perf_counter, x86: rework pmc_amd_save_disable_all() and pmc_amd_restore_all() MSR reads and writes are expensive. This patch adds checks to avoid its usage where possible. [ Impact: micro-optimization on AMD CPUs ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-5-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4138960a9251a265002b5cf07e671a49f8495381 Author: Robert Richter Date: Wed Apr 29 12:47:00 2009 +0200 perf_counter, x86: add default path to cpu detection This quits hw counter initialization immediately if no cpu is detected. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-4-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 829b42dd395c5801f6ae87da87ecbdcfd5ef1a6c Author: Robert Richter Date: Wed Apr 29 12:46:59 2009 +0200 perf_counter, x86: declare perf_max_counters only for CONFIG_PERF_COUNTERS This is only needed for CONFIG_PERF_COUNTERS enabled. [ Impact: cleanup ] Signed-off-by: Robert Richter Acked-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241002046-8832-3-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit da1a776be1ac7f78bb30ececbec4c1383163b079 Author: Robert Richter Date: Wed Apr 29 12:46:58 2009 +0200 perf_counter, x86: remove X86_FEATURE_ARCH_PERFMON flag for AMD cpus X86_FEATURE_ARCH_PERFMON is an Intel hardware feature that does not work on AMD CPUs. The flag is now only used in Intel specific code (especially initialization). [ Impact: refactor code ] Signed-off-by: Robert Richter Acked-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241002046-8832-2-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit e7fd5d4b3d240f42c30a9e3d20a4689c4d3a795a Merge: 1130b02 56a50ad Author: Ingo Molnar Date: Wed Apr 29 14:46:59 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: This brach was on -rc1, refresh it to almost-rc4 to pick up the latest upstream fixes. Signed-off-by: Ingo Molnar commit 50fa610a3b6ba7cf91d7a92229177dfaff2b81a1 Author: David Howells Date: Tue Apr 28 15:01:38 2009 +0100 sched: Document memory barriers implied by sleep/wake-up primitives Add a section to the memory barriers document to note the implied memory barriers of sleep primitives (set_current_state() and wrappers) and wake-up primitives (wake_up() and co.). Also extend the in-code comments on the wake_up() functions to note these implied barriers. [ Impact: add documentation ] Signed-off-by: David Howells Cc: Oleg Nesterov Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <20090428140138.1192.94723.stgit@warthog.procyon.org.uk> Signed-off-by: Ingo Molnar commit a0e39ed378fb6ba916522764cd508fa7d42ad495 Author: Heiko Carstens Date: Wed Apr 29 13:51:39 2009 +0200 tracing: fix build failure on s390 "tracing: create automated trace defines" causes this compile error on s390, as reported by Sachin Sant against linux-next: kernel/built-in.o: In function `__do_softirq': (.text+0x1c680): undefined reference to `__tracepoint_softirq_entry' This happens because the definitions of the softirq tracepoints were moved from kernel/softirq.c to kernel/irq/handle.c. Since s390 doesn't support generic hardirqs handle.c doesn't get compiled and the definitions are missing. So move the tracepoints to softirq.c again. [ Impact: fix build failure on s390 ] Reported-by: Sachin Sant Signed-off-by: Heiko Carstens Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <20090429135139.5fac79b8@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit 8b3725621074040d380664964ffbc40610aef8c6 Author: Tom Zanussi Date: Tue Apr 28 03:04:59 2009 -0500 tracing/filters: a better event parser Replace the current event parser hack with a better one. Filters are no longer specified predicate by predicate, but all at once and can use parens and any of the following operators: numeric fields: ==, !=, <, <=, >, >= string fields: ==, != predicates can be combined with the logical operators: &&, || examples: "common_preempt_count > 4" > filter "((sig >= 10 && sig < 15) || sig == 17) && comm != bash" > filter If there was an error, the erroneous string along with an error message can be seen by looking at the filter e.g.: ((sig >= 10 && sig < 15) || dsig == 17) && comm != bash ^ parse_error: Field not found Currently the caret for an error always appears at the beginning of the filter; a real position should be used, but the error message should be useful even without it. To clear a filter, '0' can be written to the filter file. Filters can also be set or cleared for a complete subsystem by writing the same filter as would be written to an individual event to the filter file at the root of the subsytem. Note however, that if any event in the subsystem lacks a field specified in the filter being set, the set will fail and all filters in the subsytem are automatically cleared. This change from the previous version was made because using only the fields that happen to exist for a given event would most likely result in a meaningless filter. Because the logical operators are now implemented as predicates, the maximum number of predicates in a filter was increased from 8 to 16. [ Impact: add new, extended trace-filter implementation ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905899.6416.121.camel@tropicana> Signed-off-by: Ingo Molnar commit a118e4d1402f1349fe3d953493e4168a300a752d Author: Tom Zanussi Date: Tue Apr 28 03:04:53 2009 -0500 tracing/filters: distinguish between signed and unsigned fields The new filter comparison ops need to be able to distinguish between signed and unsigned field types, so add an is_signed flag/param to the event field struct/trace_define_fields(). Also define a simple macro, is_signed_type() to determine the signedness at compile time, used in the trace macros. If the is_signed_type() macro won't work with a specific type, a new slightly modified version of TRACE_FIELD() called TRACE_FIELD_SIGN(), allows the signedness to be set explicitly. [ Impact: extend trace-filter code for new feature ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905893.6416.120.camel@tropicana> Signed-off-by: Ingo Molnar commit 30e673b230f9d556eb81ef68a7b1a08c8b3b142c Author: Tom Zanussi Date: Tue Apr 28 03:04:47 2009 -0500 tracing/filters: move preds into event_filter object Create a new event_filter object, and move the pred-related members out of the call and subsystem objects and into the filter object - the details of the filter implementation don't need to be exposed in the call and subsystem in any case, and it will also help make the new parser implementation a little cleaner. [ Impact: refactor trace-filter code to prepare for new features ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905887.6416.119.camel@tropicana> Signed-off-by: Ingo Molnar commit fd0731944333db6e9e91b6954c6ef95f4b71ab04 Author: Ingo Molnar Date: Wed Apr 29 12:56:58 2009 +0200 x86, vmlinux.lds: fix relocatable symbols __init_begin/_end symbols should be inside sections as well, otherwise the relocatable kernel gets confused when freeing init sections in the wrong place. [ Impact: fix bootup crash ] Cc: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <20090429105056.GA28720@uranus.ravnborg.org> Signed-off-by: Ingo Molnar commit 0f9a623dd6c9b5b4dd00c232f29525bfc7a8ecf2 Author: Stuart Bennett Date: Tue Apr 28 20:17:51 2009 +0100 tracing: x86, mmiotrace: only register for die notifier when tracer active Follow up to afcfe024aebd74b0984a41af9a34e009cf5badaf in Linus' tree ("x86: mmiotrace: quieten spurious warning message") Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-5-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 46e91d00b1165b14b484aa33800e1bba0794ae1a Author: Stuart Bennett Date: Tue Apr 28 20:17:50 2009 +0100 tracing: x86, mmiotrace: refactor clearing/restore of page presence * change function names to clear_* from set_*: in reality we only clear and restore page presence, and never unconditionally set present. Using clear_*({true, false}, ...) is therefore more honest than set_*({false, true}, ...) * upgrade presence storage to pteval_t: doing user-space tracing will require saving and manipulation of the _PAGE_PROTNONE bit, in addition to the existing _PAGE_PRESENT changes, and having multiple bools stored and passed around does not seem optimal [ Impact: refactor, clean up mmiotrace code ] Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-4-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 0492e1bb8fe7d122901c9f3af75e537d4129712e Author: Stuart Bennett Date: Tue Apr 28 20:17:49 2009 +0100 tracing: x86, mmiotrace: code consistency/legibility improvement kmmio_probe being *p and kmmio_fault_page being sometimes *f and sometimes *p is not helpful. [ Impact: cleanup ] Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-3-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 91fd7fe809bdf4d8aa56559d17b9f25a1a6fe732 Author: Ingo Molnar Date: Wed Apr 29 10:58:38 2009 +0200 x86, vmlinux.lds: add copyright Acked-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 091e52c3551d3031343df24b573b770b4c6c72b6 Author: Sam Ravnborg Date: Wed Apr 29 09:47:29 2009 +0200 x86, vmlinux.lds: unify remaining parts 32 bit: - explicit page align .bss - move ALING() out of .brk output section - discard *(.eh_frame) 64 bit: - move ALIGN() out of .bss output section - move ALIGN() out of .brk output section - use a dedicated section to define _end [ Impact: unify and fix section alignments in linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-13-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 9d16e78318f174fd4b07916a93e41749d5199267 Author: Sam Ravnborg Date: Wed Apr 29 09:47:28 2009 +0200 x86, vmlinux.lds: unify percpu 32 bit: - move __init_end outside the .bss output section It really did not belong in there [ Impact: 64-bit: cleanup, 32-bit: refactor linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-12-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit bf6a57418d5445c98047edbec022c9e54d1526e6 Author: Sam Ravnborg Date: Wed Apr 29 09:47:27 2009 +0200 x86, vmlinux.lds: unify .exit.* and .init.ramfs [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-11-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit ae61836289a415351caa524d328110aaeae100d4 Author: Sam Ravnborg Date: Wed Apr 29 09:47:26 2009 +0200 x86, vmlinux.lds: unify parainstructions 32 bit: - increase alignment from 4 to 8 for .parainstructions - increase alignment from 4 to 8 for .altinstructions 64 bit: - move ALIGN() outside output section for .altinstructions None of the above should result in any functional change. [ Impact: refactor and unify linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-10-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit e58bdaa8f810332e5c1760ce496b01e07d51642c Author: Sam Ravnborg Date: Wed Apr 29 09:47:25 2009 +0200 x86, vmlinux.lds: unify first part of initdata 32-bit: - Move definition of __init_begin outside output_section because it covers more than one section - Move ALIGN() for end-of-section inside .smp_locks output section. Same effect but the intent is better documented that we need both start and end aligned. 64-bit: - Move ALIGN() outside output section in .init.setup - Deleted unused __smp_alt_* symbols None of the above should result in any functional change. [ Impact: refactor and unify linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-9-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit ff6f87e1626e10beef675084c9b5384a9477e3d5 Author: Sam Ravnborg Date: Wed Apr 29 09:47:24 2009 +0200 x86, vmlinux.lds: move vsyscall output sections [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-8-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 1f6397bac55040cd520d9eaf299e155a7aa01d5f Author: Sam Ravnborg Date: Wed Apr 29 09:47:23 2009 +0200 x86, vmlinux.lds: unify data output sections For 64 bit the following functional changes are introduced: - .data.page_aligned has moved - .data.cacheline_aligned has moved - .data.read_mostly has moved - ALIGN() moved out of output section for .data.cacheline_aligned - ALIGN() moved out of output section for .data.page_aligned Notice that 32 bit and 64 bit has different location of _edata. .data_nosave is 32 bit only as 64 bit is special due to PERCPU. [ Impact: 32-bit: cleanup, 64-bit: use 32-bit linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-7-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 448bc3ab0d03e77fee8e4264de0d001fc87bc164 Author: Sam Ravnborg Date: Wed Apr 29 09:47:22 2009 +0200 x86, vmlinux.lds: unify exception table [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-6-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit dfc20895d944cfa81d8ff00809b68ecb8f72cbb0 Author: Sam Ravnborg Date: Wed Apr 29 09:47:21 2009 +0200 x86, vmlinux.lds: unify .text output sections 32 bit x86 had a dedicated .text.head output section, whereas 64 bit had it all in a single output section. In the unified version the dedicated .text.head output section was kept to have full control over the head code. 32 bit: - Moved definition of _stext to the linker script. The definition is located _after_ .text.page_aligned as this is what 32 bit did before. The ALIGN(8) was introduced so we hit the exact same address (on the tested config) before and after the move. I assume that it is a bug that _stext did not cover the .text.page_aligned section - if this is true it can be fixed in a follow-up patch (and the ugly ALIGN() can be dropped). [ Impact: 64-bit: cleanup, 32-bit: use the 64-bit linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-5-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 444e0ae4831f99ba25062d9a5ccb7117c62841a0 Author: Sam Ravnborg Date: Wed Apr 29 09:47:20 2009 +0200 x86, vmlinux.lds: unify start/end of SECTIONS [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-4-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit afb8095a7eab32e5760613fa73d2f80a39cc45bf Author: Sam Ravnborg Date: Wed Apr 29 09:47:19 2009 +0200 x86, vmlinux.lds: unify PHDRS PHDRS are not equal for the two - so use ifdefs to cover up for that. On the assumption that they may become equal the ifdef is inside the PHDRS definiton. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-3-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 17ce265d6a1789eae5eb739a3bb7fcffdb3e87c5 Author: Sam Ravnborg Date: Wed Apr 29 09:47:18 2009 +0200 x86, vmlinux.lds: unify header/footer Merge everything except PHDRS and SECTIONS into vmlinux.lds.S. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit aee6a166a5401dcfcb17fcdc055e5edf2a4f4042 Author: Sam Ravnborg Date: Wed Apr 29 09:47:17 2009 +0200 x86: beautify vmlinux_32.lds.S Beautify vmlinux_32.lds.S: - Use tabs for indent - Located curly braces like in C code - Rearranged a few comments To see actual differences use "git diff -b" which ignore 'whitespace' changes. The beautification is done to prepare a unification of the _32 and _64 variants of the linker scripts. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-1-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit dd4d8ca6446538a904127838cb6c9a4cffe690f7 Author: Don Skidmore Date: Wed Apr 29 00:22:31 2009 -0700 ixgbe: Use pci_wake_from_d3() instead of multiple pci_enable_wake() We were calling pci_enable_wake() twice in a row for both D3_hot and D3_cold. This replaces those calls with a call to pci_wake_from_d3() to avoid issues with PCI PM vs ordering constraints. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f7185c71234434d48b96f9a0387737df1759a4af Author: Dhananjay Phadke Date: Tue Apr 28 15:29:11 2009 +0000 netxen: fix firmware download o hold the firmware in memory across suspend, since filesystem may not be up after resuming. o reset the chip after requesting firmware, to minimize downtime for NC-SI. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4ea528a151549df795c984649d75860ea40390bd Author: Dhananjay Phadke Date: Tue Apr 28 15:29:10 2009 +0000 netxen: refactor netxen_recv_context struct o move related fields into netxen_recv_context struct. o allocate rx buffer and descriptor rings dynamically. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5103c9f7874506cb40fc3c8d3f22486d3c4d91aa Author: Dhananjay Phadke Date: Tue Apr 28 15:29:09 2009 +0000 netxen: fix link event handling Firmware starting 4.0.402 started supporting link events, disable it for older firmwares. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7d7d2b803159d4edeb051b0e5efbc1a8d9ef1c67 Author: Steven Rostedt Date: Mon Apr 27 12:37:49 2009 -0400 ring-buffer: fix printk output The warning output in trace_recursive_lock uses %d for a long when it should be %ld. [ Impact: fix compile warning ] Signed-off-by: Steven Rostedt commit f2957f1f196b0217644a17c1379855a118a37d72 Author: Steven Rostedt Date: Wed Apr 29 00:26:30 2009 -0400 tracing: have splice only copy full pages Splice works with pages, it is much more effecient to use an entire page than to copy bits over several pages. Using logdev to trace the internals of the splice mechanism, I was able to see that splice can be very aggressive. When tracing is occurring, and the reader caught up to the writer, and the writer is on the reader page, the reader will copy what is there into the splice page. Splice may iterate over several pages and if the writer is still writing to the page, the reader will keep copying bits to new pages to pass to userspace. This patch changes it to only pass data to userspace if the page is full (the writer has left the page). This has a small side effect that splice can not read a partial page, and must wait for the page to fill. This should not be an issue. If tracing has stopped, then a use of "read" will still read all of the page. [ Impact: better performance for ring buffer splice code ] Signed-off-by: Steven Rostedt commit 93459c6cb9816c52200993d29dd18cea1daee335 Author: Steven Rostedt Date: Wed Apr 29 00:23:13 2009 -0400 tracing: only add splice page if entries exist The splice code allocates a page even when the ring buffer is empty. It detects the ring buffer being empty when it it fails to copy anything from the ring buffer into the page. This patch adds a check to see if there is anything in the ring buffer before allocating a page. Thanks to logdev for letting me trace the tracer to find this. [ Impact: speed up due to removing unnecessary allocation ] Signed-off-by: Steven Rostedt commit 5beae6efd1004b44c3e257dc96087978e4c763c1 Author: Steven Rostedt Date: Wed Apr 29 00:16:21 2009 -0400 tracing: fix ref count in splice pages The pages allocated for the splice binary buffer did not initialize the ref count correctly. This caused pages not to be freed and causes a drastic memory leak. Thanks to logdev I was able to trace the tracer to find where the leak was. [ Impact: stop memory leak when using splice ] Signed-off-by: Steven Rostedt commit 6d0485a99366d4e0e7e725f14995c74cb7ca4499 Author: Nicolas Ferre Date: Tue Mar 31 17:13:15 2009 +0100 [ARM] 5438/1: AT91: manage clock by functionality instead of CPUs In clock.c file the clock management is grouped by cpu with cpu_is_xxx() function. This lead to some kind of difficulties to read this file and maintainability issues as the number of AT91 cpus & PLLs/clocks is growing. In this patch, I try to group clock functionality together and match cpus with this functionality set. An update to at91_pmc.h is needed to cover some new PMC possibilities (and some update in comments). Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit d98aac7592114241f378bc8d5b3e424cced7ded2 Author: Linus Walleij Date: Mon Apr 27 10:21:46 2009 +0100 [ARM] 5480/1: U300-v5 integrate into the ARM architecture This hooks the U300 support into Kbuild and makes a small hook in mmu.c for supporting an odd memory alignment with shared memory on these systems. This is rebased to RMK:s GIT HEAD. This patch tries to add the Kconfig option in alphabetic order by option text and the Makefile entry after config symbol. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bb3cee2b35d2b9edab71997bd06040ff37483e08 Author: Linus Walleij Date: Thu Apr 23 10:22:13 2009 +0100 [ARM] 5473/1: U300 core machine support This adds core support for the ST-Ericsson U300 series platforms: U300, U330, U335 and U365. Supports memory mappings, interrupt controller, system timer (clocksource and clockevents), and binds to the existing drivers for the PrimeCells used in this design: PL190 (VIC), PL180 (MMC/SD host) and PL011 (UART). This is intented to serve as starting point for our mainling work, more patches to follow. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit cd27e485410aa7e7464b0126d968fe8c2a5c045b Author: Linus Walleij Date: Thu Apr 23 10:21:30 2009 +0100 [ARM] 5474/1: U300 clocking framework This adds the clocking framework and hooks into the clkdevice for U300 series platforms. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bd41b99d4661e775ff152f2842782c43dbb30a59 Author: Linus Walleij Date: Thu Apr 23 21:15:04 2009 +0100 [ARM] 5471/2: U300 GPIO and PADMUX support This adds GPIO and PADMUX headers and implementation for the U300 platform. This is an implementation in isolation that depend on later patches in this series to plug into the framework. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit fa59440d0c7b5a2bcdc9e35f25fdac693e54c86a Author: Linus Walleij Date: Thu Apr 23 10:19:58 2009 +0100 [ARM] 5470/1: U300 register definitions This adds registers, interrupt numbers and IO mappings for the U300 series platforms core support, including basic block offsets and registers definitions for the system controller. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 72e31981a4e91f84c5b5e8994f5d25b1cf22b6cf Merge: 6be01cf 18cc8d8 Author: Mark Brown Date: Tue Apr 28 19:33:45 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit edc953fa4ebc0265ef3b1754fe116a9fd4264e15 Author: Mathieu Desnoyers Date: Tue Apr 28 11:13:46 2009 -0400 x86: clean up alternative.h Alternative header duplicates assembly that could be merged in one single macro. Merging this into this macro also allows to directly declare ALTERNATIVE() statements within assembly code. Uses a __stringify() of the feature bits rather than passing a "i" operand. Leave the old %0 operand as-is (set to 0), unused to stay compatible with API. (v2: tab alignment fixes) [ Impact: cleanup ] Signed-off-by: Mathieu Desnoyers LKML-Reference: <20090428151346.GA31212@Krystal> Signed-off-by: Ingo Molnar commit cd891ae0305601bdb4d2e7e85282961c4ff256cd Author: Steven Rostedt Date: Tue Apr 28 11:39:34 2009 -0400 tracing: convert ftrace_dump spinlocks to raw ftrace_dump is used for printing out the contents of the ftrace ring buffer to the console on failure. Currently it uses a spinlock to synchronize the output from multiple failures on different CPUs. This spin lock currently is a normal spinlock and can cause issues with lockdep and lock tracing. This patch converts it to raw since it is for error handling only. The lock is local to the ftrace_dump and is not used by any other infrastructure. [ Impact: prevent ftrace_dump from locking up by internal tracing ] Signed-off-by: Steven Rostedt commit 6c31d55f755ff2bc1f7dc3b45c500032fe90aff8 Author: Kumar Gala Date: Tue Apr 28 08:04:10 2009 -0700 gianfar: Use memset instead of cacheable_memzero cacheable_memzero() is completely overkill for the clearing out the FCB block which is only 8-bytes. The compiler should easily optimize this with memset. Additionally, cacheable_memzero() only exists on ppc32 and thus breaks builds of gianfar on ppc64. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit ac5978e7f83a6cbd9a70282d6e39bd936a31b2bc Author: Arnaldo Carvalho de Melo Date: Tue Apr 28 08:03:26 2009 -0700 inet_diag: Remove dup assignments These are later assigned to other values without being used meanwhile. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 08cbf542bf24fb0481a54526b177347ae4046f5e Author: Tejun Heo Date: Tue Apr 14 10:54:53 2009 +0900 fuse: export symbols to be used by CUSE Export the following symbols for CUSE. fuse_conn_put() fuse_conn_get() fuse_conn_kill() fuse_send_init() fuse_do_open() fuse_sync_release() fuse_direct_io() fuse_do_ioctl() fuse_file_poll() fuse_request_alloc() fuse_get_req() fuse_put_request() fuse_request_send() fuse_abort_conn() fuse_dev_release() fuse_dev_operations Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit a325f9b92273d6c64ec56167905b951b9827ec33 Author: Tejun Heo Date: Tue Apr 14 10:54:52 2009 +0900 fuse: update fuse_conn_init() and separate out fuse_conn_kill() Update fuse_conn_init() such that it doesn't take @sb and move bdi registration into a separate function. Also separate out fuse_conn_kill() from fuse_put_super(). These will be used to implement cuse. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 797759aaf31351a1ab1b9130c4f180ce496f46c5 Author: Miklos Szeredi Date: Tue Apr 28 16:56:41 2009 +0200 fuse: don't use inode in fuse_file_poll Use ff->fc and ff->nodeid instead of file->f_dentry->d_inode in the fuse_file_poll() implementation. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit d36f248710c05714f37d921258b630bd1456b99f Author: Miklos Szeredi Date: Tue Apr 28 16:56:39 2009 +0200 fuse: don't use inode in fuse_do_ioctl() helper Create a helper for sending an IOCTL request that doesn't use a struct inode. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit 8b0797a4984de4406de25808e1a424344de543e4 Author: Miklos Szeredi Date: Tue Apr 28 16:56:39 2009 +0200 fuse: don't use inode in fuse_sync_release() Make fuse_sync_release() a generic helper function that doesn't need a struct inode pointer. This makes it suitable for use by CUSE. Change return value of fuse_release_common() from int to void. Signed-off-by: Miklos Szeredi commit 91fe96b403f8a0a4a8a045a39b1bd549b0da7941 Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: create fuse_do_open() helper for CUSE Create a helper for sending an OPEN request that doesn't need a struct inode pointer. Signed-off-by: Miklos Szeredi commit c7b7143c6342b8751d47b03a025ac5c0ac1ae809 Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: clean up args in fuse_finish_open() and fuse_release_fill() Move setting ff->fh, ff->nodeid and file->private_data outside fuse_finish_open(). Add ->open_flags member to struct fuse_file. This simplifies the argument passing to fuse_finish_open() and fuse_release_fill(), and paves the way for creating an open helper that doesn't need an inode pointer. Signed-off-by: Miklos Szeredi commit 2106cb18930312af9325d3418e138569c5b903cc Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: don't use inode in helpers called by fuse_direct_io() Use ff->fc and ff->nodeid instead of passing down the inode. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit da5e4714578ff323f7a61af490fc3539e68f188b Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: add members to struct fuse_file Add new members ->fc and ->nodeid to struct fuse_file. This will aid in converting functions for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit d09cb9d7f6e4cb1dd0cf12ee0d352440291c74cf Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: prepare fuse_direct_io() for CUSE Move code operating on the inode out from fuse_direct_io(). This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit 2d698b070382442f817813b9dd0103034e5bca81 Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: clean up fuse_write_fill() Move out code from fuse_write_fill() which is not common to all callers. Remove two function arguments which become unnecessary. Also remove unnecessary memset(), the request is already initialized to zero. Signed-off-by: Miklos Szeredi commit b0be46ebf72ca7478c1c4bd0153c42f90e768a03 Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: use struct path in release structure Use struct path instead of separate dentry and vfsmount in req->misc.release. Signed-off-by: Miklos Szeredi commit 6b2db28a7a2da1064df9e179d9b6d07b0bfe156a Author: Tejun Heo Date: Tue Apr 14 10:54:49 2009 +0900 fuse: misc cleanups * fuse_file_alloc() was structured in weird way. The success path was split between else block and code following the block. Restructure the code such that it's easier to read and modify. * Unindent success path of fuse_release_common() to ease future changes. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 1130b0296184bc21806225fd06d533515a99d2db Author: Peter Zijlstra Date: Tue Apr 28 14:56:18 2009 +0200 perf_counter tools: fix Documentation/perf_counter build error Mike Galbraith reported: > marge:..Documentation/perf_counter # make > CC builtin-stat.o > In file included from builtin-stat.c:71: > /usr/include/ctype.h:102: error: expected expression before ‘]’ token Remove the ctype.h include. Signed-off-by: Ingo Molnar commit 4278600644dee621bd50d7498e244b135612e0f6 Author: Paul Mundt Date: Tue Apr 28 23:12:10 2009 +0900 sh: register the rtc-generic platform device properly. The device registration was accidentally omitted, add it back in. Do some basic device probing as well, so this doesn't show up for platforms that tie in to the RTC interface properly. Signed-off-by: Paul Mundt commit 6a321cb370ad3db4ba6e405e638b3a42c41089b0 Author: Eric Dumazet Date: Tue Apr 28 04:43:42 2009 -0700 net: netif_tx_queue_stopped too expensive netif_tx_queue_stopped(txq) is most of the time false. Yet its cost is very expensive on SMP. static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue) { return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state); } I saw this on oprofile hunting and bnx2 driver bnx2_tx_int(). We probably should split "struct netdev_queue" in two parts, one being read mostly. __netif_tx_lock() touches _xmit_lock & xmit_lock_owner, these deserve a separate cache line. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cb6605c1e4d2a2eaffdde433fbfe1567ca688458 Author: Takashi Iwai Date: Tue Apr 28 13:03:19 2009 +0200 ALSA: hda - Fix a typo in patch_realtek.c again The commmit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d was reverted accidentally by the merge of auto-detection fix patch. Fixed again now. Signed-off-by: Takashi Iwai commit 2a2ed0dfc9ec44a899c7d4672f73f2c045099118 Author: Takashi Iwai Date: Tue Apr 28 13:01:26 2009 +0200 ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.c Enable auto-muting in model=auto only for devices with HP and speakers. For devices with HP and line-outs, don't enable the auto-muting. Also, add a debug print to show the auto-mute feature. Signed-off-by: Takashi Iwai commit 56b581ea9591b5767b1e0204c6a06c7d0c49396e Author: Yinghai Lu Date: Mon Apr 27 18:02:46 2009 -0700 irq: make ht irq_desc more numa aware Try to get irq_desc on the same node as create_irq_nr(). [ Impact: optimization, make HT IRQs more NUMA-aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F655B6.8020109@kernel.org> Signed-off-by: Ingo Molnar commit d047f53a2ecce37e3bdf79eac5a326fbaadb3628 Author: Yinghai Lu Date: Mon Apr 27 18:02:23 2009 -0700 x86/irq: change MSI irq_desc to be more numa aware Try to get irq_desc on the home node in create_irq_nr(). v2: don't check if we can move it when sparse_irq is not used v3: use move_irq_des, if that node is not what we want [ Impact: optimization, make MSI IRQ descriptors more NUMA aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F6559F.7070005@kernel.org> Signed-off-by: Ingo Molnar commit 024154cfdd802654cb236a18c78b6e37351e2c49 Author: Yinghai Lu Date: Mon Apr 27 18:01:50 2009 -0700 irq: change io_apic_set_pci_routing() to use device parameter Make actual use of the device parameter passed down to io_apic_set_pci_routing() - to have the IRQ descriptor on the home node of the device. If no device has been passed down, we assume it's a platform device and use the boot node ID for the IRQ descriptor. [ Impact: optimization, make IO-APIC code more NUMA aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F6557E.3080101@kernel.org> Signed-off-by: Ingo Molnar commit a2f809b08ae4dddc1015c7dcd8659e5729e45b3e Author: Yinghai Lu Date: Mon Apr 27 18:01:20 2009 -0700 irq: change ACPI GSI APIs to also take a device argument We want to use dev_to_node() later on, to be aware of the 'home node' of the GSI in question. [ Impact: cleanup, prepare the IRQ code to be more NUMA aware ] Signed-off-by: Yinghai Lu Acked-by: Len Brown Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: Len Brown Cc: Bjorn Helgaas Cc: Tony Luck Cc: linux-acpi@vger.kernel.org Cc: linux-ia64@vger.kernel.org LKML-Reference: <49F65560.20904@kernel.org> Signed-off-by: Ingo Molnar commit 85ac16d033370caf6f48d743c8dc8103700f5cc5 Author: Yinghai Lu Date: Mon Apr 27 18:00:38 2009 -0700 x86/irq: change irq_desc_alloc() to take node instead of cpu This simplifies the node awareness of the code. All our allocators only deal with a NUMA node ID locality not with CPU ids anyway - so there's no need to maintain (and transform) a CPU id all across the IRq layer. v2: keep move_irq_desc related [ Impact: cleanup, prepare IRQ code to be NUMA-aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: Jeremy Fitzhardinge LKML-Reference: <49F65536.2020300@kernel.org> Signed-off-by: Ingo Molnar commit 57b150cce8e004ddd36330490a68bfb59b7271e9 Author: Yinghai Lu Date: Mon Apr 27 17:59:53 2009 -0700 irq: only update affinity if ->set_affinity() is sucessfull irq_set_affinity() and move_masked_irq() try to assign affinity before calling chip set_affinity(). Some archs are assigning it in ->set_affinity() again. We do something like: cpumask_cpy(desc->affinity, mask); desc->chip->set_affinity(mask); But in the failure path, affinity should not be touched - otherwise we'll end up with a different affinity mask despite the failure to migrate the IRQ. So try to update the afffinity only if set_affinity returns with 0. Also call irq_set_thread_affinity accordingly. v2: update after "irq, x86: Remove IRQ_DISABLED check in process context IRQ move" v3: according to Ingo, change set_affinity() in irq_chip should return int. v4: update comments by removing moving irq_desc code. [ Impact: fix /proc/irq/*/smp_affinity setting corner case bug ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F65509.60307@kernel.org> Signed-off-by: Ingo Molnar commit d5dedd4507d307eb3f35f21b6e16f336fdc0d82a Author: Yinghai Lu Date: Mon Apr 27 17:59:21 2009 -0700 irq: change ->set_affinity() to return status according to Ingo, change set_affinity() in irq_chip should return int, because that way we can handle failure cases in a much cleaner way, in the genirq layer. v2: fix two typos [ Impact: extend API ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: linux-arch@vger.kernel.org LKML-Reference: <49F654E9.4070809@kernel.org> Signed-off-by: Ingo Molnar commit fcef5911c7ea89b80d5bfc727f402f37c9eefd57 Author: Yinghai Lu Date: Mon Apr 27 17:58:23 2009 -0700 x86/irq: remove leftover code from NUMA_MIGRATE_IRQ_DESC The original feature of migrating irq_desc dynamic was too fragile and was causing problems: it caused crashes on systems with lots of cards with MSI-X when user-space irq-balancer was enabled. We now have new patches that create irq_desc according to device numa node. This patch removes the leftover bits of the dynamic balancer. [ Impact: remove dead code ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F654AF.8000808@kernel.org> Signed-off-by: Ingo Molnar commit 9ec4fa271faf2db3b8e1419c998da1ca6b094eb6 Author: Yinghai Lu Date: Mon Apr 27 17:57:18 2009 -0700 irq, cpumask: correct CPUMASKS_OFFSTACK typo and fix fallout CPUMASKS_OFFSTACK is not defined anywhere (it is CPUMASK_OFFSTACK). It is a typo and init_allocate_desc_masks() is called before it set affinity to all cpus... Split init_alloc_desc_masks() into all_desc_masks() and init_desc_masks(). Also use CPUMASK_OFFSTACK in alloc_desc_masks(). [ Impact: fix smp_affinity copying/setup when moving irq_desc between CPUs ] Signed-off-by: Yinghai Lu Acked-by: Rusty Russell Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" LKML-Reference: <49F6546E.3040406@kernel.org> Signed-off-by: Ingo Molnar commit 8555a5948467e941acc34e8b1c30df4c1f2f5862 Author: Grant Likely Date: Tue Apr 28 02:11:53 2009 -0700 net: Fix ucc_geth.c handling of fixed-link w/o phy-connection-type property. Previous rework to ucc_geth.c to add of_mdio support (net: Rework ucc_geth driver to use of_mdio infrastructure) added a block of code which broke older openfirmware device trees which this case. This patch removes the offending blurb. Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 1d58ea30b141c95bd21fb39021d4b602f48b30be Author: Kumar Gala Date: Tue Apr 28 02:05:21 2009 -0700 fs_enet: Remove dead code CONFIG_DUET doesn't exist anymore, remove all the code that exists to support it. [ Simplify fs_init() even further -DaveM ] Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 8e0b842948156e3463879caed12b4ce51bed772e Author: Magnus Damm Date: Tue Apr 28 08:19:50 2009 +0000 sh: setup timers in late_time_init() This patch moves the SuperH timer setup code from time_init() to late_time_init(). Good things about this change: - interrupts: they are enabled at late_time_init() - mm: regular kmalloc() can be used at late_time_init() Together with moving to late_time_init() this patch changes the sh_cmt driver to always allocate with kmalloc(). This simplifies the code a bit and also fixes section mismatches. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5b644c7a218702668d7b610994e7dcbc3d4705d3 Author: Magnus Damm Date: Tue Apr 28 08:17:54 2009 +0000 clocksource: improve sh_cmt clocksource overflow handling This patch improves the sh_cmt clocksource handling. Currently the counter value is ignored in the case of overflow. With this patch the overflow flag is read before and after reading the counter, removing any counter value and overflow flag mismatch issues. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bc59fcda671ee15362986a902bbd90e218fe84c4 Author: Nelson, Shannon Date: Mon Apr 27 22:43:12 2009 +0000 ixgbe: Clear out stray tx work on link down Ayyappan at VMware noticed that we're missing this check from ixgbe which is in our other drivers. The difference with this implementation from our other drivers is that this checks all the tx queues rather than just tx[0]. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 835462fc5d69adc948e8afb2073264888aaa0e2f Author: Nelson, Shannon Date: Mon Apr 27 22:42:54 2009 +0000 ixgbe: Interrupt management update for 82599 Update the interrupt management to correctly handle greater than 16 queue vectors. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f8212f979f777af2a8e3a9deb0c11a9fcf35e305 Author: Alexander Duyck Date: Mon Apr 27 22:42:37 2009 +0000 ixgbe: enable HW RSC for 82599 This patch enables hardware receive side coalescing for 82599 hardware. 82599 can merge multiple frames from the same TCP/IP flow into a single structure that can span one ore more descriptors. The accumulated data is arranged similar to how jumbo frames are arranged with the exception that other packets can be interlaced inbetween. To overcome this issue a next pointer is included in the written back descriptor which indicates the next descriptor in the writeback sequence. This feature sets the NETIF_F_LRO flag and clearing it via the ethtool set flags operation will also disable hardware RSC. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 45a5ead0220cc7cc70f6961879decffbd0a54cc0 Author: Jesse Brandeburg Date: Mon Apr 27 22:36:35 2009 +0000 ixgbe: enable hardware offload for sctp Inspired by: Vlad Yasevich This is the code to enable ixgbe for hardware offload support of CRC32c on both transmit and receive of SCTP traffic. only 82599 supports this offload, not 82598. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b9473560c6d882e0fbd3a8817e906c847b11c722 Author: Jesse Brandeburg Date: Mon Apr 27 22:36:13 2009 +0000 igb: Enable SCTP checksum offloading Originally from: Vlad Yasevich This patch, both the driver portion and the sctp code was modified by Jesse Brandeburg and is Copyright(c) 2009 Intel Corporation. Thanks go to Vlad for starting this work. Intel 82576 chipset supports SCTP checksum offloading. This patch enables this functionality in the driver. A new NETIF feature is introduced for SCTP checksum offload. If the driver supports CRC32c checksum, it can set this feature flag. The hardware can offload both transmit and receive. Signed-off-by: Jesse Brandeburg Signed-off-by: Vlad Yasevich Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8dc92f7e2ecfd93f5c57da78594a7a5482e2c15e Author: Jesse Brandeburg Date: Mon Apr 27 22:35:52 2009 +0000 sctp: add feature bit for SCTP offload in hardware this is the sctp code to enable hardware crc32c offload for adapters that support it. Originally by: Vlad Yasevich modified by Jesse Brandeburg Signed-off-by: Jesse Brandeburg Signed-off-by: Vlad Yasevich Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 182ff8dfdb63e66ca81e4d3a4c746f8d578e5687 Author: Alexander Duyck Date: Mon Apr 27 22:35:33 2009 +0000 igb/ixgbe: remove unecessary checks for CHECKSUM_UNNECESSARY Both of these drivers do a check to verify ip_summed is set to CHECKSUM_UNNECESSARY prior to passing the packet to GRO. GRO itself already does such a check so it is redundant and can be removed as this will likely cause out of order issues when receiving a packet that didn't pass checksum validation. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2844f7975837d47fe7f20aa96c1df3bcecf91935 Author: Alexander Duyck Date: Mon Apr 27 22:35:14 2009 +0000 igb: make rxcsum configuration seperate from multiqueue The igb driver was being incorrectly setup to only allow disabling receive checksum if multiqueue was disabled. This change corrects that so that RXCSUM is configured regardless of queue configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3935358ebcb8320965478c0e8ee070e1d65851c8 Author: Alexander Duyck Date: Mon Apr 27 22:34:54 2009 +0000 igb: reconfigure mailbox timeout logic This change updates the timeout logic so that it is not possible to have a sucessful check for message and still return an error if countdown = 0. Signed-off-by: Alexander Duyck Reported-by: Juha Leppanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 833cc67c7722e35863c6aaee9df56b442ef957ae Author: Magnus Damm Date: Mon Apr 27 21:32:16 2009 +0000 smsc911x: add fifo byteswap support V2 This is V2 of the smsc911x fifo byteswap patch. The smsc911x hardware supports both big and little and endian hardware configurations, and the linux smsc911x driver currently detects word order. For correct operation on big endian platforms lacking swapped byte lanes the following patch is needed. Only fifo data is swapped, register data does not require any swapping. Signed-off-by: Magnus Damm Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 52fbc1007eb071c40a367462476eee695b412578 Author: Jie Yang Date: Mon Apr 27 19:42:03 2009 +0000 atl1c: disable L1/L0s when link detected Disable L1/L0s when link detected. We enable L1/L0s when link connected before, but there is some hareware error on some platform. So just diable this feature when link connected. This feature is about power saving. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 299f293b3428ae6d73406642cd7d41f08d524c83 Merge: 1103f9b 4a79ba3 Author: Takashi Iwai Date: Tue Apr 28 09:51:57 2009 +0200 Merge branch 'topic/hda-realtek-amp' into topic/hda commit 1103f9b241447845e63d798e6ba652b4d55b700c Merge: 3b1db01 7315613 Author: Takashi Iwai Date: Tue Apr 28 09:51:49 2009 +0200 Merge branch 'fix/hda' into topic/hda commit f68adec3c7155a8bbf32a90cb4c4d0737df045d9 Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 13:06:17 2009 +0900 mg_disk: use defines from While at it: - remove MG_REG_HEAD_MUST_BE_ON define - remove MG_REG_CTRL_INTR_ENABLE define - remove MG_REG_HEAD_LBA_MODE define - remove unused defines Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8a11a789c39cd6f61de4243234cf44a46c23ffd0 Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 13:06:16 2009 +0900 mg_disk: fix dependency on libata Add local copies of ata_id_string() and ata_id_c_string() to mg_disk so there is no need for the driver to depend on ATA and SCSI. [ Impact: break dependency on libata by copying ata id string functions ] Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a03bb5a32fff4aa23f081a3cff7e98d4084104cd Author: Tejun Heo Date: Tue Apr 28 13:06:15 2009 +0900 mg_disk: clean up request completion paths mg_disk implements its own partial completion. Convert to standard block layer partial completion. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit eec9462088a26c046d4db3100796a340a50890b8 Author: Tejun Heo Date: Tue Apr 28 13:06:14 2009 +0900 mg_disk: fold mg_disk.h into mg_disk.c include/linux/mg_disk.h is used only by drivers/block/mg_disk.c. No reason to put it in a separate header. Fold it into mg_disk.c. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit e138b4e08ef65771000fbe6d93d67e3960ff862b Author: Tejun Heo Date: Tue Apr 28 13:06:13 2009 +0900 swim: clean up request completion paths swim curiously tries to update request parameters before calling __blk_end_request() when __blk_end_request() will do it anyway and unnecessarily checks whether current_nr_sectors is zero right after fetching. Drop unnecessary stuff and use standard block layer mechanisms. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 467ca759fc83fc35cb7d15aec0d74c62cffc4481 Author: Tejun Heo Date: Tue Apr 28 13:06:12 2009 +0900 swim3: clean up request completion paths swim3 curiously tries to update request parameters before calling __blk_end_request() when __blk_end_request() will do it anyway, and it updates request for partial completion manually instead of using blk_update_request(). Also, it does some spurious checks on rq such as testing whether rq->sector is negative or current_nr_sectors is zero right after fetching. Drop unnecessary stuff and use standard block layer mechanisms. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Benjamin Herrenschmidt Signed-off-by: Jens Axboe commit e091eb67af957bac4e4f7410c5d1aa263ee483a4 Author: Tejun Heo Date: Tue Apr 28 13:06:11 2009 +0900 hd: clean up request completion paths hd read/write_intr() functions manually manipulate request to incrementally complete it, which block layer already supports. Simply use block layer completion routines instead of manual partial completion. While at it, clear unnecessary elv_next_request() check at the tail of read_intr(). This also makes read and write_intr() more consistent. [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f81f2f7c9fee307e371f37424577d46f9eaf8692 Author: Tejun Heo Date: Tue Apr 28 13:06:10 2009 +0900 ubd: drop unnecessary rq->sector manipulation ubd curiously updates rq->sector while issuing the request in multiple pieces. Don't do it and simply use local copy of sector. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jeff Dike Signed-off-by: Jens Axboe commit 4d6c84d91d1a539ebc47d1a36a35e9390ba11fdc Author: Tejun Heo Date: Tue Apr 28 13:06:09 2009 +0900 ubd: cleanup completion path ubd had its own block request partial completion mechanism, which is unnecessary as block layer already does it. Kill ubd_end_request() and ubd_finish() and replace them with direct call to blk_end_request(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jeff Dike Signed-off-by: Jens Axboe commit 044208506d35bd62396c4673176e2c12393905b8 Author: Tejun Heo Date: Tue Apr 28 13:06:08 2009 +0900 sunvdc: kill vdc_end_request() vdc_end_request() is a thin silly wrapper on top of __blk_end_request(). Kill it. [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: David S. Miller Signed-off-by: Jens Axboe commit cd4c34ebec155e5c10f897d9bebf618248121e70 Author: Tejun Heo Date: Tue Apr 28 13:06:07 2009 +0900 ps3disk: simplify request completion ps3disk_interrupt() always completes requests fully but it uses rq->hard_cur_sectors for FLUSH requests for some reason. Drop them and simply use __blk_end_request_all(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 5b5c5d12b91cb6b2a2967f06aef35d59008dc2e7 Author: Tejun Heo Date: Tue Apr 28 13:06:06 2009 +0900 amiflop,ataflop,xd,mg_disk: clean up unnecessary stuff from block drivers rq_data_dir() can only be READ or WRITE and rq->sector and nr_sectors are always automatically updated after partial request completion. Don't worry about rq_data_dir() not being either READ or WRITE or manually update sector and nr_sectors. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jörg Dorchain Cc: Geert Uytterhoeven Cc: unsik Kim Signed-off-by: Jens Axboe commit 4c94dece1baf320d925cedb231489c4e0358ac5a Author: Tejun Heo Date: Tue Apr 28 13:06:05 2009 +0900 block: don't init rq fields unnecessarily blk_get_request() always returns properly zeroed requests. Don't set fields to zero/NULL unnecessarily. [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 9fd8d0e1bcb848257968d9a7d73ca4d890ea8bd1 Author: Tejun Heo Date: Tue Apr 28 13:06:04 2009 +0900 block: make blk_end_request_cur() return bool In the process of mindlessly copying [__]blk_end_request_all(), [__]blk_end_request_cur() ended up returning void even though they're partial completion functions. Fix it. [ Impact: fix braindead API ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 9eb55b030c4b3227334ee4482402096cd1d1a6fe Author: Nikanth Karthikesan Date: Mon Apr 27 14:53:54 2009 +0200 block: catch trying to use more bits than request->cmd_flags has Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit c69d48540c201394d08cb4d48b905e001313d9b8 Author: Jens Axboe Date: Fri Apr 24 08:12:19 2009 +0200 block: include discard requests in IO accounting We currently don't do merging on discard requests, but we potentially could. If we do, then we need to include discard requests in the IO accounting, or merging would end up decrementing in_flight IO counters for an IO which never incremented them. So enable accounting for discard requests. Problem found by Nikanth Karthikesan Signed-off-by: Jens Axboe commit c2553b5844b06910435e40cfab9e6f384840cb97 Author: Jens Axboe Date: Fri Apr 24 08:10:11 2009 +0200 block: make blk_do_io_stat() do the full "is this rq accountable" checks We currently check for file system requests outside of blk_do_io_stat(rq), but we may as well just include it. Signed-off-by: Jens Axboe commit 731ec497e5888c6792ad62613ae9be97eebcd7ca Author: Tejun Heo Date: Thu Apr 23 11:05:20 2009 +0900 block: kill rq->data Now that all block request data transfer is done via bio, rq->data isn't used. Kill it. While at it, make the roles of rq->special and buffer clear. [ Impact: drop now unncessary field from struct request ] Signed-off-by: Tejun Heo Cc: Boaz Harrosh commit ec24751a6b57e1373a12361e581b2458bc9bb791 Author: Tejun Heo Date: Thu Apr 23 11:05:20 2009 +0900 arm-omap: don't abuse rq->data omap mailbox uses rq->data as the second opaque pointer to carry mbox_msg_t and rq->special message argument which is needed only for tx. Add and use omap_msg_tx_data struct for tx and use rq->special for mbox_msg_t for rx such that only rq->special is used as opaque pointer. [ Impact: cleanup rq->data usage, extra kmalloc in msg_send ] Signed-off-by: Tejun Heo Cc: Russell King commit f06d9a2b52e246a66b606130cea3f0d7b7be17a7 Author: Tejun Heo Date: Thu Apr 23 11:05:19 2009 +0900 block: replace end_request() with [__]blk_end_request_cur() end_request() has been kept around for backward compatibility; however, it's about time for it to go away. * There aren't too many users left. * Its use of @updtodate is pretty confusing. * In some cases, newer code ends up using mixture of end_request() and [__]blk_end_request[_all](), which is way too confusing. So, add [__]blk_end_request_cur() and replace end_request() with it. Most conversions are straightforward. Noteworthy ones are... * paride/pcd: next_request() updated to take 0/-errno instead of 1/0. * paride/pf: pf_end_request() and next_request() updated to take 0/-errno instead of 1/0. * xd: xd_readwrite() updated to return 0/-errno instead of 1/0. * mtd/mtd_blkdevs: blktrans_discard_request() updated to return 0/-errno instead of 1/0. Unnecessary local variable res initialization removed from mtd_blktrans_thread(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Joerg Dorchain Acked-by: Geert Uytterhoeven Acked-by: Grant Likely Acked-by: Laurent Vivier Cc: Tim Waugh Cc: Stephen Rothwell Cc: Paul Mackerras Cc: Jeremy Fitzhardinge Cc: Markus Lidel Cc: David Woodhouse Cc: Pete Zaitcev Cc: unsik Kim commit 40cbbb781d3eba5d6ac0860db078af490e5c7c6b Author: Tejun Heo Date: Thu Apr 23 11:05:19 2009 +0900 block: implement and use [__]blk_end_request_all() There are many [__]blk_end_request() call sites which call it with full request length and expect full completion. Many of them ensure that the request actually completes by doing BUG_ON() the return value, which is awkward and error-prone. This patch adds [__]blk_end_request_all() which takes @rq and @error and fully completes the request. BUG_ON() is added to to ensure that this actually happens. Most conversions are simple but there are a few noteworthy ones. * cdrom/viocd: viocd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/block/dasd: dasd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/char/tape_block: tapeblock_end_request() replaced with direct calls to blk_end_request_all(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Russell King Cc: Stephen Rothwell Cc: Mike Miller Cc: Martin Schwidefsky Cc: Jeff Garzik Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Alex Dubov Cc: James Bottomley commit b243ddcbe9be146172baa544dadecebf156eda0e Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: move rq->start_time initialization to blk_rq_init() rq->start_time was initialized in init_request_from_bio() so special requests didn't have start_time set. This has been okay as start_time has been used only for fs requests; however, there is no indication of this actually is the case or not. Set rq->start_time in blk_rq_init() and guarantee that all initialized rq's have its start_time set. This improves consistency at virtually no cost and future changes will make use of the timestamp for !bio requests. [ Impact: rq->start_time is valid for all requests ] Signed-off-by: Tejun Heo commit 2e60e02297cf54e367567f2d85b2ca56b1c4a906 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: clean up request completion API Request completion has gone through several changes and became a bit messy over the time. Clean it up. 1. end_that_request_data() is a thin wrapper around end_that_request_data_first() which checks whether bio is NULL before doing anything and handles bidi completion. blk_update_request() is a thin wrapper around end_that_request_data() which clears nr_sectors on the last iteration but doesn't use the bidi completion. Clean it up by moving the initial bio NULL check and nr_sectors clearing on the last iteration into end_that_request_data() and renaming it to blk_update_request(), which makes blk_end_io() the only user of end_that_request_data(). Collapse end_that_request_data() into blk_end_io(). 2. There are four visible completion variants - blk_end_request(), __blk_end_request(), blk_end_bidi_request() and end_request(). blk_end_request() and blk_end_bidi_request() uses blk_end_request() as the backend but __blk_end_request() and end_request() use separate implementation in __blk_end_request() due to different locking rules. blk_end_bidi_request() is identical to blk_end_io(). Collapse blk_end_io() into blk_end_bidi_request(), separate out request update into internal helper blk_update_bidi_request() and add __blk_end_bidi_request(). Redefine [__]blk_end_request() as thin inline wrappers around [__]blk_end_bidi_request(). 3. As the whole request issue/completion usages are about to be modified and audited, it's a good chance to convert completion functions return bool which better indicates the intended meaning of return values. 4. The function name end_that_request_last() is from the days when it was a public interface and slighly confusing. Give it a proper internal name - blk_finish_request(). 5. Add description explaning that blk_end_bidi_request() can be safely used for uni requests as suggested by Boaz Harrosh. The only visible behavior change is from #1. nr_sectors counts are cleared after the final iteration no matter which function is used to complete the request. I couldn't find any place where the code assumes those nr_sectors counters contain the values for the last segment and this change is good as it makes the API much more consistent as the end result is now same whether a request is completed using [__]blk_end_request() alone or in combination with blk_update_request(). API further cleaned up per Christoph's suggestion. [ Impact: cleanup, rq->*nr_sectors always updated after req completion ] Signed-off-by: Tejun Heo Reviewed-by: Boaz Harrosh Cc: Christoph Hellwig commit 0b302d5aa7975006fa2ec3d66386610b9b36c669 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: kill blk_end_request_callback() With recent IDE updates, blk_end_request_callback() doesn't have any user now. Kill it. [ Impact: removal of unused convoluted interface ] Signed-off-by: Tejun Heo commit 158dbda0068e63c7cce7bd47c123bd1dfa5a902c Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: reorganize request fetching functions Impact: code reorganization elv_next_request() and elv_dequeue_request() are public block layer interface than actual elevator implementation. They mostly deal with how requests interact with block layer and low level drivers at the beginning of rqeuest processing whereas __elv_next_request() is the actual eleveator request fetching interface. Move the two functions to blk-core.c. This prepares for further interface cleanup. Signed-off-by: Tejun Heo commit 5efccd17ceb0fc43837a331297c2c407969d7201 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: reorder request completion functions Reorder request completion functions such that * All request completion functions are located together. * Functions which are used by only one caller is put right above the caller. * end_request() is put after other completion functions but before blk_update_request(). This change is for completion function cleanup which will follow. [ Impact: cleanup, code reorganization ] Signed-off-by: Tejun Heo commit 2eef33e439ba9ae387cdc3f1abcef2f3f6c4e7a8 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: clean up misc stuff after block layer timeout conversion * In blk_rq_timed_out_timer(), else { if } to else if * In blk_add_timer(), simplify if/else block [ Impact: cleanup ] Signed-off-by: Tejun Heo commit 10732f5661fb7adf62e20733b0030fc0fc93b0c4 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: cleanup REQ_SOFTBARRIER usages blk_insert_request() doesn't need to worry about REQ_SOFTBARRIER. Don't set it. Combined with recent ide updates, REQ_SOFTBARRIER is now only used in elevator proper and for discard requests. [ Impact: cleanup ] Signed-off-by: Tejun Heo commit e4025f6c21f1389696c069be2dc647f364925c45 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: don't set REQ_NOMERGE unnecessarily RQ_NOMERGE_FLAGS already clears defines which REQ flags aren't mergeable. There is no reason to specify it superflously. It only adds to confusion. Don't set REQ_NOMERGE for barriers and requests with specific queueing directive. REQ_NOMERGE is now exclusively used by the merging code. [ Impact: cleanup ] Signed-off-by: Tejun Heo commit a7f557923441186a3cdbabc54f1bcacf42b63bf5 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: kill blk_start_queueing() blk_start_queueing() is identical to __blk_run_queue() except that it doesn't check for recursion. None of the current users depends on blk_start_queueing() running request_fn directly. Replace usages of blk_start_queueing() with [__]blk_run_queue() and kill it. [ Impact: removal of mostly duplicate interface function ] Signed-off-by: Tejun Heo commit a538cd03be6f363d039daa94199c28cfbd508455 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: merge blk_invoke_request_fn() into __blk_run_queue() __blk_run_queue wraps blk_invoke_request_fn() such that it additionally removes plug and bails out early if the queue is empty. Both extra operations have their own pending mechanisms and don't cause any harm correctness-wise when they are done superflously. The only user of blk_invoke_request_fn() being blk_start_queue(), there isn't much reason to keep both functions around. Merge blk_invoke_request_fn() into __blk_run_queue() and make blk_start_queue() use __blk_run_queue() instead. [ Impact: merge two subtly different internal functions ] Signed-off-by: Tejun Heo commit db2dbb12dc47a50c7a4c5678f526014063e486f6 Author: Jeff Moyer Date: Wed Apr 22 14:08:13 2009 +0200 block: implement blkdev_readpages Doing a proper block dev ->readpages() speeds up the crazy dump(8) approach of using interleaved process IO. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit db29a6b49674085f136331014ba0eee249c16a2c Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 21 09:27:03 2009 +0200 block: enable by default support for large devices and files on 32-bit archs Enable by default support for large devices and files (CONFIG_LBD): - With 1TB disks being a commodity hardware it is quite easy to hit 2TB limitation while building RAIDs etc. and many distros have been using CONFIG_LBD=y by default already (at least Fedora 10 and openSUSE 11.1). - This should also prevent a subtle ext4 filesystem compatibility issue: mke2fs.ext4 defaults to creating filesystems with huge_files feature enabled and such filesystems cannot be later mounted read-write on machines with CONFIG_LBD=n (it should be quite easy to hit this issue when trying to use filesystem created using distro kernel on system running the self-build kernel, think about USB disk enclosures & co.). While at it: - Clarify config option help text w.r.t. mounting ext4 filesystems (they can be mounted with CONFIG_LBD=n but in the read-only mode). Cc: "Theodore Ts'o" Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 586cf2681f527ce8b85b9bd57c8b9f7945fbe051 Author: Tejun Heo Date: Tue Apr 21 12:16:56 2009 +0900 ide-dma: don't reset request fields on dma_timeout_retry() Impact: drop unnecessary code Now that everything uses bio and block operations, there is no need to reset request fields manually when retrying a request. Every field is guaranteed to be always valid. Drop unnecessary request field resetting from ide_dma_timeout_retry(). Signed-off-by: Tejun Heo commit 5ad960fe8d0e4f99fe2b8dded45e8251137293c9 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide: drop rq->data handling from ide_map_sg() Impact: remove code path which is no longer necessary All IDE data transfers now use rq->bio. Simplify ide_map_sg() accordingly. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 29d1a4371035e01b0d079bc5aa88b50f5af7a566 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-atapi: kill unused fields and callbacks Impact: remove fields and code paths which are no longer necessary Now that ide-tape uses standard mechanisms to transfer data, special case handling for bh handling can be dropped from ide-atapi. Drop the followings. * pc->cur_pos, b_count, bh and b_data * drive->pc_update_buffers() and pc_io_buffers(). Signed-off-by: Tejun Heo commit 4344d07fb8dbf0cbfec1f7d7c1afeccaceaaa120 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: simplify read/write functions Impact: cleanup idetape_chrdev_read/write() functions are unnecessarily complex when everything can be handled in a single loop. Collapse idetape_add_chrdev_read/write_request() into the rw functions and simplify the implementation. Signed-off-by: Tejun Heo commit 71294cf93d22ceaa75448cc6ebee2c65897be8c2 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: use byte size instead of sectors on rw issue functions Impact: cleanup Byte size is what most issue functions deal with, make idetape_queue_rw_tail() and its wrappers take byte size instead of sector counts. idetape_chrdev_read() and write() functions are converted to use tape->buffer_size instead of ctl from tape->cap. This cleans up code a little bit and will ease the next r/w reimplementation. Signed-off-by: Tejun Heo commit 3596b66452491a3cff26256a5e6e6061a66c4142 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: unify r/w init paths Impact: cleanup Read and write init paths are almost identical. Unify them into idetape_init_rw(). Signed-off-by: Tejun Heo commit 6cf3d545f7d71b183e5b89960d4cc850a42c410d Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: kill idetape_bh Impact: kill now unnecessary idetape_bh With everything using standard mechanisms, there is no need for idetape_bh anymore. Kill it and use tape->buf, cur and valid to describe data buffer instead. Changes worth mentioning are... * idetape_queue_rq_tail() now always queue tape->buf and and adjusts buffer state properly before completion. * idetape_pad_zeros() clears the buffer only once. Signed-off-by: Tejun Heo commit e998f30b45efb99a3c3ce7b5483f76317a17abed Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use standard data transfer mechanism Impact: use standard way to transfer data ide-tape uses rq in an interesting way. For r/w requests, rq->special is used to carry a private buffer management structure idetape_bh and rq->nr_sectors and current_nr_sectors are initialized to the number of idetape blocks which isn't necessary 512 bytes. Also, rq->current_nr_sectors is used to report back the residual count in units of idetape blocks. This peculiarity taxes both block layer and ide. ide-atapi has different paths and hooks to accomodate it and what a rq means becomes quite confusing and making changes at the block layer becomes quite difficult and error-prone. This patch makes ide-tape use bio instead. With the previous patch, ide-tape currently is using single contiguos buffer so replacing it isn't difficult. Data buffer is mapped into bio using blk_rq_map_kern() in idetape_queue_rw_tail(). idetape_io_buffers() and idetape_update_buffers() are dropped and pc->bh is set to null to tell ide-atapi to use standard data transfer mechanism and idetape_bh byte counts are updated by the issuer on completion using the residual count. This change also nicely removes the FIXME in ide_pc_intr() where ide-tape rqs need to be completed using ide_rq_bytes() instead of blk_rq_bytes() (although this didn't really matter as the request didn't have bio). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 7b13354eeaabaf6283b8c669a7d67d104ce7c638 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use single continuous buffer Impact: simpler buffer allocation and handling, kills OOM, fix DMA transfers ide-tape has its own multiple buffer mechanism using struct idetape_bh. It allocates buffer with decreasing order-of-two allocations so that it results in minimum number of segments. However, the implementation is quite complex and works in a way that no other block or ide driver works necessitating a lot of special case handling. The benefit this complex allocation scheme brings is questionable as PIO or DMA the number of segments (16 maximum) doesn't make any noticeable difference and it also doesn't negate the need for multiple order allocation which can fail under memory pressure or high fragmentation although it does lower the highest order necessary by one when the buffer size isn't power of two. As the first step to remove the custom buffer management, this patch makes ide-tape allocate single continous buffer. The maximum order is four. I doubt the change would cause any trouble but if it ever matters, it should be converted to regular sg mechanism like everyone else and even in that case dropping custom buffer handling and moving to standard mechanism first make sense as an intermediate step. This patch makes the first bh to contain the whole buffer and drops multi bh handling code. Following patches will make further changes. This patch has the side effect of killing OOM triggered by allocation path and fixing DMA transfers. Previously, bug in alloc path triggered OOM on command issue and commands were passed to DMA engine without DMA-mapping all the segments. Signed-off-by: Tejun Heo commit eb6a61bb9543aa54d62595e27206b3d3c0293bcc Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len Impact: allow residual count implementation in ->pc_callback() rq->data_len has two duties - carrying the number of input bytes on issue and carrying residual count back to the issuer on completion. ide-atapi completion callback ->pc_callback() is the right place to do this but currently ide-atapi depends on rq->data_len carrying the original request size after calling ->pc_callback() to complete the pc request. This patch makes ide_pc_intr(), ide_tape_issue_pc() and ide_floppy_issue_pc() cache length to complete before calling ->pc_callback() so that it can modify rq->data_len as necessary. Note: As using rq->data_len for two purposes can make cases like this incorrect in subtle ways, future changes will introduce separate field for residual count. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 08f370f0a2fb223bf48d0bfa2a173be0393c19dc Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape,floppy: fix failed command completion after request sense Impact: fix infinite retry loop After a command failed, ide-tape and floppy inserts REQUEST_SENSE in front of the failed command and according to the result, sets pc->retries, flags and errors. After REQUEST_SENSE is complete, the failed command is again at the front of the queue and if the verdict was to terminate the request, the issue functions tries to complete it directly by calling drive->pc_callback() and returning ide_stopped. However, drive->pc_callback() doesn't complete a request. It only prepares for completion of the request. As a result, this creates an infinite loop where the failed request is retried perpetually. Fix it by actually ending the request by calling ide_complete_rq(). Signed-off-by: Tejun Heo commit 765139ef5f1a4b1d5cb1f1a7a12de7ee61f6500f Author: Tejun Heo Date: Sun Apr 19 07:00:43 2009 +0900 ide-pm: don't abuse rq->data Impact: cleanup rq->data usage ide-pm uses rq->data to carry pointer to struct request_pm_state through request queue and rq->special is used to carray pointer to local struct ide_cmd, which isn't necessary. Use rq->special for request_pm_state instead and use local ide_cmd in ide_start_power_step(). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 02e7cf8f848841ca21864ccd019e480b73c323b7 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd,atapi: use bio for internal commands Impact: unify request data buffer handling rq->data is used mostly to pass kernel buffer through request queue without using bio. There are only a couple of places which still do this in kernel and converting to bio isn't difficult. This patch converts ide-cd and atapi to use bio instead of rq->data for request sense and internal pc commands. With previous change to unify sense request handling, this is relatively easily achieved by adding blk_rq_map_kern() during sense_rq prep and PC issue. If blk_rq_map_kern() fails for sense, the error is deferred till sense issue and aborts the failed command which triggered the sense. Note that this is a slim possibility as sense prep is done on each command issue, so for the above condition to actually trigger, all preps since the last sense issue till the issue of the request which would require a sense should fail. * do_request functions might sleep now. This should be okay as ide request_fn - do_ide_request() - is invoked only from make_request and plug work. Make sure this is the case by adding might_sleep() to do_ide_request(). * Functions which access the read sense data before the sense request is complete now should access bio_data(sense_rq->bio) as the sense buffer might have been copied during blk_rq_map_kern(). * ide-tape updated to map sg. * cdrom_do_block_pc() now doesn't have to deal with REQ_TYPE_ATA_PC special case. Simplified. * tp_ops->output/input_data path dropped from ide_pc_intr(). Signed-off-by: Tejun Heo commit 068753203e6cd085664a62e0fc0636e19b148a12 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer Since we're issuing REQ_TYPE_SENSE now we need to allow those types of rqs in the ->do_request callbacks. As a future improvement, sense_len assignment might be unified across all ATAPI devices. Borislav to check with specs and test. As a result, get rid of ide_queue_pc_head() and drive->request_sense_rq. tj: * Init request sense ide_atapi_pc from sense request. In the longer timer, it would probably better to fold ide_create_request_sense_cmd() into its only current user - ide_floppy_get_format_progress(). * ide_retry_pc() no longer takes @disk. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit c457ce874a0f3dfa3d5e9f2309789f6f34e24325 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: convert to using generic sense request Preallocate a sense request in the ->do_request method and reinitialize it only on demand, in case it's been consumed in the IRQ handler path. The reason for this is that we don't want to be mapping rq to bio in the IRQ path and introduce all kinds of unnecessary hacks to the block layer. tj: * Both user and kernel PC requests expect sense data to be stored in separate storage other than drive->sense_data. Copy sense data to rq->sense on completion if rq->sense is not NULL. This fixes bogus sense data on PC requests. As a result, remove cdrom_queue_request_sense. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit e69d800f7e8797a8e3423380ee9d8ca1cb90c388 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide: add helpers for preparing sense requests This is in preparation of removing the queueing of a sense request out of the IRQ handler path. Use struct request_sense as a general sense buffer for all ATAPI devices ide-{floppy,tape,cd}. tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as it can cause deadlock. Converted to use inline struct request and blk_rq_init(). * Added xfer / cdb len selection depending on device type. * All sense prep logics folded into ide_prep_sense() which never fails. * hwif->rq clearing and sense_rq used handling moved into ide_queue_sense_rq(). * blk_rq_map_kern() conversion is moved to later patch. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit 1f181d2b1569dfb88a584a6e1847e9e1c7645951 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-cd uses rq->buffer to carry pointer to the original request when issuing REQUEST_SENSE. Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit ac0b0113ddbab3ed2388132d368c97292f9f3c84 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-atapi uses rq->buffer as private opaque value for internal special requests. rq->special isn't used for these cases (the only case where rq->special is used is for ide-tape rw requests). Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit d868ca24302e99a0e8a86071ca2c66273edf97d9 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-taskfile: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide_raw_taskfile() directly uses rq->buffer to carry pointer to the data buffer. This complicates both block interface and ide backend request handling. Use blk_rq_map_kern() instead and drop special handling for REQ_TYPE_ATA_TASKFILE from ide_map_sg(). Note that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it to initialize bio rw flag. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 8968932e54db35cf9d69cfbbd50c26dfaaa586c7 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-floppy: block pc always uses bio Impact: remove unnecessary code path Block pc requests always use bio and rq->data is always NULL. No need to worry about !rq->bio cases in idefloppy_block_pc_cmd(). Note that ide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg fine. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 59a4f6f355fc718581ddcf1bb45a469d4756c035 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-cd: clear sense buffer before issuing request sense Impact: code simplification ide_cd_request_sense_fixup() clears the tail of the sense buffer if the device didn't completely fill it. This patch makes cdrom_queue_request_sense() clear the sense buffer before issuing the command instead of clearing it afterwards. This simplifies code and eases future changes. Signed-off-by: Tejun Heo commit 214ae19104141404f18ad6651752eb38e3dd584e Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide kill unused ide_cmd->special Impact: removal of unused field No one uses ide_cmd->special anymore. Kill it. Signed-off-by: Tejun Heo commit b2963ac1738542d30305d7e12c8c078a383a425c Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: don't set REQ_SOFTBARRIER ide doesn't have to worry about REQ_SOFTBARRIER. Don't set it. Signed-off-by: Tejun Heo commit 220d06b5531e7b8a6226b2fdfb21198c3ccc4f76 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: use blk_run_queue() instead of blk_start_queueing() blk_start_queueing() is being phased out in favor of [__]blk_run_queue(). Switch. Signed-off-by: Tejun Heo commit 0de57fb93b1daaeaecb658a98b3299ae460c02e9 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-tape: remove back-to-back REQUEST_SENSE detection Impact: fix an oops which always triggers ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when checking for back-to-back request sense issues but drive->pc can be NULL and even when it's not NULL, it's not safe to dereference it once the previous command is complete because pc could have been freed or was on stack. Kill back-to-back REQUEST_SENSE detection. Signed-off-by: Tejun Heo commit 924cec7789f65ab7f022256f6533ecba0747b5f3 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 block: clear req->errors on bio completion only for fs requests Impact: subtle behavior change For fs requests, rq is only carrier of bios and rq error status as a whole doesn't mean much. This is the reason why rq->errors is being cleared on each partial completion of a request as on each partial completion the error status is transferred to the respective bios. For pc requests, rq->errors is used to carry error status to the issuer and thus __end_that_request_first() doesn't clear it on such cases. The condition was fine till now as only fs and pc requests have used bio and thus the bio completion path. However, future changes will unify data accesses to bio and all non fs users care about rq error status. Clear rq->errors on bio completion only for fs requests. In general, the implicit clearing is a bit too subtle especially as the meaning of rq->errors is completely dependent on low level drivers. Unifying / cleaning up rq->errors usage and letting llds manage it would be better. TODO comment added. Signed-off-by: Tejun Heo Acked-by: Jens Axboe commit e686307fdc84f249490e6c9da92fcb2424491f14 Author: Akinobu Mita Date: Fri Apr 17 08:41:21 2009 +0200 loop: use BIO list management functions Now that the bio list management stuff is generic, convert loop to use bio lists instead of its own private bio list implementation. Cc: Jens Axboe Cc: Christoph Hellwig Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf Author: Tejun Heo Date: Tue Apr 28 12:38:33 2009 +0900 hd: fix locking hd dance around local irq and HD_IRQ enable without achieving much. It ends up transferring data from irq handler with both local irq and HD_IRQ disabled. The only place it actually does something is while transferring the first block of a request which it does with HD_IRQ disabled but local irq enabled. Unfortunately, the dancing is horribly broken from locking POV. IRQ and timeout handlers access block queue without grabbing the queue lock and running the driver in SMP configuration crashes the whole machine pretty quickly. Remove meaningless irq enable/disable dancing and add proper locking in issue, irq and timeout paths. Signed-off-by: Tejun Heo commit 7090a0a97f55cbf47547a140fcc5a349f32c598c Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 12:38:33 2009 +0900 mg_disk: fix CONFIG_LBD=y warning drivers/block/mg_disk.c: In function ‘mg_dump_status’: drivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘sector_t’ [ Impact: kill build warning ] Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo commit ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5 Author: Tejun Heo Date: Tue Apr 28 12:38:32 2009 +0900 mg_disk: fix locking IRQ and timeout handlers call functions which expect locked queue lock without locking it. Fix it. While at it, convert 0s used as null pointer constant to NULLs. [ Impact: fix locking, cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim commit 8b0f9e8f78bd0a65fa001bf18f2c47eef2893a10 Author: Theodore Ts'o Date: Mon Apr 27 17:33:23 2009 -0400 ext4: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext4 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. (This commit was ported from a patch originally authored by Linus for ext3.) Signed-off-by: "Theodore Ts'o" commit 96159f25112595386c56e09eca90284e85e7ecbf Author: Linus Torvalds Date: Mon Apr 27 17:24:22 2009 -0400 ext3: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext3 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. This is noticeable even on Nehalem, which does locking quite well (much better than P4). From lmbench: Processor, Processes - times in microseconds - smaller is better -------------------------------------------------------------------- Host OS Mhz null null open slct fork exec sh call I/O stat clos TCP proc proc proc --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- - before: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140 nehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141 - after: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148 where you can see what appears to be a roughly 3% improvement in stat and open/close latencies from just the removal of the locking overhead. Of course, this only matters for files you don't own (the owner never needs to do the ACL checks), but that's the common case for libraries, header files, and executables. As well as for the base components of any absolute pathname, even if you are the owner of the final file. [ At some point we probably want to move this ACL caching logic entirely into the VFS layer (and only call down to the filesystem when uncached), but in the meantime this improves ext3 a bit. A similar fix to btrfs makes a much bigger difference (15x improvement in lmbench) due to broken caching. ] Signed-off-by: Linus Torvalds Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Al Viro commit 9bffad1ed2a003a355ed1b42424a0ae3575275ed Author: Theodore Ts'o Date: Wed Jun 17 11:48:11 2009 -0400 ext4: convert instrumentation from markers to tracepoints Signed-off-by: "Theodore Ts'o" commit 879c5e6b7cb4c689d08ca9b2e353d8ab3dc425d5 Author: Theodore Ts'o Date: Wed Jun 17 11:47:48 2009 -0400 jbd2: convert instrumentation from markers to tracepoints Signed-off-by: "Theodore Ts'o" commit 6be01cfb854818298753bfce65543dbc81d51d5a Author: Mark Brown Date: Mon Apr 27 20:57:42 2009 +0100 ASoC: Staticise TLV values in WM8940 Signed-off-by: Mark Brown commit 2625240d0732ac259591ed54371bc01e7bbfdd14 Merge: 1a4ba05 0c95de7 Author: Mark Brown Date: Mon Apr 27 20:47:35 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 1a4ba05ec8369d62c10155a8931e81267bfbd31c Author: Daniel Mack Date: Fri Apr 24 16:37:45 2009 +0200 ASoC: cs4270: add Master Playback Switch This adds a new control named 'Master Playback Switch' for cs4270 codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catch the put function and store the information about manually set mute controls from userspace. When a manual mute is set, we don't want the soc core to un-mute the outputs. Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 9c935386512a3faa1be1c3d81cba38b7259a43f5 Author: Daniel Mack Date: Fri Apr 24 15:00:25 2009 +0200 ASoC: cs4270: fix Master Capture Switch polarity The control modifies the MUTE register, hence the polarity must be inverted. Signed-off-by: Daniel Mack Acked-By: Timur Tabi Signed-off-by: Mark Brown commit 0b5e92c5e020ee7437fa5304a8451d6dd08d1a26 Author: Jonathan Cameron Date: Mon Apr 27 13:49:44 2009 +0000 ASoC WM8940 Driver Signed-off-by: Jonathan Cameron Signed-off-by: Mark Brown commit a7be4d92d989fc53d840d24cba2ebea9e5ad8480 Author: Mark Brown Date: Mon Apr 27 20:24:15 2009 +0100 ASoC: Use our registration function for S3C64xx Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown commit 5c556a6e190897a0f1ff14e13722591828412031 Author: Mark Brown Date: Mon Apr 27 20:23:19 2009 +0100 ASoC: s3c-i2s-v2 diagnostic improvements Say what invalid values we're seeing when we see an invalid value and ensure that errors are displayed by default. Signed-off-by: Mark Brown commit 008db442efa542357314593c71ab9966be909855 Author: Mark Brown Date: Mon Apr 27 19:17:08 2009 +0100 ASoC: Include WM8350 register definitions in CODEC header It's expected behaviour for the CODEC header to provide them but the WM8350 doesn't due to having all the registers together under drivers/mfd. Signed-off-by: Mark Brown commit 4bc4d8998a472cd64aa66a4abad3d833be901028 Author: Mark Brown Date: Mon Apr 27 14:28:44 2009 +0100 ASoC: Enforce symmetric rates for S3C64xx I2S interface There is only one LRCLK pin on each interface. Signed-off-by: Mark Brown commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51 Author: Takashi Iwai Date: Wed Apr 22 16:31:35 2009 +0200 ALSA: hda - Add amp initialization for realtek auto mode In the realtek auto-probing mode, the initialization of amp with some magic COEF or EAPD verbs is applied only when the codec SSID has valid values to satisfy the realtek's definition. However, many devices don't provide in that way, thus the device doesn't work as is. This patch allows the same initialization code even if the SSID doesn't pass the bit test. Also, alc_subsystem_id() is changed just to check and define the type, so that it's called in the parser, instead of the initializer. Signed-off-by: Takashi Iwai commit 36e7b1b8dac1a785abca3a121b6b0b79f1a8d7df Author: Herbert Xu Date: Mon Apr 27 05:44:45 2009 -0700 gro: Fix COMPLETE checksum handling On a brand new GRO skb, we cannot call ip_hdr since the header may lie in the non-linear area. This patch adds the helper skb_gro_network_header to handle this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit edbd9e30306067c3a45c035eb95a6f49daaa2337 Author: Herbert Xu Date: Mon Apr 27 05:44:29 2009 -0700 gro: Fix handling of headers that extend over the tail The skb_gro_* code fails to handle the case where a header starts in the linear area but ends in the frags area. Since the goal of skb_gro_* is to optimise the case of completely non-linear packets, we can simply bail out if we have anything in the linear area. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7bd0f2f5fc5f51d351228488dfef5e33d28e8d0c Author: dmitry pervushin Date: Mon Apr 27 10:35:04 2009 +0100 [ARM] 5483/1: Freescale STMP: add Kconfig/Makefile entries Added Kconfig/Makefile entries for STMP platform Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 56ed4351c2604c221a82276f51e5dfd467921bf3 Author: Vladislav Zolotarov Date: Mon Apr 27 03:28:25 2009 -0700 bnx2x: driver version 1.48.105-1 Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 29b35dd868e9442914a44ff8e8be739c3d65cc9d Author: Vladislav Zolotarov Date: Mon Apr 27 03:28:03 2009 -0700 bnx2x: Removed blob file Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 94a78b79cb5f14c09a42522738d6694c6a1cdd20 Author: Vladislav Zolotarov Date: Mon Apr 27 03:27:43 2009 -0700 bnx2x: Separated FW from the source. >From now on FW will be downloaded from the binary file using request_firmware. There will be different files for every supported chip. Currently 57710 (e1) and 57711 (e1h). File names have the following format: bnx2x--.fw. ihex versions of current FW files are submitted in the next patch. Each binary file has a header in the following format: struct bnx2x_fw_file_section { __be32 len; __be32 offset; } struct bnx2x_fw_file_hdr { struct bnx2x_fw_file_section init_ops; struct bnx2x_fw_file_section init_ops_offsets; struct bnx2x_fw_file_section init_data; struct bnx2x_fw_file_section tsem_int_table_data; struct bnx2x_fw_file_section tsem_pram_data; struct bnx2x_fw_file_section usem_int_table_data; struct bnx2x_fw_file_section usem_pram_data; struct bnx2x_fw_file_section csem_int_table_data; struct bnx2x_fw_file_section csem_pram_data; struct bnx2x_fw_file_section xsem_int_table_data; struct bnx2x_fw_file_section xsem_pram_data; struct bnx2x_fw_file_section fw_version; } Each bnx2x_fw_file_section contains the length and the offset of the appropriate section in the binary file. Values are stored in the big endian format. Data types of arrays: init_data __be32 init_ops_offsets __be16 XXsem_pram_data u8 XXsem_int_table_data u8 init_ops struct raw_op { u8 op; __be24 offset; __be32 data; } fw_version u8 >From now boundaries of a specific initialization stage are stored in init_ops_offsets array instead of being defined by separate macroes. The index in init_ops_offsets is calculated by BLOCK_OPS_IDX macro: #define BLOCK_OPS_IDX(block, stage, end) \ (2*(((block)*STAGE_IDX_MAX) + (stage)) + (end)) Security: In addition to sanity check of array boundaries bnx2x will check a FW version. Additional checks might be added in the future. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ec9323f417e803f07a99a15a9cfb207662ad2c55 Author: Vladislav Zolotarov Date: Mon Apr 27 03:26:13 2009 -0700 bnx2x: FW 4.8.53.0 Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f85ba78068ac137fe9c1f50d25405d2783d75c77 Author: David Woodhouse Date: Mon Apr 27 03:23:54 2009 -0700 tun: add IFF_TUN_EXCL flag to avoid opening a persistent device. When creating a certain types of VPN, NetworkManager will first attempt to find an available tun device by iterating through 'vpn%d' until it finds one that isn't already busy. Then it'll set that to be persistent and owned by the otherwise unprivileged user that the VPN dæmon itself runs as. There's a race condition here -- during the period where the vpn%d device is created and we're waiting for the VPN dæmon to actually connect and use it, if we try to create _another_ device we could end up re-using the same one -- because trying to open it again doesn't get -EBUSY as it would while it's _actually_ busy. So solve this, we add an IFF_TUN_EXCL flag which causes tun_set_iff() to fail if it would be opening an existing persistent tundevice -- so that we can make sure we're getting an entirely _new_ device. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 0456b4f8b742006c2b79fcbe6b0736aa1ad39180 Author: Simon Arlott Date: Mon Apr 27 03:22:15 2009 -0700 cxacru: Fix negative dB output Values of dB between -0.99 and -0.01 will be output with the wrong sign. This converts the negative value to positive and outputs it with a "-" prefix. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit 15b8e19131486856373592e45793a79aefb6fbe7 Author: roel kluin Date: Thu Apr 23 08:53:20 2009 +0000 pasemi_mac: mac_to_intf() error not noticed mac_to_intf() can return -1 when no device or function is found, but when mac->dma_if is unsigned. The error wasn't noticed. Signed-off-by: Roel Kluin Acked-by: Olof Johansson Signed-off-by: David S. Miller commit 683703a26e4677db437a1480682851e27c7a154f Author: Neil Horman Date: Mon Apr 27 03:17:31 2009 -0700 drop_monitor: Update netlink protocol to include netlink attribute header in alert message When I initially implemented this protocol, I disregarded the use of netlink attribute headers, thinking for my purposes they weren't needed. I've come to find out that, as I'm starting to work with sending down messages with associated data (like config messages), the kernel code spits out warnings about trailing data in a netlink skb that doesn't have an associated header on it. As such, I'm going to start including attribute headers in my netlink transaction, and so for completeness, I should likely include them on messages bound from the kernel to user space. This patch adds that header to the kernel, and bumps the protocol version accordingly Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit fa466e91bdf214e6e136e9da9a46a52775a1e884 Author: Waskiewicz Jr, Peter P Date: Thu Apr 23 11:31:37 2009 +0000 ixgbe: Disallow SFP 1G modules in the SFP+ cages for 82598 and 82599 82598 and 82599 do not support SFP 1G modules. Instead of allowing the driver to load, but never get link, rejecting the module and displaying a useful message is more preferrable. The framework for displaying the failure message already exists, now we just need to detect and reject the SFP modules. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 78b1f6070fa16cb442a7c48e8f5364cd84a88b90 Author: Alexander Duyck Date: Thu Apr 23 11:20:29 2009 +0000 igb: always use adapter->itr as EITR value The igb driver was switching between adapter->itr containing the EITR value and the number of interrupts per second. This resulted in high latencies being seen after brining the interface down and then back up. To resolve the issue the itr value will now only contain the value that should be programmed into EITR. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 011983048a120e520147361be1067dd82343038e Author: Alexander Beregalov Date: Thu Apr 23 15:53:21 2009 +0000 vxge: use max() instead of VXGE_HW_SET_LEVEL Signed-off-by: Alexander Beregalov Acked-by: Ram Vepa Signed-off-by: David S. Miller commit 4e204c1000561ddb1a62a9df857cb0457dd868a7 Author: Alexander Beregalov Date: Thu Apr 23 15:31:38 2009 +0000 vxge: fix possible NULL dereference in vxge-traffic.c If vpath is NULL then hldev is NULL also. Signed-off-by: Alexander Beregalov Acked-by: Ram Vepa Signed-off-by: David S. Miller commit 41f8910040639eb106b1a5b5301aab79ecde4940 Author: Jiri Pirko Date: Fri Apr 24 03:57:29 2009 +0000 bonding: ignore updelay param when there is no active slave Pointed out by Sean E. Millichamp. Quote from Documentation/networking/bonding.txt: "Note that when a bonding interface has no active links, the driver will immediately reuse the first link that goes up, even if the updelay parameter has been specified (the updelay is ignored in this case). If there are slave interfaces waiting for the updelay timeout to expire, the interface that first went into that state will be immediately reused. This reduces down time of the network if the value of updelay has been overestimated, and since this occurs only in cases with no connectivity, there is no additional penalty for ignoring the updelay." This patch actually changes the behaviour in this way. Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) Signed-off-by: David S. Miller commit 29112f4e248ca6941f2233f6ed96a7283a67cced Author: Jiri Pirko Date: Fri Apr 24 01:58:23 2009 +0000 bonding: use ethtool for link checking first This patch only changes the order of interfaces to use for checking slave link status in bond_check_dev_link() to priorize ethtool interface. Should safe some troubles as ethtool seems to be more supported. Jirka Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 26 ++++++++++++-------------- 1 files changed, 12 insertions(+), 14 deletions(-) Signed-off-by: David S. Miller commit 434e7b0d12f4e2de6686841a42bd344325b4d756 Author: Grant Likely Date: Sat Apr 25 12:53:44 2009 +0000 net: fix fsl_pq_mdio driver to use module_init() Modules are not supposed to use any of the *_initcall*() hooks as the entry point. fsl_pq_mdio.c was using subsys_initcall_sync() instead of module_init() to guarantee that the MDIO bus was initialized before the Ethernet driver goes looking for the phy. However, the recent OF helpers rework happens to also make sure PHY connection is deferred to .open time, so using an initcall is no longer necessary. This patch replaces the initcall with a more traditional an accepted module_init() call. Tested on Freescale MPC8349emitxgp eval board. Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 92744989533cbe85e8057935d230e128810168ce Author: Grant Likely Date: Sat Apr 25 12:53:39 2009 +0000 net: add Xilinx ll_temac device driver This patch adds support for the Xilinx ll_temac 10/100/1000 Ethernet device. The ll_temac ipcore is typically used on Xilinx Virtex and Spartan designs attached to either a PowerPC 4xx or Microblaze processor. At the present moment, this driver only works with Virtex5 PowerPC designs because it assumes DCR is used to access the DMA registers. However, the low level access to DMA registers is abstracted and it should be easy to adapt for the other implementations. I'm posting this driver now as an RFC. There are still some things that need to be tightened up, but it does appear to be stable. Derived from driver code written by Yoshio Kashiwagi and David H. Lynch Jr. Tested on Xilinx ML507 eval board with Base System Builder generated FPGA design. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit aa73832c5a80d6c52c69b18af858d88fa595dd3c Author: Grant Likely Date: Sat Apr 25 12:53:33 2009 +0000 net: Rework fs_enet driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fd84f0ee50d3abedd11454b016823aa3ffcdc919 Author: Grant Likely Date: Sat Apr 25 12:53:28 2009 +0000 powerpc/82xx: Rework Embedded Planet ep8248e platform to use of_mdio This patch modifies the bitbanged MDIO driver in the ep8248e platform code to use the common of_mdio infrastructure. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 Author: Grant Likely Date: Sat Apr 25 12:53:23 2009 +0000 net: Rework ucc_geth driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 1dd2d06c0459a2f1bffc56765e3cc57427818867 Author: Grant Likely Date: Sat Apr 25 12:53:17 2009 +0000 net: Rework pasemi_mac driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Tested-by: Olof Johansson Acked-by: Olof Johansson Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fe192a49118f5b1272317d60c7930ece4e13ae49 Author: Grant Likely Date: Sat Apr 25 12:53:12 2009 +0000 net: Rework gianfar driver to use of_mdio infrastructure. This patch simplifies the driver by making use of more common code. Tested on Freescale MPC8349emitxgp eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 324931ba21858c34787dee7d222388ef3fb41ee0 Author: Grant Likely Date: Sat Apr 25 12:53:07 2009 +0000 net: rework fsl_pq_mdio driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Tested on Freescale MPC8349emitxgp eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit ca816d98170942371535b3e862813b0aba9b7d90 Author: Grant Likely Date: Sat Apr 25 12:53:02 2009 +0000 net: Rework mpc5200 fec driver to use of_mdio infrastructure. The patch reworks the MPC5200 Fast Ethernet Controller (FEC) driver to use the of_mdio infrastructure for registering PHY devices from data out openfirmware device tree, and eliminates the assumption that the PHY for the FEC is always attached to the FEC's own MDIO bus. With this patch, the FEC can use a PHY attached to any MDIO bus if it is described in the device tree. Tested on Freescale Lite5200b eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 8bc487d150b939e69830c39322df4ee486efe381 Author: Grant Likely Date: Sat Apr 25 12:52:56 2009 +0000 openfirmware: Add OF phylib support code Add support for parsing the device tree for PHY devices on an MDIO bus. Currently many of the PowerPC ethernet drivers are open coding a solution for reading data out of the device tree to find the correct PHY device. This patch implements a set of common routines to: a) let MDIO bus drivers register phy_devices described in the tree, and b) let MAC drivers find the correct phy_device via the tree. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fa94f6d93c5382810ff41f010f12ca8698fc775e Author: Grant Likely Date: Sat Apr 25 12:52:51 2009 +0000 phylib: add *_direct() variants of phy_connect and phy_attach functions Add phy_connect_direct() and phy_attach_direct() functions so that drivers can use a pointer to the phy_device instead of trying to determine the phy's bus_id string. This patch is useful for OF device tree descriptions of phy devices where the driver doesn't need or know what the bus_id value in order to get a phy_device pointer. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 4dea547fef1ba23f9d23f5e7f5218187a7dcf1b3 Author: Grant Likely Date: Sat Apr 25 12:52:46 2009 +0000 phylib: rework to prepare for OF registration of PHYs This patch makes changes in preparation for supporting open firmware device tree descriptions of MDIO busses. Changes include: - Cleanup handling of phy_map[] entries; they are already NULLed when registering and so don't need to be re-cleared, and it is good practice to clear them out when unregistering. - Split phy_device registration out into a new function so that the OF helpers can do two stage registration (separate allocation and registration steps). Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 739649c53d7f78f5bf41bdfd1a858ee90c7a687a Author: Grant Likely Date: Sat Apr 25 12:52:40 2009 +0000 of: add of_parse_phandle() helper for parsing phandle properties of_parse_phandle() is a helper function to read and parse a phandle property and return a pointer to the resulting device_node. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit edf391ff17232f097d72441c9ad467bcb3b5db18 Author: Neil Horman Date: Mon Apr 27 02:45:02 2009 -0700 snmp: add missing counters for RFC 4293 The IP MIB (RFC 4293) defines stats for InOctets, OutOctets, InMcastOctets and OutMcastOctets: http://tools.ietf.org/html/rfc4293 But it seems we don't track those in any way that easy to separate from other protocols. This patch adds those missing counters to the stats file. Tested successfully by me With help from Eric Dumazet. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 06bd12c3b861f8ca9e1215428b19dc0026c6268f Author: John Dykstra Date: Mon Apr 27 02:42:20 2009 -0700 pcnet32: Remove redundant set of skb->dev Remove redundant set of skb->dev (now handled for ethernet drivers by eth_type_trans()). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit 92ae3efa53b481ad669d8b85c6cfa37d774bb21e Author: Rami Rosen Date: Mon Apr 27 02:35:32 2009 -0700 ipv4: remove unused member in fib_table. This patch removes an unused parameter (tb_stamp) from fib_table structure in include/net/ip_fib.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit bf155f8defdb5be5da0653279327bbd3801a3ca9 Author: dmitry pervushin Date: Thu Apr 23 00:00:01 2009 +0100 [ARM] 5463/1: Freescale STMP platform support [10/10] Default configs for STMP3xxx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit bc19d892a14cbb31d838813b2225e262a6c01341 Author: dmitry pervushin Date: Wed Apr 22 23:57:28 2009 +0100 [ARM] 5464/1: Freescale STMP platform support [7/10] Sources: support for 378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 45d9108011b9dfb4fccd6c258290d2185145709b Author: dmitry pervushin Date: Wed Apr 22 23:57:05 2009 +0100 [ARM] 5465/1: Freescale STMP platform support [7/10] Sources: support for 37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 5cccd37ea15970846a93b4b01fafd6e043bafe8e Author: dmitry pervushin Date: Thu Apr 23 12:24:13 2009 +0100 [ARM] 5477/1: Freescale STMP platform support [6/10] Sources: common STMP3xxx platform support Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit e317872ac532fd845c597e55ceb5a9bceee878c1 Author: dmitry pervushin Date: Wed Apr 22 23:55:23 2009 +0100 [ARM] 5466/1: Freescale STMP platform support [5/10] Shared (platform) headers Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 07d9714365bcab286389d679f73512e35796847c Author: dmitry pervushin Date: Wed Apr 22 23:54:42 2009 +0100 [ARM] 5467/1: Freescale STMP platform support [4/10] Minimal definition of register set for 378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 34acb09025a132943555d0f0ffca6cb05c698cd4 Author: dmitry pervushin Date: Wed Apr 22 23:54:05 2009 +0100 [ARM] 5468/1: Freescale STMP platform support [3/10] Minimal definition of register set for 37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 1e3dd535d641a856e913dd8a17a75bd3c36c49e0 Author: dmitry pervushin Date: Wed Apr 22 23:52:45 2009 +0100 [ARM] 5469/1: Freescale STMP platform support [2/10] Headers for STMP378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit b4175b89921fefb2f352472fa6dccb0fc4fb37d9 Author: Russell King Date: Sun Apr 26 14:22:29 2009 +0100 [ARM] sort machine- and plat- by CONFIG* name Signed-off-by: Russell King commit 9bef5de1e0f8915547124082e5c27c63cfa5c2fd Author: dmitry pervushin Date: Wed Apr 22 23:51:15 2009 +0100 [ARM] 5461/1: Freescale STMP platform support Header files for STMP37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 788c9700e7855f8a8cc8875e30d2518b57385c20 Author: Russell King Date: Sun Apr 26 14:21:59 2009 +0100 [ARM] Kconfig: sort ARM machine class support choice list by option name Signed-off-by: Russell King commit c2e0090c668fc99f5be65fd9907da781cb6a2ef5 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Mon Apr 27 17:54:41 2009 +0900 sh: mach-r2d: add physmap-flash support for R2D+ boards. The RTS7751R2D_1 boards only support 1MB of socket-mounted MBM29F040 flash, which we just leave alone as it's not terribly interesting. This adds support for the s29gl256p on the r2d+ boards that makes a bit more sense to expose to the user. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Paul Mundt commit 47c8a08bbe77ad3c06f63919a14b0f0b0cd54390 Author: Paul Mundt Date: Mon Apr 27 17:34:39 2009 +0900 sh: rtc-generic support. This adds rtc-generic support for SUPERH32. Signed-off-by: Paul Mundt commit e0e42142bab96404de535cceb85d6533d5ad7942 Author: Yinghai Lu Date: Sun Apr 26 23:39:38 2009 -0700 x86: Use dmi check in apic_is_clustered() on 64-bit to mark the TSC unstable We will have systems with 2 and more sockets 8cores/2thread, but we treat them as multi chassis - while they could have a stable TSC domain. Use DMI check instead. [ Impact: do not turn possibly stable TSCs off incorrectly ] Signed-off-by: Yinghai Lu Cc: Ravikiran Thirumalai LKML-Reference: <49F5532A.5000802@kernel.org> Signed-off-by: Ingo Molnar commit b2ba83ff4f4405cebc10884121ee71338a1a6c94 Author: Yinghai Lu Date: Sun Apr 26 23:38:08 2009 -0700 x86: apic: Remove duplicated macros XAPIC_DEST_* is dupliicated to the one in apicdef.h [ Impact: cleanup ] Signed-off-by: Yinghai Lu LKML-Reference: <49F552D0.5050505@kernel.org> Signed-off-by: Ingo Molnar commit 148be2c15d4a866fbc7a8f55342e4fd4de73be61 Author: Ingo Molnar Date: Mon Apr 27 08:02:14 2009 +0200 perf_counter tools: move helper library to util/* Clean up the top level directory a bit by moving all the helper libraries to util/*.[ch]. Signed-off-by: Ingo Molnar commit 5be7c0a4d3dfe25091f2e4e524103e81d9e7e180 Author: Paul Mundt Date: Mon Apr 27 14:40:47 2009 +0900 sh: select GENERIC_TIME for new CMT driver. Signed-off-by: Paul Mundt commit fc4967b8c6a1540ebce9ac48e44b8d44e7fac971 Author: Paul Mundt Date: Mon Apr 27 14:06:26 2009 +0900 sh: update defconfigs for PCI changes. Signed-off-by: Paul Mundt commit 51b26ada79b605ed709ddcedbb6012e8f8e0ebed Author: Linus Torvalds Date: Sun Apr 26 10:12:47 2009 -0700 x86: unify arch/x86/boot/compressed/vmlinux_*.lds Look at the: diff -u arch/x86/boot/compressed/vmlinux_*.lds output and realize that they're basially exactly the same except for trivial naming differences, and the fact that the 64-bit version has a "pgtable" thing. So unify them. There's some trivial cleanup there (make the output format a Kconfig thing rather than doing #ifdef's for it, and unify both 32-bit and 64-bit BSS end to "_ebss", where 32-bit used to use the traditional "_end"), but other than that it's really very mindless and straigt conversion. For example, I think we should aim to remove "startup_32" vs "startup_64", and just call it "startup", and get rid of one more difference. I didn't do that. Also, notice the comment in the unified vmlinux.lds.S talks about "head_64" and "startup_32" which is an odd and incorrect mix, but that was actually what the old 64-bit only lds file had, so the confusion isn't new, and now that mixing is arguably more accurate thanks to the vmlinux.lds.S file being shared between the two cases ;) [ Impact: cleanup, unification ] Signed-off-by: Linus Torvalds Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 0a3ec21fcd311b26ab0f249d62960e127bc20ca8 Author: Sam Ravnborg Date: Sun Apr 26 23:07:42 2009 +0200 x86: beautify vmlinux_64.lds.S Beautify vmlinux_64.lds.S: - Use tabs for indent - Located curly braces like in C code - Rearranged a few comments There is no functional changes in this patch The beautification is done to prepare a unification of the _32 and the _64 variants of the linker scripts. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <20090426210742.GA3464@uranus.ravnborg.org> Signed-off-by: Ingo Molnar commit 339b042bb408877dcb734d896cdb52dd20600aab Merge: 19bdc9d 6b34808 3e98f9f Author: Paul Mundt Date: Mon Apr 27 09:45:43 2009 +0900 Merge branches 'sh/stable-updates' and 'sh/pci-rework' commit 38f7b009a6ae1708fcf0f208aba9a9a4364bcfcf Author: Hartley Sweeten Date: Wed Apr 15 23:18:26 2009 +0100 [ARM] 5452/1: ep93x: rtc: use ioremap'ed addresses Update the rtc-ep93xx driver to use ioremap'ed addresses. This removes the dependency on and properly reports the memory addresses used by the driver in /proc/iomem. In addition, ep93xx_rtc_init() is updated to use platform_driver_probe() instead of platform_driver_register(). Also, the device_create_file() calls are now properly checked for error conditions. The created sysfs files are also now removed when the driver is removed. The version number for the driver has been bumped at the request of Alessandro Zummo. Signed-off-by: H Hartley Sweeten Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 924a158a12c7e732179dd85ddd20848039e7bd71 Author: Russell King Date: Sun Apr 26 13:14:52 2009 +0100 [ARM] Convert pmd_page() to be highmem safe In the long run, we may want to place page tables in highmem. However, pmd_page() has traditionally been coded to convert the physical address to a virtual one, which won't work with highmem pages. Instead, translate the physical address to a PFN, and then convert the PFN to a struct page instead. Signed-off-by: Russell King commit 701970b3a83cc639c1ec8fc6f40a7871cb99426f Author: Steven Rostedt Date: Fri Apr 24 23:11:22 2009 -0400 tracing/events: make modules have their own file_operations structure For proper module reference counting, the file_operations that modules use must have the "owner" field set to the module. Unfortunately, the trace events use share file_operations. The same file_operations are used by all both kernel core and all modules. This patch makes the modules allocate their own file_operations and copies the functions from the core kernel. This allows those file operations to be owned by the module. Care is taken to free this code on module unload. Thanks to Greg KH for reminding me that file_operations must be owned by the module to have reference counting take place. [ Impact: fix modular tracepoints / potential crash ] Signed-off-by: Steven Rostedt Acked-by: Greg Kroah-Hartman commit 32ed5058ce90024efcd811254b4b1de0468099df Author: Theodore Ts'o Date: Sat Apr 25 22:53:39 2009 -0400 ext4: Replace lock/unlock_super() with an explicit lock for resizing Use a separate lock to protect s_groups_count and the other block group descriptors which get changed via an on-line resize operation, so we can stop overloading the use of lock_super(). Signed-off-by: "Theodore Ts'o" commit 3b9d4ed26680771295d904a6b83e88e620780893 Author: Theodore Ts'o Date: Sat Apr 25 22:54:04 2009 -0400 ext4: Replace lock/unlock_super() with an explicit lock for the orphan list Use a separate lock to protect the orphan list, so we can stop overloading the use of lock_super(). Signed-off-by: "Theodore Ts'o" commit a63c9eb2ce6f5028da90f282798232c4f398ceb8 Author: Theodore Ts'o Date: Fri May 1 01:59:42 2009 -0400 ext4: ext4_mark_recovery_complete() doesn't need to use lock_super The function ext4_mark_recovery_complete() is called from two call paths: either (a) while mounting the filesystem, in which case there's no danger of any other CPU calling write_super() until the mount is completed, and (b) while remounting the filesystem read-write, in which case the fs core has already locked the superblock. This also allows us to take out a very vile unlock_super()/lock_super() pair in ext4_remount(). Signed-off-by: "Theodore Ts'o" commit 495a1b4eff1a216a3ea171ac137f1807e6555f52 Merge: ad8affd d3feaf5 Author: David S. Miller Date: Sat Apr 25 16:36:46 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: net/mac80211/pm.c commit 114e9fc90703bd6aac0229fb559e97caa6c49770 Author: Theodore Ts'o Date: Sat Apr 25 15:48:07 2009 -0400 ext4: Remove outdated comment about lock_super() ext4_fill_super() is no longer called by read_super(), and it is no longer called with the superblock locked. The unlock_super()/lock_super() is no longer present, so this comment is entirely superfluous. Signed-off-by: "Theodore Ts'o" commit 8df9675f8b498d0bfa1f0b5b06f56bf1ff366dd5 Author: Theodore Ts'o Date: Fri May 1 08:50:38 2009 -0400 ext4: Avoid races caused by on-line resizing and SMP memory reordering Ext4's on-line resizing adds a new block group and then, only at the last step adjusts s_groups_count. However, it's possible on SMP systems that another CPU could see the updated the s_group_count and not see the newly initialized data structures for the just-added block group. For this reason, it's important to insert a SMP read barrier after reading s_groups_count and before reading any (for example) the new block group descriptors allowed by the increased value of s_groups_count. Unfortunately, we rather blatently violate this locking protocol documented in fs/ext4/resize.c. Fortunately, (1) on-line resizes happen relatively rarely, and (2) it seems rare that the filesystem code will immediately try to use just-added block group before any memory ordering issues resolve themselves. So apparently problems here are relatively hard to hit, since ext3 has been vulnerable to the same issue for years with no one apparently complaining. Signed-off-by: "Theodore Ts'o" commit 9ca92389c5312a51e819c15c762f0abdc7f3129b Author: Theodore Ts'o Date: Fri May 1 12:52:25 2009 -0400 ext4: Use separate super_operations structure for no_journal filesystems By using a separate super_operations structure for filesystems that have and don't have journals, we can simply ext4_write_super() --- which is only needed when no journal is present --- and ext4_freeze(), ext4_unfreeze(), and ext4_sync_fs(), which are only needed when the journal is present. Signed-off-by: "Theodore Ts'o" commit 7234ab2a55e77784b44cf2d862136d9e41b8d98a Author: Theodore Ts'o Date: Thu Apr 30 21:24:04 2009 -0400 ext4: Fix and simplify s_dirt handling The s_dirt flag wasn't completely handled correctly, but it didn't really matter when journalling was enabled. It turns out that when ext4 runs without a journal, we don't clear s_dirt in places where we should have, with the result that the high-level write_super() function was writing the superblock when it wasn't necessary. So we fix this by making ext4_commit_super() clear the s_dirt flag, and removing many of the other places where s_dirt is manipulated. When journalling is enabled, the s_dirt flag might be left set more often, but s_dirt really doesn't matter when journalling is enabled. Signed-off-by: "Theodore Ts'o" commit e2d670523c6c4ccb0fca9f3ab1b8f066d9aa57d6 Author: Theodore Ts'o Date: Fri May 1 00:33:44 2009 -0400 ext4: Simplify ext4_commit_super()'s function signature The ext4_commit_super() function took both a struct super_block * and a struct ext4_super_block *, but the struct ext4_super_block can be derived from the struct super_block. Signed-off-by: "Theodore Ts'o" commit f7c439504ccba0cca43271e651013ab97a221c62 Author: Theodore Ts'o Date: Fri Apr 24 23:31:59 2009 -0400 ext4: Use is_power_of_2() for clarity Signed-off-by: Robert P. J. Day Signed-off-by: "Theodore Ts'o" commit c5ca7c7636fa689a9746b6032f83aa7fffec31c6 Author: Theodore Ts'o Date: Mon Apr 27 22:48:48 2009 -0400 ext4: Fallback to vmalloc if kmalloc can't allocate s_flex_groups array For very large filesystems, the s_flex_groups array can get quite big. For example, a filesystem that can be resized up to 16TB will have 8192 flex groups (assuming the default flex_bg size of 16), so the array is 96k, which is *very* marginal for kmalloc(). On the other hand, a 160GB filesystem without the resize_inode feature will only require 960 bytes. So we try to allocate the array first using kmalloc(), and if that fails, we'll try to use vmalloc() instead. Signed-off-by: "Theodore Ts'o" commit 29fa89d088941d79765d60f22d5ccdd6b8696e11 Author: Aneesh Kumar K.V Date: Tue May 12 16:30:27 2009 -0400 ext4: Mark the unwritten buffer_head as mapped during write_begin Setting BH_Unwritten buffer_heads as BH_Mapped avoids multiple (unnecessary) calls to get_block() during the call to the write(2) system call. Setting BH_Unwritten buffer heads as BH_Mapped requires that the writepages() functions can handle BH_Unwritten buffer_heads. After this commit, things work as follows: ext4_ext_get_block() returns unmapped, unwritten, buffer head when called with create = 0 for prealloc space. This makes sure we handle the read path and non-delayed allocation case correctly. Even though the buffer head is marked unmapped we have valid b_blocknr and b_bdev values in the buffer_head. ext4_da_get_block_prep() called for block resrevation will now return mapped, unwritten, new buffer_head for prealloc space. This avoids multiple calls to get_block() for write to same offset. By making such buffers as BH_New, we also assure that sub-block zeroing of buffered writes happens correctly. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 8fb0e342481c4d80040670fec915f0b9c7c6499a Author: Aneesh Kumar K.V Date: Tue May 12 16:22:37 2009 -0400 vfs: Add BUG_ON for delayed and unwritten flags in submit_bh() The BH_Delay and BH_Unwritten flags should never leak out to submit_bh(). So add some BUG_ON() checks to submit_bh so we can get a stack trace and determine how and why this might have happened. (Note that only XFS and ext4 use these buffer head flags, and XFS does not use submit_bh(). So this patch should only modify behavior for ext4.) Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit 79ffab34391933ee3b95dac7f25c0478fa2f8f1e Author: Aneesh Kumar K.V Date: Wed May 13 15:13:42 2009 -0400 ext4: Properly initialize the buffer_head state These struct buffer_heads are allocated on the stack (and hence are initialized with stack garbage). They are only used to call a get_blocks() function, so that's mostly OK, but b_state must be initialized to be 0 so we don't have any unexpected BH_* flags set by accident, such as BH_Unwritten or BH_Delay. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 060fa5c83e67901ba47ab484cfcdb32737d630ba Author: Steven Rostedt Date: Fri Apr 24 12:20:52 2009 -0400 tracing/events: reuse trace event ids after overflow With modules being able to add trace events, and the max trace event counter is 16 bits (65536) we can overflow the counter easily with a simple while loop adding and removing modules that contain trace events. This patch links together the registered trace events and on overflow searches for available trace event ids. It will still fail if over 65536 events are registered, but considering that a typical kernel only has 22000 functions, 65000 events should be sufficient. Reported-by: Li Zefan Signed-off-by: Steven Rostedt commit d3feaf5ad12259927039a675cfb25dc342b403ab Author: John W. Linville Date: Fri Apr 24 15:35:42 2009 -0400 wireless: remove some (bogus?) 'may be used uninitialized' warnings net/mac80211/tx.c: In function ‘ieee80211_tx_h_select_key’: net/mac80211/tx.c:448: warning: ‘key’ may be used uninitialized in this function drivers/net/wireless/ath/ath9k/rc.c: In function ‘ath_rc_rate_getidx’: drivers/net/wireless/ath/ath9k/rc.c:815: warning: ‘nextindex’ may be used uninitialized in this function drivers/net/wireless/hostap/hostap_plx.c: In function ‘prism2_plx_probe’: drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_index’ may be used uninitialized in this function drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_offset’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 9b171ffe1b3004587f4a90ef293531a4a262e538 Author: John W. Linville Date: Fri Apr 24 15:30:28 2009 -0400 libertas: fix format warning drivers/net/wireless/libertas/if_spi.c: In function ‘if_spi_c2h_data’: drivers/net/wireless/libertas/if_spi.c:733: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ Signed-off-by: John W. Linville commit 008bec397cdabd22a6f4e4c16a746a86a046f8af Author: Mark Brown Date: Fri Apr 24 16:27:09 2009 +0100 ASoC: S3C2412: Failing to get the I2S clock is an error Signed-off-by: Mark Brown commit 172fd9e26200668ebaf3e1d6d09b36d5d531bfa6 Author: Mark Brown Date: Fri Apr 24 16:33:10 2009 +0100 ASoC: Fix S3C64xx IIS device registration and support both ports The S3C64xx IIS code had a number of problems with device registration. The hardware has two IIS ports of which the driver supported only one at once via a single exported DAI, attempting to identify the DAI to use based on the dev->id of the ASoC platform device. As well as limiting the driver to only supporting one IIS port at once this also meant that the ID of the soc-audio device (or in future the card device) had to match the IIS ID. Fix both problems by converting the driver to register the DAIs based on probing of platform devices registered by the arch/arm code, using those platform devices to interact with the clock API. Signed-off-by: Mark Brown commit 7629ad24f2b3df95c8b4cd8869e3c04e1df6c442 Author: Daniel Mack Date: Fri Apr 24 16:37:44 2009 +0200 ASoC: add SOC_DOUBLE_EXT macro Add a macro for double controls with special callback functions. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit a8353a57299f965ca8747b1b062490aef2c9ca50 Author: Peter Ujfalusi Date: Fri Apr 24 11:03:21 2009 +0300 ASoC: Beagle: Add support for 4 channel This patch adds support for the four channel TDM mode on Beagle board. Depending on the channel count, the interface needs to be configured differently (I2S for stereo DSP_A for four channels) Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b8e65554d80b4c560d201362d0e8fa02109d89fd Author: Steven Rostedt Date: Fri Apr 24 11:50:39 2009 -0400 tracing: remove deprecated TRACE_FORMAT The TRACE_FORMAT macro has been deprecated by the TRACE_EVENT macro. There are no more users. All new users must use the TRACE_EVENT macro. [ Impact: remove old functionality ] Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit 160031b556e93590fa8635210d73d93c3d3853a9 Author: Steven Rostedt Date: Fri Apr 24 11:26:55 2009 -0400 tracing/irq: convert irq traces to use TRACE_EVENT macro The TRACE_FORMAT will soon be deprecated. This patch converts it to the TRACE_EVENT macro. Note, this change should also speed up the tracing. [ Impact: remove a user of deprecated TRACE_FORMAT ] Cc: Jason Baron Signed-off-by: Steven Rostedt commit 39517091f88fae32b52254b561ced78da1eaf0a7 Author: Steven Rostedt Date: Fri Apr 24 11:05:52 2009 -0400 tracing/lockdep: convert lockdep to use TRACE_EVENT macro The TRACE_FORMAT will soon be deprecated. This patch converts it to the TRACE_EVENT macro. Note, this change should also speed up the tracing. [ Impact: remove a user of deprecated TRACE_FORMAT ] Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit ad8affd972a705a38e769859c50ee8e749b631da Author: Alexander Beregalov Date: Fri Apr 24 04:45:33 2009 -0700 8390p: fix build breakage Fix this build error caused by 362b76edb789 "8390p: Get rid of init_module/cleanup_module" drivers/net/8390p.c:94:19: error: invalid suffix "p_init_module" on integer constant drivers/net/8390p.c:94: error: expected identifier or '(' before numeric constant drivers/net/8390p.c:99:20: error: invalid suffix "p_cleanup_module" on integer constant Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 1cb81b143fa8f0e4629f10690862e2e52ca792ff Author: Markus Metzger Date: Fri Apr 24 09:51:43 2009 +0200 x86, bts, mm: clean up buffer allocation The current mm interface is asymetric. One function allocates a locked buffer, another function only refunds the memory. Change this to have two functions for accounting and refunding locked memory, respectively; and do the actual buffer allocation in ptrace. [ Impact: refactor BTS buffer allocation code ] Signed-off-by: Markus Metzger Acked-by: Andrew Morton Cc: Peter Zijlstra LKML-Reference: <20090424095143.A30265@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 7e0bfad24d85de7cf2202a7b0ce51de11a077b21 Author: Markus Metzger Date: Fri Apr 24 09:44:48 2009 +0200 x86, bts: reenable ptrace branch trace support The races found by Oleg Nesterov have been fixed. Reenable branch trace support. Signed-off-by: Markus Metzger Acked-by: Oleg Nesterov LKML-Reference: <20090424094448.A30216@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 782cc5ae6331d63b4febaa312c9d14493aafa9b8 Author: Markus Metzger Date: Fri Apr 24 09:43:09 2009 +0200 x86, ds: fix buffer alignment in debug store selftest The debug store selftest code uses a stack-allocated buffer, which is not necessarily correctly aligned. For tests using a buffer to hold a single entry, the buffer that is passed to ds_request must already be suitably aligned. Pass a suitably aligned portion of the bigger buffer. [ Impact: fix hw-branch-tracer self-test failure ] Signed-off-by: Markus Metzger Cc: markus.t.metzger@gmail.com LKML-Reference: <20090424094309.A30145@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 416dfdcdb894432547ead4fcb9fa6a36b396059e Merge: 56449f4 0910697 Author: Ingo Molnar Date: Fri Apr 24 10:11:18 2009 +0200 Merge commit 'v2.6.30-rc3' into tracing/hw-branch-tracing Conflicts: arch/x86/kernel/ptrace.c Merge reason: fix the conflict above, and also pick up the CONFIG_BROKEN dependency change from upstream so that we can remove it here. Signed-off-by: Ingo Molnar commit 3e98f9f15e916c48dfc5231d7e6a59be7f122764 Author: Paul Mundt Date: Fri Apr 24 15:39:39 2009 +0900 sh: pci: Fix up the build for CONFIG_PCI=n. Signed-off-by: Paul Mundt commit 0cfcdedaddf2468cb53e3cff9c3abfef14b4d784 Author: Krzysztof Helt Date: Thu Apr 23 21:46:19 2009 +0200 ALSA: sc6000: fix older card initialization The last patch to handle newer cards like SC7000 broke initialization of the SC6000. Fix this. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 334d4169a6592d3fcd863bbe822a8f6985ffa9af Author: Lai Jiangshan Date: Fri Apr 24 11:27:05 2009 +0800 ring_buffer: compressed event header RB_MAX_SMALL_DATA = 28bytes is too small for most tracers, it wastes an 'u32' to save the actually length for events which data size > 28. This fix uses compressed event header and enlarges RB_MAX_SMALL_DATA. [ Impact: saves about 0%-12.5%(depends on tracer) memory in ring_buffer ] Signed-off-by: Lai Jiangshan LKML-Reference: <49F13189.3090000@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c2518c4366f087ebc10b3919cb2461bbe4f42d0c Author: Steven Rostedt Date: Thu Apr 23 23:26:18 2009 -0400 tracing: fix cut and paste macro error In case a module uses the TRACE_EVENT macro for creating automated events in ftrace, it may choose to use a different file name than the defined system name, or choose to use a different path than the default "include/trace/events" include path. If this is done, then before including trace/define_trace.h the header would define either "TRACE_INCLUDE_FILE" for the file name or "TRACE_INCLUDE_PATH" for the include path. If it does not define these, then the define_trace.h defines them instead. If define trace defines them, then define_trace.h should also undefine them before exiting. To do this a macro is used to note this: #ifndef TRACE_INCLUDE_FILE # define TRACE_INCLUDE_FILE TRACE_SYSTEM # define UNDEF_TRACE_INCLUDE_FILE #endif [...] #ifdef UNDEF_TRACE_INCLUDE_FILE # undef TRACE_INCLUDE_FILE # undef UNDEF_TRACE_INCLUDE_FILE #endif The UNDEF_TRACE_INCLUDE_FILE acts as a CPP variable to know to undef the TRACE_INCLUDE_FILE before leaving define_trace.h. Unfortunately, due to cut and paste errors, the macros between FILE and PATH got mixed up. [ Impact: undef TRACE_INCLUDE_FILE and/or TRACE_INCLUDE_PATH when needed ] Signed-off-by: Steven Rostedt commit d7285c6b5c54397fdf112c2fb98ee43193173aa9 Author: Chris Wright Date: Thu Apr 23 10:21:38 2009 -0700 x86: use native register access for native tlb flushing currently these are paravirtulaized, doesn't appear any callers rely on this (no pv_ops backends are using native_tlb and overriding cr3/4 access). [ Impact: fix lockdep warning with paravirt and function tracer ] Signed-off-by: Chris Wright LKML-Reference: <20090423172138.GR3036@sequoia.sous-sol.org> Signed-off-by: Steven Rostedt commit 75db37d2f4c0ad9466ead57d467277d097b4105c Author: Steven Rostedt Date: Thu Mar 26 11:43:36 2009 -0400 tracing: add size checks for exported ftrace internal structures The events exported by TRACE_EVENT are automated and are guaranteed to be correct when used. The internal ftrace structures on the other hand are more manually exported. These require the ftrace maintainer to make sure they are up to date. This patch adds a size check to help flag when a type changes in an internal ftrace data structure, and the update needs to be reflected in the export. If a export is incorrect, then the only harm is that the user space tools will not know how to correctly read the internal structures of ftrace. [ Impact: help prevent inconsistent ftrace format print outs ] Signed-off-by: Steven Rostedt commit 89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb Author: Steven Rostedt Date: Thu Mar 26 11:03:29 2009 -0400 tracing: increase size of number of possible events With the new event tracing registration, we must increase the number of events that can be registered. Currently the type field is only one byte, which leaves us only 256 possible events. Since we do not save the CPU number in the tracer anymore (it is determined by the per cpu ring buffer that is used) we have an extra byte to use. This patch increases the size of type from 1 byte (256 events) to 2 bytes (65,536 events). It also adds a WARN_ON_ONCE if we exceed that limit. [ Impact: allow more than 255 events ] Signed-off-by: Steven Rostedt commit 9be24414aad047dcf9d8d2a9a929321536c7ebec Author: Steven Rostedt Date: Thu Mar 26 10:25:24 2009 -0400 tracing/wakeup: move access to wakeup_cpu into spinlock The code had the following outside the lock: if (next != wakeup_task) return; pc = preempt_count(); /* The task we are waiting for is waking up */ data = wakeup_trace->data[wakeup_cpu]; On initialization, wakeup_task is NULL and wakeup_cpu -1. This code is not under a lock. If wakeup_task is set on another CPU as that task is waking up, we can see the wakeup_task before wakeup_cpu is set. If we read wakeup_cpu while it is still -1 then we will have a bad data pointer. This patch moves the reading of wakeup_cpu within the protection of the spinlock used to protect the writing of wakeup_cpu and wakeup_task. [ Impact: remove possible race causing invalid pointer dereference ] Reported-by: Maneesh Soni Signed-off-by: Steven Rostedt commit eb990b5533cfbddfac6efe783a349525907d1c26 Author: David Brownell Date: Thu Apr 23 19:25:29 2009 -0700 Input: add dm355evm_keys driver Simple input driver support for the events reported by the MSP430 firmware on the DM355 EVM. Verified using the RC5 remote included with the kit; docs weren't quite right. Some of the keycode selections might need improvement; they can be remapped, so there's at least a runtime workaround. (I also suspect Linux may someday merit more generic support for RC5 based remote controls.) These events don't distinguish key press vs release events, so this reports both and then skips the next event if it's identical. The RC5 remote codes include a "toggle" bit that can help detect autorepeated keys; but this driver doesn't bother with those nuances. This driver relies on the drivers/mfd/dm355evm_msp.c code for core features, including sharing I2C access to this firmware with GPIO, LED, and RTC support. [dtor@mail.ru: fix error unwindng path in probe()] Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Dmitry Torokhov commit b656eba122929881c52d38ae16637167aaa5b88b Merge: 24fc484 b930f96 Author: Bartlomiej Zolnierkiewicz Date: Thu Apr 23 22:56:58 2009 +0200 Merge branch 'for-linus' into for-next commit 8a1f936acdfd53cb0a981f3f80483863dcd84fa9 Author: Peter Ujfalusi Date: Thu Apr 23 14:36:49 2009 +0300 ASoC: TWL4030: Add 4 channel TDM support Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030 codec. The channel allocations are: Playback: TDM i2s TWL RX Channel 1 Left SDRL2 Channel 3 Right SDRR2 Channel 2 -- SDRL1 Channel 4 -- SDRR1 Capture: TDM i2s TWL TX Channel 1 Left TXL1 Channel 3 Right TXR1 Channel 2 -- TXL2 Channel 4 -- TXR2 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 31a00c6b7c0c4f01be49f02660de920c8b82b613 Author: Peter Ujfalusi Date: Thu Apr 23 14:36:48 2009 +0300 ASoC: OMAP: Add 4 channel support to mcbsp Add 4 channel support to omap-mcbsp. This mode is going to be used by the twl4030 codec, when it is configured in Option1 mode. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b933453f1965c1e3136cb5fd69abd6e6927fb5d7 Merge: 8eb9fea a396e32 Author: Mark Brown Date: Thu Apr 23 16:09:52 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit d93fe1a144c1a4312972bedbefc2213aa8b88612 Author: Ursula Braun Date: Thu Apr 23 06:37:16 2009 -0700 af_iucv: Fix merge. From: Ursula Braun net/iucv/af_iucv.c in net-next-2.6 is almost correct. 4 lines should still be deleted. These are the remaining changes: Signed-off-by: David S. Miller commit 5802b140ed52957ad150eaf40239a95f5f45fbd3 Merge: 09488e2 29fe1b4 Author: David S. Miller Date: Thu Apr 23 04:08:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/iucv/af_iucv.c commit 09488e2e0fab14ebe41135f0d066cfe2c56ba9e5 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:27 2009 +0000 af_iucv: New socket option for setting IUCV MSGLIMITs The SO_MSGLIMIT socket option modifies the message limit for new IUCV communication paths. The message limit specifies the maximum number of outstanding messages that are allowed for connections. This setting can be lowered by z/VM when an IUCV connection is established. Expects an integer value in the range of 1 to 65535. The default value is 65535. The message limit must be set before calling connect() or listen() for sockets. If sockets are already connected or in state listen, changing the message limit is not supported. For reading the message limit value, unconnected sockets return the limit that has been set or the default limit. For connected sockets, the actual message limit is returned. The actual message limit is assigned by z/VM for each connection and it depends on IUCV MSGLIMIT authorizations specified for the z/VM guest virtual machine. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 802788bf90f78e7f248e78d4d0510bb00e976db8 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:26 2009 +0000 af_iucv: cleanup and refactor recvmsg() EFAULT handling If the skb cannot be copied to user iovec, always return -EFAULT. The skb is enqueued again, except MSG_PEEK flag is set, to allow user space applications to correct its iovec pointer. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit aa8e71f58ab8e01d63c33df40ff1bcb997c9df92 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:25 2009 +0000 af_iucv: Provide new socket type SOCK_SEQPACKET This patch provides the socket type SOCK_SEQPACKET in addition to SOCK_STREAM. AF_IUCV sockets of type SOCK_SEQPACKET supports an 1:1 mapping of socket read or write operations to complete IUCV messages. Socket data or IUCV message data is not fragmented as this is the case for SOCK_STREAM sockets. The intention is to help application developers who write applications or device drivers using native IUCV interfaces (Linux kernel or z/VM IUCV interfaces). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 44b1e6b5f9a93cc2ba024e09cf137d5f1b5f8426 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:24 2009 +0000 af_iucv: Modify iucv msg target class using control msghdr Allow 'classification' of socket data that is sent or received over an af_iucv socket. For classification of data, the target class of an (native) iucv message is used. This patch provides the cmsg interface for iucv_sock_recvmsg() and iucv_sock_sendmsg(). Applications can use the msg_control field of struct msghdr to set or get the target class as a "socket control message" (SCM/CMSG). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b8942e3b6c4b35dda5e8ca75aec5e2f027fe39a9 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:23 2009 +0000 af_iucv: Support data in IUCV msg parameter lists (IPRMDATA) The patch allows to send and receive data in the parameter list of an iucv message. The parameter list is an arry of 8 bytes that are used by af_iucv as follows: 0..6 7 bytes for socket data and 7 1 byte to store the data length. Instead of storing the data length directly, the difference between 0xFF and the data length is used. This convention does not interfere with the existing use of PRM messages for shutting down the send direction of an AF_IUCV socket (shutdown() operation). Data lenghts greater than 7 (or PRM message byte 8 is less than 0xF8) denotes to special messages. Currently, the special SEND_SHUTDOWN message is supported only. To use IPRM messages, both communicators must set the IUCV_IPRMDATA flag during path negotiation, i.e. in iucv_connect() and path_pending(). To be compatible to older af_iucv implementations, sending PRM messages is controlled by the socket option SO_IPRMDATA_MSG. Receiving PRM messages does not depend on the socket option (but requires the IUCV_IPRMDATA path flag to be set). Sending/Receiving data in the parameter list improves performance for small amounts of data by reducing message_completion() interrupts and memory copy operations. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9d5c5d8f4105dc56ec10864b195dd1714f282c22 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:22 2009 +0000 af_iucv: add sockopt() to enable/disable use of IPRM_DATA msgs Provide the socket operations getsocktopt() and setsockopt() to enable/disable sending of data in the parameter list of IUCV messages. The patch sets respective flag only. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit af88b52def76679c8c5bcdbed199fbe62b6a16d4 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:21 2009 +0000 af_iucv: sync sk shutdown flag if iucv path is quiesced If the af_iucv communication partner quiesces the path to shutdown its receive direction, provide a quiesce callback implementation to shutdown the (local) send direction. This ensures that both sides are synchronized. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 42e1b4c2c6c823ae26e64c557addf5329a7735b7 Author: Ursula Braun Date: Tue Apr 21 23:26:20 2009 +0000 iucv: provide second per-cpu IUCV command parameter block Some of the IUCV commands can be invoked in interrupt context. Those commands need a different per-cpu IUCV command parameter block, otherwise they might overwrite an IUCV command parameter of a not yet finished IUCV command invocation in process context. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 8eb9feabe566d8272510d5fb33f55a72e3ab3ce4 Author: Eric Miao Date: Thu Apr 23 17:57:46 2009 +0800 ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp The original idea came from pHilipp, and this makes the code looks more consistent. Signed-off-by: Eric Miao Signed-off-by: Mark Brown commit 049da6393fb30b62e418beb59a74dfcad513fc6d Merge: 2d7e71f 19ab054 Author: Mark Brown Date: Thu Apr 23 10:37:17 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 2d7e71fa231035d69faffbfe506ef23638385994 Author: Eric Miao Date: Thu Apr 23 17:05:38 2009 +0800 ASoC: simplify the SSP DMA parameters settings by run-time generation The SSP DMA parameters can actually be easily generated at run-time since they are almost similar except for the FIFO width and direction. Another benefit is the re-use of information from 'struct ssp_device', like SSDR physical FIFO address and DRCMR register index for both directions. Signed-off-by: Eric Miao Signed-off-by: Mark Brown Reviewed-by: pHilipp Zabel commit 1a787e7ad242312af0afb2156596d42ee5e0c6bc Author: Joonyoung Shim Date: Wed Apr 22 13:13:34 2009 +0900 ASoC: TWL4030: Add VDL path support Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset Left/Right, Carkit Left/Right) from mux to mixer. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1965c85331ed29dc4fd32479ff31663e3e9a518f Author: Jouni Malinen Date: Wed Apr 22 21:38:25 2009 +0300 nl80211: Add event for authentication/association timeout SME needs to be notified when the authentication or association attempt times out and MLME has stopped processing in order to allow the SME to decide what to do next. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ff2ba188fc5eaae529cb2ef9b127c3ca2a7df4b9 Author: John W. Linville Date: Wed Apr 22 13:27:08 2009 -0400 rndis_wlan: select CFG80211 in Kconfig Signed-off-by: John W. Linville commit 04fe20372e70685d9f15966216cdffd3795fe590 Author: Johannes Berg Date: Wed Apr 22 18:44:37 2009 +0200 mac80211: calculate maximum sleep interval The maximum sleep interval, for powersave purposes, is determined by the DTIM period (it may not be larger) and the required networking latency (it must be small enough to fulfil those constraints). This makes mac80211 calculate the maximum sleep interval based on those constraints, and pass it to the driver. Then the driver should instruct the device to sleep at most that long. Note that the device is responsible for aligning the maximum sleep interval between DTIMs, we make sure it's not longer but it needs to make sure it's between them. Also, group some powersave documentation together and make it more explicit that we support managed mode only, and no IBSS powersaving (yet). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8e30bc55de98c000b0b836cb42525c82f605f191 Author: Johannes Berg Date: Wed Apr 22 17:45:38 2009 +0200 nl80211: allow configuring IBSS beacon interval Make the JOIN_IBSS command look at the beacon interval attribute to see if the user requested a specific beacon interval, if not default to 100 TU (wext too). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e255d5eb2b478eec1416b46aea03798b64355402 Author: Johannes Berg Date: Wed Apr 22 12:40:07 2009 +0200 mac80211: remove IEEE80211_CONF_CHANGE_DYNPS_TIMEOUT Just setting IEEE80211_CONF_CHANGE_PS should be sufficient for changes in the power saving things. The driver already tells us whether it wants notification of dynps via the "have dynps support" hw flag. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 1d4df3a50f40a731fc03c86a76535ed141b0e4bc Author: Johannes Berg Date: Wed Apr 22 11:25:43 2009 +0200 mac80211: fix variable truncation on 32-bit Stephen Rothwell reported these warnings from a 32-bit build: net/mac80211/mlme.c:1771: warning: left shift count >= width of type net/mac80211/mlme.c:1772: warning: left shift count >= width of type net/mac80211/mlme.c:1773: warning: left shift count >= width of type net/mac80211/mlme.c:1774: warning: left shift count >= width of type net/mac80211/mlme.c:1775: warning: left shift count >= width of type This shows a bug in my code -- BIT(X) uses just "1 << X" which means a 32-bit integer on 32-bit platforms, but the code here needs a u64 on all platforms. Fix this by using "1ULL << X" instead of BIT(X). Thanks Stephen! Reported-by: Stephen Rothwell Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb1a685e07310b5137c561e25ab738292db2c8a5 Author: Jussi Kivilinna Date: Tue Apr 21 19:48:15 2009 +0300 rndis_wlan: free priv correctly when rndis_wext_bind fails Private structure is allocated by wiphy_new now, so use wiphy_free instead of kfree. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8d4d99ae89a8845a1d63b0529dd98da28dc0ff65 Author: Jussi Kivilinna Date: Tue Apr 21 19:48:07 2009 +0300 rndis_wlan: fix initialization order for workqueue&workers rndis_wext_link_change() might be called from rndis_command() at initialization stage and priv->workqueue/priv->work have not been initialized yet. This causes invalid opcode at rndis_wext_bind on some brands of bcm4320. Fix by initializing workqueue/workers in rndis_wext_bind() before rndis_command is used. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit caa6dfadebee2098e9c5ece1d5efae96a6926d0f Author: Johannes Berg Date: Tue Apr 21 10:55:10 2009 +0200 rndis_wlan: make some symbols static sparse complains, correctly, about these: drivers/net/wireless/rndis_wlan.c:418:21: warning: symbol 'rndis_config_ops' was not declared. Should it be static? drivers/net/wireless/rndis_wlan.c:423:6: warning: symbol 'rndis_wiphy_privid' was not declared. Should it be static? Fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 29b4a4f7c7b588b5568edd0da42f38623b81fc66 Author: Johannes Berg Date: Tue Apr 21 00:30:49 2009 +0200 mac80211: fix IBSS code to not sleep while atomic With the RCU locking here we sleep while in an atomic context, since we can sleep just use mutex locking for the interface list instead of RCU. Sorry, seems I didn't get that in my UML test. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0cf4c01ebe2ccf4487fe9301bab905365dca06c3 Author: Mohamed Abbas Date: Mon Apr 20 14:37:04 2009 -0700 iwlwifi: allow config if device not ready Allow user to config the device all the time but only allow commiting these changes to card if the card is up and running. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 09f9bf79b7870ac017a94f7f9b603c2e28ac73f7 Author: Abhijeet Kolekar Date: Mon Apr 20 14:37:03 2009 -0700 iwlwifi: remove radio disable parameter. Patch removes the "manual radio disable" parameter as there is no usage scenario of disabling radio using this module parameter. User can use iwconfig's txpower to enable and disable radio. This module parameter also does not work as expected. During module load the status of radio is set, the radio is not actually disabled. Even so, the moment mac80211 requests the interface to be up the radio will be enabled again. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 447fee700f6cb7ada906c5db61c6c045741893e8 Author: Mohamed Abbas Date: Mon Apr 20 14:37:02 2009 -0700 iwlcore: Fix stay in table function. Function rs_stay_in_table was flushing the rate scale table way to early. time_after macro in expecting long value and was failing because we passing u32 value. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 279b05d4362472ae9269f982f00e644265bdbf94 Author: Wey-Yi Guy Date: Mon Apr 20 14:37:00 2009 -0700 iwlwifi: clean up unused NL80211_IFTYPE_MONITOR for Monitor mode This patch clean up the code for NL80211_IFTYPE_MONITOR mode, priv->iw_mode is set in add_interface, but add_interface is never called for monitor mode. The only way mac80211 informs us about monitor mode is through configuring filter; since iw_mode will never set to NL80211_IFTYPE_MONITOR, modify and remove all the code refer to NL80211_IFTYPE_MONITOR and replace with iwl_is_monitor_mode() function call. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 86ddbf62c2daefebba13e3c79f88cbdfde766176 Author: Abhijeet Kolekar Date: Mon Apr 20 14:36:59 2009 -0700 iwl3945: calculate debugfs isr statistics This patch calculates interrupt statistics for debugfs. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a75fbe8d68ceace836b27c216a5eda1c4687be4b Author: Abhijeet Kolekar Date: Mon Apr 20 14:36:58 2009 -0700 iwl3945: add debugfs to 3945 Patch adds debugfs to 3945. Also fix debugfs registration in iwlagn to return error code if it fails. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b097ad29752f909ec1121ac3dc57d348f08dd8d7 Author: Johannes Berg Date: Mon Apr 20 14:36:57 2009 -0700 iwlwifi: support truly passive scanning If passive scanning is requested we should not ask the microcode to do active scanning after detecting traffic on a channel -- that should only be used when an active scan is requested but some channels are marked passive. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1ecf9fc1317f8df91eb1d74360f408558d657478 Author: Johannes Berg Date: Mon Apr 20 14:36:56 2009 -0700 iwlwifi: improve scan support This modifies iwlwifi to * no longer build its own probe request, but use mac80211's * therefore, support arbitrary scan IEs (up to the max len) * support multiple scan SSIDs * support passive scanning Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9b3bf06abad70db820c74c90118ea49358549d22 Author: Johannes Berg Date: Mon Apr 20 14:36:55 2009 -0700 iwlwifi: rename PROBE_OPTION_MAX_API1 to PROBE_OPTION_MAX_3945 This limit applies to current (APIv1 and APIv2) 3945 firmware only, not supported firmware of any of the other cards. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cca84799dfe9f5201ae9c69eb8ed15fd26b72b37 Author: Christian Lamparter Date: Sun Apr 19 01:28:12 2009 +0200 ar9170: rework rxstream code With this patch ar9170 is capable of receiving aggregated 802.11n frames and sniffing on most networks without having a "debug message overhead". (Includes phy initialization requested by Johannes Berg -- JWL) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e7ec86f54e519e8e86f1cf328db13263f3ef8bd4 Author: Johannes Berg Date: Sat Apr 18 17:33:24 2009 +0200 mac80211: validate TIM IE length (redux) The TIM IE must not be shorter than 4 bytes, so verify that when parsing it and use the proper type. To ease that adjust struct ieee80211_tim_ie to have a virtual bitmap of size at least 1. Also check that the TIM IE is actually present before trying to parse it! Because other people may need the function, make it a static inline in ieee80211.h. (The original "mac80211: validate TIM IE length" was a minimal fix for 2.6.30. This purports to be the full, correct fix. -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b Author: Johannes Berg Date: Mon Apr 20 18:49:39 2009 +0200 cfg80211: mark all WEXT handlers _GPL The fact that these are exported is a technical detail of the conversion period -- we don't want anybody to start relying on these. Ultimately we want things to use cfg80211 only, and once everything that is in wext is converted to cfg80211 drivers will not need to touch wext _at all_. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9d308429a9fd0fa644f0b748f6241631f74a6cda Author: Johannes Berg Date: Mon Apr 20 18:43:46 2009 +0200 cfg80211: clear WEXT SSID when clearing IBSS When we leave an IBSS, we should clear the SSID and not just the BSSID, but since WEXT allows configuring while the interface is down we must not clear it when leaving due to taking the iface down, so some complications are needed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9a5f8cab751d362f7c2d94899ca788c22fcd1ef Author: Jouni Malinen Date: Mon Apr 20 18:39:05 2009 +0200 nl80211: Add set/get for frag/rts threshold and retry limits Add new nl80211 attributes that can be used with NL80211_CMD_SET_WIPHY and NL80211_CMD_GET_WIPHY to manage fragmentation/RTS threshold and retry limits. Since these values are stored in struct wiphy, remove the local copy from mac80211 where feasible (frag & rts threshold). The retry limits are currently needed in struct ieee80211_conf, but these could be eventually removed since the driver should have access to the values in struct wiphy. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9e52b0623c6eb49c3f23a326c1fb97bdecc49ba1 Author: Johannes Berg Date: Mon Apr 20 18:27:04 2009 +0200 ar9170: support HT receive and channel config This patch adds support for configuring HT40 channels and receiving HT40 to ar9170. Receiving aggregation doesn't seem to work right now, so it's not enabled. Same goes for TX aggregation, but that probably needs even more work. With this, I can receive roughly 33 Mbits/sec. The HT capabilities are a little odd, I tried following otus here -- in particular having SGI_40 but not SGI_20 is a little weird but afaict that's what otus does. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 314bd7503b1e96841931311f28a8925dab66ed83 Author: Johannes Berg Date: Mon Apr 20 15:17:01 2009 +0200 rndis_wlan: remove nickname support Supporting wireless extension nickname is pointless and no other modern driver supports this, so remove it. Signed-off-by: Johannes Berg Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d323655372590c533c275b1d798f9d1221efb5c6 Author: Johannes Berg Date: Mon Apr 20 14:31:42 2009 +0200 cfg80211: clean up includes Trying to separate header files into net/wireless.h and net/cfg80211.h has been a source of confusion. Remove net/wireless.h (because there also is the linux/wireless.h) and subsume everything into net/cfg80211.h -- except the definitions for regulatory structures which get moved to a new header net/regulatory.h. The "new" net/cfg80211.h is now divided into sections. There are no real changes in this patch but code shuffling and some very minor documentation fixes. I have also, to make things reflect reality, put in a copyright line for Luis to net/regulatory.h since that is probably exclusively written by him but was formerly in a file that only had my copyright line. Signed-off-by: Johannes Berg Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b Author: Johannes Berg Date: Sun Apr 19 21:25:43 2009 +0200 mac80211: convert to cfg80211 IBSS API This converts mac80211 to the new cfg80211 IBSS API, the wext handling functions are called where appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 04a773ade0680d862b479d7219973df60f7a3834 Author: Johannes Berg Date: Sun Apr 19 21:24:32 2009 +0200 cfg80211/nl80211: add IBSS API This adds IBSS API along with (preliminary) wext handlers. The wext handlers can only do IBSS so you need to call them from your own wext handlers if the mode is IBSS. The nl80211 API requires * an SSID * a channel (frequency) for the case that a new IBSS has to be created It optionally supports * a flag to fix the channel * a fixed BSSID The cfg80211 code also takes care to leave the IBSS before the netdev is set down. If wireless extensions are used, it also caches values when the interface is down and instructs the driver to join when the interface is set up. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 691597cb26f236ac7471f1adf925a134c86799d6 Author: Johannes Berg Date: Sun Apr 19 19:57:45 2009 +0200 cfg80211/mac80211: move wext SIWMLME into cfg80211 Since we have ->deauth and ->disassoc we can support the wext SIWMLME call directly without driver wext handlers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d726405af6c8c81d2ee5e6a29301c68b9d4c574f Author: Johannes Berg Date: Sun Apr 19 16:23:20 2009 +0200 nl80211: send wiphy along with netdev When listing all wireless netdevs in the system this is useful to print which wiphy they belong to. Just add the attribute, any program that doesn't care will just ignore it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fef99929cd6b409a67a35e41f7c177bade5bca34 Author: Christian Lamparter Date: Sat Apr 18 19:39:15 2009 +0200 mac80211: set CLEAR_PS for pspolled frames This patch sets IEEE80211_TX_CTL_CLEAR_PS_FILT for outgoing frames for a half-wake station. this is necessary if one wants to get ps-poll working properly with a p54 ap. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d577e7cdb1be027bc51ee1030bc7fd647ea6d0da Author: Christian Lamparter Date: Sat Apr 18 18:30:13 2009 +0200 p54: fix ps-poll delivery in ap mode PS-Polled frames must be sent with OUT_NOCANCEL flag set, or the firmware will reject all of them, at the station is still blacklisted. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a027087a6b4c7d985b872cac3e19ce023670792e Author: Larry Finger Date: Thu Apr 16 19:56:38 2009 -0500 rtl8187: Implement TX/RX blink for LED The following patch implements some control over the LED on RTL8187B and RTL8187L devices. Triggers are registered for TX and RX. Whenever the trigger event occurs, the LED is turned off for 1/20 second, then turned back on. Note: For those RTL8187X devices that are built into the computer and have a LED that is expected to be controlled with a radio switch, this patch will not operate that LED. That will take a separate patch to be prepared later. Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 357303e2b61272b191f2e5d782d94fdd8f50fd71 Author: Jouni Malinen Date: Thu Apr 16 18:44:53 2009 +0300 mac80211: Allow scan to be requested in AP mode We can allow scan requests in AP mode as long as the interface has not yet been configured to send out Beacon frames (or if beaconing has been disabled prior to the scan request). This makes it easier to scan for neighboring BSSes during AP initialization and makes it possible to run a scan without setting the interface down, if needed. Without this change, the only available option would be to set the interface down, move into station mode, and set the interface up, prior to requesting the scan. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 955394c98c9cb79bdb3e6b479695af3a90ea0623 Author: Johannes Berg Date: Thu Apr 16 17:04:25 2009 +0200 mac80211: document powersaving/beacon filter future Document what mac80211 will do in the future to help save power. We're not quite there yet, but a plan helps. Also, while at it, fix the docs wrt. multicast traffic. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit bbbdff9e00449928f228867076a07bdfecd3dca8 Author: Johannes Berg Date: Thu Apr 16 13:27:42 2009 +0200 mac80211: enable PS by default Enable PS by default (depending on Kconfig) -- rely on drivers to control the level using pm_qos. Due to the previous patch we turn off PS when necessary due to latency requirements. This has a Kconfig symbol so people can, if they really want, configure the default in their kernels. We may want to keep it at "default y" only in wireless-testing for a while. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d91f36db51661018f6d54ff5966e283bcec4c545 Author: Johannes Berg Date: Thu Apr 16 13:17:26 2009 +0200 mac80211: implement beacon filtering in software Regardless of whether the hardware implements beacon filtering, there's no need to process all beacons in software all the time throughout the stack (mac80211 does a lot, then cfg80211, then in the future possibly userspace). This patch implements the "best possible" beacon filtering in mac80211. "Best possible" means that it can look for changes in all requested information elements, and distinguish vendor IEs by their OUI. In the future, we will add nl80211 API for userspace to request information elements and vendor IE OUIs to watch -- drivers can then implement the best they can do while software implements it fully. It is unclear whether or not this actually saves CPU time, but the data is all in the cache already so it should be fairly cheap. The additional _testing_, however, has great benefit; Without this, and on hardware that doesn't implement beacon filtering, wrong assumptions about, for example, scan result updates could quickly creep into code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10f644a47b76d3e61b98f2d02ce9690b94c51ee5 Author: Johannes Berg Date: Thu Apr 16 13:17:25 2009 +0200 mac80211: disable powersave if pm_qos asks for low latency When an application asks for a latency lower than the beacon interval there's nothing we can do -- we need to stay awake and not have the AP buffer frames for us. Add code to automatically calculate this constraint in mac80211 so drivers need not concern themselves with it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 965bedadc01d34027455d5d5b67063ef0209c955 Author: Johannes Berg Date: Thu Apr 16 13:17:24 2009 +0200 mac80211: improve powersave implementation When you have multiple virtual interfaces the current implementation requires setting them up properly from userspace, which is undesirable when we want to default to power save mode. Keep track of powersave requested from userspace per managed mode interface, and only enable powersave globally when exactly one managed mode interface is active and has powersave turned on. Second, only start the dynPS timer when PS is turned on, and properly turn it off when PS is turned off. Third, fix the scan_sdata abuse in the dynps code. Finally, also reorder the code and refactor the code that enables PS or the dynps timer instead of having it copied in two places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dc7d243d75b906cc964c12caa3b2eebe953a69be Author: Marek Vasut Date: Tue Mar 24 21:33:43 2009 +0100 Add support for CF8381 WiFi card. A detection function was added for identifying CF8381. Signed-off-by: Marek Vasut Acked-by: Dan Williams Signed-off-by: John W. Linville commit fade5db4f227bf59874efd6023f39d345e17e2a4 Author: Christian Lamparter Date: Fri Apr 17 15:14:22 2009 +0200 p54: deactivate broken powersave function (part 2) This patch deactivates powersave in station mode. It does not work correctly yet, so the code does more harm than good. (I split the original patch and sent part of it for 2.6.30, which didn't have the IEEE80211_HW_BEACON_FILTER flag. -- JWL) Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 85efc86eb7c6cbb1c8ce8d99b10b948be033fbb9 Author: Luis R. Rodriguez Date: Mon Apr 13 21:41:46 2009 -0400 atheros: fix propagation of bad EEPROM on regulatory init When the EEPROM is not in good condition we cannot continue so we currently bail out but only ath5k is bailing out properly. Both ath9k and ar9170 were proceeding and if a user were to run into this they'd see an obscure panic. Lets propagate the error as intended and make sure we inform the user by lifting the error message from debug to a kernel error. Stable note: You can find a port of this page here: http://bombadil.infradead.org/~mcgrof/patches/ath9k/ath9k-fix-eeprom.patch.txt Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 26925042b6b105995ee54c6015e95f0caf9632d6 Author: Bob Copeland Date: Wed Apr 15 07:57:36 2009 -0400 ath5k: manipulate rxlink and descriptor address under rxbuf lock Grabbing an ath5k_buf then dropping the lock is racy because the referenced descriptor can be obtained in another thread and released before the buffer is handed to the hardware. Likewise, manipulating sc->rxlink without the lock can lead to having multiple self-linked hardware descriptors. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit c57ca81576e7ca0369ea52c9ac5f35d0f6ca1270 Author: Bob Copeland Date: Wed Apr 15 07:57:35 2009 -0400 ath5k: use rx hw descriptor pointer for self-linked check This patch simplifies the code used to detect when the self-linked DMA buffer is still in use by hardware, by checking the hardware's rxdp register instead of looking at the software buffer list. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 46802a4f07cd2367d584bb1a2e6998d22d4d4f3a Author: Bob Copeland Date: Wed Apr 15 07:57:34 2009 -0400 ath5k: use bool for modparams Current code uses int types, but both modparams are boolean values. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 56d2ac763829d2443075e8266dd00166ee11c80d Author: Bob Copeland Date: Wed Apr 15 07:57:33 2009 -0400 ath5k: use tasklet_hi_schedule for beacon queue For embedded platforms, beacon transmission can be starved when flooded with data packets. Prioritize beacons by giving the beacon queue the first shot when the isr completes. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 77ded01cc25744245c58a369d24e251833e995bd Author: Bob Copeland Date: Wed Apr 15 07:57:32 2009 -0400 ath5k: fix initvals errors This patch corrects a few errors in the initvals tables to match those in the HAL tables. Namely, remove a couple of repetitions, fix some turbo mode errors, and correct a register for the CCK rate power table. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 45f483c00299807a1635d6ee327957b796b60076 Author: Christian Lamparter Date: Tue Apr 14 22:19:29 2009 +0200 p54: remove module_ stubs Christoph Hellwig pointed out that these stubs are unnecessary. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 882b709230246de3359b04b195ad3e80b93b73ef Author: Vivek Natarajan Date: Tue Apr 14 16:21:01 2009 +0530 ath9k: Disable autosleep feature for AR9285 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f2753ddbadb0873a98421415882318251bbd9eaa Author: Johannes Berg Date: Tue Apr 14 10:09:24 2009 +0200 mac80211: add hardware restart function Some hardware defects may require the hardware to be re-initialised completely from scratch. Drivers would need much information (for instance the current MAC address, crypto keys, beaconing information, etc.) stored duplicated from mac80211 to be able to do this, so let mac80211 help them. The new ieee80211_restart_hw() function requires the same code as resuming, so move that code into a new ieee80211_reconfig() function in util.c and leave only the suspend code in pm.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a1c555802a62c845520d2486d783c9bb1d5e68a9 Author: Christian Lamparter Date: Tue Apr 14 22:11:20 2009 +0200 ath: add module information This patch adds licensing, author information and a description to the module. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 06bfd0d3dbe965de4f60079955cca19d7e853c60 Author: Gábor Stefanik Date: Mon Apr 13 21:54:27 2009 +0200 rtl8187: Remove the "8187B chip detected" message when probing RTL8187B cards This message appears to be nothing more than a leftover of the experimental-8187B era. Also, we print the HW type in the hwaddr line, making this message reduntant. And it's definitely not important enough to be a KERN_WARNING. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 386aeacfa8912e1accffc47e30ffe0c0ecfe71e5 Author: Sujith Date: Mon Apr 13 21:57:01 2009 +0530 ath9k: Remove CHANNEL_CW_INT handling in ath9k_hw_calibrate It is already handled properly in ath9k_hw_getnf. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 04d19ddd254b404703151ab25aa5041e50ff40f7 Author: Sujith Date: Mon Apr 13 21:56:59 2009 +0530 ath9k: Fix bug in calibration initialization This patch fixes a bug in ath9k_hw_init_cal() where the wrong calibration was being done for non-AR9285 chipsets. Also add a few helpful comments. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit cbfe946860ffc718c5d99a6b740e33ac95fe8b8d Author: Sujith Date: Mon Apr 13 21:56:56 2009 +0530 ath9k: Use a consistent naming convention This patch replaces old 'hal_' prefixes with 'ath9k_'. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 379f04407c92d84f2506385b66fb9fc89ecd96c3 Author: Sujith Date: Mon Apr 13 21:56:48 2009 +0530 ath9k: Cleanup calibration interface This patch cleans up the functions dealing with calibration, using proper return values. ath9k_hw_per_calibration(), ath9k_hw_calibrate now return bool values instead of setting error values in the function arguments. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 415f738ecf41b427921b503ecfd427e26f89dc23 Author: Sujith Date: Mon Apr 13 21:56:46 2009 +0530 ath9k: Initialize ANI timers The various ANI timers have to be initialized properly when starting the calibration timer. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit a451aa66dcb14efcb7addf1d8edcac8df76a97b6 Author: Sujith Date: Mon Apr 13 21:56:43 2009 +0530 ath9k: Fix bug in determining calibration support ADC gain calibration has to be done for all non 2GHZ-HT20 channels. Regression from "ath9k: use ieee80211_conf on ath9k_hw_iscal_supported()" Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit db2f63f60a087ed29ae04310c1076c61f77a5d20 Author: Sujith Date: Mon Apr 13 21:56:41 2009 +0530 ath9k: Fix bug in checking HT flag The operating HT mode is stored in chanmode and not channelFlags. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit 822b0dfc135cf205379ea62aae7a5b393811b238 Author: Sujith Date: Mon Apr 13 21:56:38 2009 +0530 ath9k: Remove unused channel flags Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9c07a7777f44c7e39accec5ad8c4293d6a9b2a47 Author: Sujith Date: Mon Apr 13 21:56:36 2009 +0530 ath9k: Fix bug in scan termination A full HW reset needs to be done on termination of a scan run. Not setting SC_OP_FULL_RESET resulted in doing a fast channel change. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit 675902ef822c114c0dac17ed10eed43eb8f5c9ec Author: Sujith Date: Mon Apr 13 21:56:34 2009 +0530 ath9k: Fix memleak on TX DMA failure The driver-specific region has to be freed in case of a DMA mapping failure. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit d2f5b3a6778ae86fd93cb01ccac16aa0b079e441 Author: Sujith Date: Mon Apr 13 21:56:25 2009 +0530 ath9k: Handle ASPM properly for RFKILL Radio enable/disable have to handle ASPM state properly. This patch fixes it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a89bff9a78b2bf51e21a961b473b5be94b22f12e Author: Steven Luo Date: Sun Apr 12 02:57:54 2009 -0700 ath9k: reset after PCI FATAL/PERR interrupts ath9k_hw_getisr() doesn't appear to set anything in the status mask for PCI FATAL or PERR interrupts (AR_INTR_SYNC_HOST1_FATAL/PERR), which the open-source HAL seems to do. This means that the card isn't reset after these interrupts. This patch seems to fix a problem where the wireless drops out with an "ath9k: received PCI FATAL interrupt" in dmesg after some time; the hardware is an AR5416 in an ASUS WL-500W running 2.6.28.7 (OpenWRT) and compat-wireless 2009-03-31. Signed-off-by: Steven Luo Signed-off-by: John W. Linville commit 2d1f96dd90a20c25243cc3b13e9f21d72f00aba0 Author: Larry Finger Date: Sat Apr 11 11:26:01 2009 -0500 b43legacy: Clean up beacon IRQ This patch ports commit c97a4ccc1fad35d3 "b43: Fix beacon BH update" to b43legacy. It fixes beacon updating in the bottomhalf. In case the device is busy, we will defer to later in the IRQ handler. Signed-off-by: Larry Finger Acked-by: Michael Buesch Tested-by: David Ellingsworth Signed-off-by: John W. Linville commit 7858e07b7ccf1d2fd5898a405c93d022d3f1f42d Author: Larry Finger Date: Sat Apr 11 11:25:24 2009 -0500 b43legacy: Fixes for beaconing This patch ports the beaconing fixes from commit a82d992261f "b43: Beaconing fixes" to b43legacy. Basically it prevents the card from triggering the beacon IRQ over and over again. Signed-off-by: Larry Finger Acked-by: Michael Buesch Tested-by: David Ellingsworth Signed-off-by: John W. Linville commit 7edfab7adef45a09b459cb7f5957f476108f5e77 Author: Johannes Berg Date: Sat Apr 11 13:32:46 2009 +0200 cfg80211: convert mutex assert to macro That will make the various cases where the WARN_ON can happen distinguishable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4312a86b6840bca503603e918996b139fa3293ba Author: Christian Lamparter Date: Sat Apr 11 03:58:14 2009 +0200 p54: remove obsolet signal quality calculation The signal quality percentage is now calculated by mac80211 stack. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6dfe9a884fec67070fc7502ad82f7eb328950b72 Author: Christian Lamparter Date: Sat Apr 11 03:58:01 2009 +0200 p54: utilize all available key slots for decryption offload This patch takes care of outstanding TODOs: /* TODO: some devices have 4 more free slots for rx keys */ Now the driver can utilize all available key slots instead of just 4. Obviously, this helps most in AP/IBSS(/MESH) mode, when we have to use more different keys. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 492301fb5d12e4a77a1010ad2b6f1ed306014123 Author: Larry Finger Date: Thu Apr 9 22:14:19 2009 -0500 rfkill: Fix broken rfkill LED in 2.6.30-rc1 The rfkill system fails to issue a LED trigger event when the rfkill state changes. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 137907287789607f2a2586ad625e7b8c646b3425 Author: Michael Buesch Date: Wed Apr 8 21:26:27 2009 +0200 b43: Remove unnecessary MMIO in interrupt hotpath This removes unnecessary MMIO accesses in the interrupt hotpath. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a2caba6b5fc4e046edfefb1db82f52b939b526a5 Author: John W. Linville Date: Tue Apr 14 11:45:57 2009 -0400 libertas: fix warning about %zd: drivers/net/wireless/libertas/rx.c: In function ‘lbs_process_rxed_packet’: drivers/net/wireless/libertas/rx.c:184: warning: format ‘%zd’ expects type ‘signed size_t’, but argument 4 has type ‘__le32’ drivers/net/wireless/libertas/rx.c:184: warning: format ‘%zd’ expects type ‘signed size_t’, but argument 5 has type ‘unsigned int’ Signed-off-by: John W. Linville commit a83b9141b540f96dd59409c6487828e880113a29 Author: Wey-Yi Guy Date: Wed Apr 8 11:39:32 2009 -0700 iwlwifi: adding interrupt counter in debugfs for debugging This patch adds interrupt statistics report to debugfs, this can help to understand number of interrupts happened which including HW/SW error for easier and better debugging. in /sys/kernel/debug/ieee80211/phyN/iwlagn/data directory use "cat interrupt" to view the current interrupt counter use "echo 0 > interrupt" to clear interrupt counter Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1620108910b07bc41f4ad462ca56e899faf7e61a Author: Mohamed Abbas Date: Wed Apr 8 11:39:31 2009 -0700 iwlcore: fix channel display in debugfs Fix displaying of wrong channel information when user query channel through debugfs Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2105fa7b68547a414095cfbf59bf513a9aae3ce Author: Daniel C Halperin Date: Wed Apr 8 11:39:30 2009 -0700 iwlwifi: check triple_stream_basic_rates in iwl_full_rxon_required For completeness, we should also make sure that the 3x3 MIMO rates are also checked when seeing if one rxon struct matches another. Signed-off-by: Daniel C Halperin Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a6502927f763f05069d1b84af3a05b38eb1a818 Author: Mohamed Abbas Date: Wed Apr 8 11:39:29 2009 -0700 iwlagn: Sync rxon active with changes We need to sync rxon_active with changes after we commit rxon_assoc, without rxon_active will still have the old data that cause iwl_send_rxon_assoc to fail with no change in rxon command. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ddfcf999274838a8dfb0ccf8e69fc1e50eea3341 Author: Daniel C Halperin Date: Wed Apr 8 11:39:28 2009 -0700 iwlwifi: do not set dual_stream_ant_msk for 3 streams This patch fixes a bug introduced by commit "iwlwifi: adding MIMO3 support in rate scaling". We should not set the dual_stream_ant_msk (for 2x2 MIMO) when using a 3x3 rate, this will cause a SYSASSERT in uCode. Note: there is no triple_stream_ant_msk, because all three antennas are used. Signed-off-by: Daniel C Halperin Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 12b9681721adb34b7ec42aa973ab96692998153d Author: Wey-Yi Guy Date: Wed Apr 8 11:39:27 2009 -0700 iwlwifi: Display decoded rate/mcs information This patch adding MCS information in rate_scale_table, it help for debugging rate scaling algorithm, easy to understand what is the current rate scale table and matching modulation, plus the last mcs used for tx. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd564261d7dd3660f7a5ba308a867c6bb23de6a2 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:52 2009 -0700 iwl3945: use iwl_mac_reset_tsf from iwlwifi 3945 can now use iwl_mac_reset_tsf from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aa89f31e708d469f5dd824c59c98e4856a2e3572 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:51 2009 -0700 iwl3945: use iwl_mac_get_tx_stats from iwlwifi 3945 can now use iwl_mac_get_tx_stats from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ee5811e24b20d49ea553fda568433effbab7a62 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:50 2009 -0700 iwl3945: use iwl_mac_config_interface from iwlwifi 3945 can now use iwl_mac_config_interface from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60690a6a38cc03142a0c5aaed64cf043e707457d Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:49 2009 -0700 iwlwifi: add config_ap lib op add config_ap lib op to iwlwifi and iwl3945 in preparation of future 3945 porting actions. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4808368dad3263ac46e71f037c0dcd2dcf082525 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:48 2009 -0700 iwl3945: use iwl_mac_config from iwlwifi 3945 can now use iwl_mac_config from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d8052319f2a7d1ee86248df00193110ad1946a33 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:47 2009 -0700 iwl3945: use iwl_mac_remove_interface from iwlwifi 3945 can now use iwl_mac_remove_interface from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cbb6ab94b66cfb7136e640191a9628c5a71220a3 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:46 2009 -0700 iwl3945: use iwl_mac_add_interface from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 727882d62477ed45d248e8cd6d53cf794537b073 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:45 2009 -0700 iwl3945: use iwl_set_mode in 3945 3945 can now use iwl_set_mode from iwlcore library. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 45823531662028a8cbd68906c20e887bb287c85e Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:44 2009 -0700 iwlwifi: add set_rxon_chain op add set_rxon_chain op to iwlwifi cfg ops in preparation of future 3945 porting work. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f5d3026683da45e00c49a24999ad0d256e4651d5 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:43 2009 -0700 iwl3945: use iwl_get_sta_id from iwlwifi iwl3945 can now use iwl_get_sta_id. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 06fd3d86a426848dbd8db27b7257a4eb4be8cfae Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:42 2009 -0700 iwl3945/iwlwifi: unify add_station function Patch unifies the add_station function for 3945 and iwlwifi drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e11bc0286a4ff8f4e5cdefbcce0878d29c03c630 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:41 2009 -0700 iwlwifi: use station management ops Patch replaces station management functions with ops declared. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40ace5b385ccf8a4d4d096b353b7f1baac1d014b Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:40 2009 -0700 iwl3945: replace station function with station ops Patch replaces station function used in driver by station management ops in 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 79fa455a995057b6559fcd2a02e8b089b2e2e288 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:39 2009 -0700 iwlwifi: add station management ops This patch adds declarations for station management ops to iwlwifi drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f45c271493c37d2d80177582191acc1a4e446297 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:38 2009 -0700 iwl3945: delay mode setting Delay mode setting till uCode is ready. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e0158e61108bdadd70865c2149dc829a5c84dd73 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:37 2009 -0700 iwlwifi: add commit_rxon lib Patch adds commit_rxon lib operation to iwlwifi and iwl3945 drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9944b938f23fdd1ce2f5da190f771f176bb51eef Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:36 2009 -0700 iwl3945: use iwl_mac_beacon_update 3945 can use iwl_mac_beacon_update. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5bbe233b9bafabc08a5404d54b9fa086e8390fc7 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:35 2009 -0700 iwl3945: use iwl_bss_info_changed 3945 can use iwl_bss_info_changed. A new lib op is created for post_assoicate to distinguish between 3945 and iwlwifi's post_associate operations. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit de2b3e864aa908e613dd9912def88af7877d85f3 Author: Johannes Berg Date: Wed Apr 8 12:54:41 2009 +0200 mac80211: update injection documentation We don't currently support antenna or rate setting, so remove that. Also update the link -- the current one is dead and the wiki can be kept updated easier. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4499b23933b44bf9e56d1a29b51d9a62941f9fa4 Author: Johannes Berg Date: Wed Apr 8 02:55:34 2009 +0200 mac80211: re-upload keys only after telling driver about association In the normal WPA or RSN case keys are only configured after associating, so we should do that in that order when resuming as well. It shouldn't really matter since we do not send any data at either point, but iwlwifi prefers it this way and it does seem more natural. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e45d8e534b67580eedd9b4910ccc16d6dd3cceff Author: Bing Zhao Date: Mon Apr 6 15:50:56 2009 -0700 libertas: add support for Marvell SD8688 chip libertas: add support for Marvell SD8688 chip Use RxPD->pkt_ptr to locate eth803 header in the packet received since SD8688/v10 firmware allows a gap between RxPD and eth803 header. Set SDIO block size to 256 for CMD53. The maximum block size for SD8688 WLAN function is set to 512 in TPLFE_MAX_BLK_SIZE. But using 512 as block size results upto 2K bytes data (4 blocks) being transferred and causes buffer overflow in firmware. Both changes above are backward compatible with earlier firmware versions for SD8385/SD8686. The SDIO_DEVICE_IDs for SD8688 chip are added in include/linux/mmc/sdio_ids.h Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 87cbfd06889256cac945b37c7f62f4ce7f44b34a Author: Max Filippov Date: Mon Apr 6 01:03:09 2009 +0400 p54spi: get rid of busy-wait loops p54spi_wakeup and p54spi_tx_frame used busy-waiting loop to poll for 'ready' bits in SPI_ADRS_HOST_INTERRUPTS register. With this change in place 'WR_READY timeout' messages do not show anymore. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 6a362bb1c9f900f7e6daeee52ff2d538badae49b Author: Bob Copeland Date: Sun Apr 5 11:01:20 2009 -0400 ath5k: add support for Fukato Datacask Jupiter LEDs This adds support for the LEDs on the Jupiter netbook. Reported-by: Martin Bammer Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit b26ed97c75e1538176c09f29c423a3f8a75868a7 Author: Anna Neal Date: Thu Apr 2 14:44:09 2009 -0700 libertas: increase spi driver thread priority Currently, the libertas main thread contends with the spi driver thread in the TX path. To improve throughput, ensure that the driver thread has higher scheduling priority than the libertas main thread. Do this by making the libertas spi driver thread a low priority real time thread. We measured an average throughput improvement of 13%. Signed-off-by: Anna Neal Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 25e47c18ac4d8ad09c2ed4b99c1dbbcb7e3d2c51 Author: Johannes Berg Date: Thu Apr 2 20:14:06 2009 +0200 cfg80211: add cipher capabilities This adds the necessary code and fields to let drivers specify their cipher capabilities and exports them to userspace. Also update mac80211 to export the ciphers it has. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6bad8766620a3c8b64afa981502fdb543e3cfd6c Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:09 2009 -0400 cfg80211: send regulatory beacon hint events to userspace This informs userspace when a change has occured on a world roaming wiphy's channel which has lifted some restrictions due to a regulatory beacon hint. Because this is now sent to userspace through the regulatory multicast group we remove the debug prints we used to use as they are no longer necessary. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5dab3b8a68cc97a7e6b9f79f5de05803c8e55a3c Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:08 2009 -0400 cfg80211: add netlink channel put helper This adds a netlink channel put helper, nl80211_msg_put_channel(), which we will also make use of later for the beacon hints events. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a4ed90d60c39c5aef9a170d7693f61175acb22e0 Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:07 2009 -0400 cfg80211: respect API on orig_flags on channel for beacon hint As part of our documented API we always respect the orig_flag settings on a channel. We forgot to follow this for the beacon hints. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3eb9296970e70902593b15ed3080e389954cf5f5 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:25 2009 -0700 iwlwifi: add debug messages when start aggregation queue This patch adding few more debug messages if encounter error when driver try to start tx aggregation queue. Also change from IWL_ERR to IWL_DEBUG_HT is the HW legacy queue is empty when driver request to move to aggregation queue. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 584a0f00636d34f71a80f5b550a305f1a1620693 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:24 2009 -0700 iwlwifi: adding MIMO3 support in rate scaling Separated the MIMO tpt matrix into MIMO2 and MIMO3, adding MIMO3 support in rate scaling algorithm. If the device support 3x3, then utilize all three antenna (A/B/C) for tx to improve throughput. Adding rs_switch_to_mimo3() function to allow switch to mimo3 modulation mode from other modes(legacy/siso/mimo2). Adding rs_move_mimo3_to_other() function to allow switch from mimo3 modulation mode to either siso or mimo2; also support toggle between SGI and NGI. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 11397a656f14466421bac503f0f3aaadf9486120 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:23 2009 -0700 iwlwifi: adding triple stream rate support for MIMO3 Adding ht triple_stream_basic_rates for MIMO3 supports Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 64cdb0e3b8a5e5393cb64328ce0c844b7cf3a40e Author: Fabio Rossi Date: Wed Apr 1 20:37:50 2009 +0200 ath5k: fix interpolation with equal power levels When the EEPROM contains weird values for the power levels we have to fix the interpolation process. Signed-off-by: Fabio Rossi Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 910cfee363feda81cd5af4939ed9e0d27677b43f Author: Larry Finger Date: Wed Apr 1 10:42:36 2009 -0500 b43legacy: Do not select HW_RANDOM Auto-depend on HW_RANDOM, rather than "select"ing it. This way the user has the choice to enable or disable HWRNG support. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 66174bbea0b9c5bd4b7d060fed26bf5ec912c422 Author: Jouni Malinen Date: Wed Apr 1 17:23:54 2009 +0300 mac80211: Report rejected association to user space SME When using nl80211 association, we need to send association response with a failure code to user space SME instead of just internally trying to send out the same (re)association request again couple of times. This fixes problems in association process getting stuck on a failure when user space is not notified in any way that something actually failed. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5ef2d41afb7fce2315d12a8aaebe0c9f1b50755b Author: Johannes Berg Date: Tue Mar 31 12:12:07 2009 +0200 mac80211: include HT capabilities in probe request Include the HT capabilities in the probe request frame. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit de95a54b1aebe5592cae971ca5e5d9ec6a381a17 Author: Johannes Berg Date: Wed Apr 1 11:58:36 2009 +0200 mac80211: pass all probe request IEs to driver Instead of just passing the cfg80211-requested IEs, pass the locally generated ones as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18a8365992a8041aa178ae9ad5f0d951d0457230 Author: Johannes Berg Date: Tue Mar 31 12:12:05 2009 +0200 cfg80211: introduce scan IE limit attribute This patch introduces a new attribute for a wiphy that tells userspace how long the information elements added to a probe request frame can be at most. It also updates the at76 to advertise that it cannot support that, and, for now until I can fix that, iwlwifi too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 75c2148fa5330c6de741fc96e3308f57d846a6b4 Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:35 2009 -0400 ath5k: sparse fix ath5k_led_on needs to be static drivers/net/wireless/ath/ath5k/led.c:81:6: warning: symbol 'ath5k_led_on' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b2b2ffbef7750e51bfa74e92229ecee10b59307 Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:34 2009 -0400 ath: space cleanup Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 203c4805e91786f9a010bc7945a0fde70c9da28e Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:33 2009 -0400 atheros: put atheros wireless drivers into ath/ Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1878f77e13b9d720b78c4f818b94bfd4a7f596e5 Author: Christian Lamparter Date: Mon Mar 30 22:30:32 2009 -0400 Make ar9170 use common ath reg code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f769c36bd71ebe8d7a5f83764f0428d36ebced35 Author: Bob Copeland Date: Mon Mar 30 22:30:31 2009 -0400 ath5k: use regulatory infrastructure Make ath5k select the ath module and add in the hooks to make the eeprom regulatory hint and reg notifier take effect. Changes to attach.c Changes-licensed-under: ISC Changes to base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit e3bb249be89dd387e78ca382d08fad31745edac9 Author: Bob Copeland Date: Mon Mar 30 22:30:30 2009 -0400 ath: move more setup code into ath_regd_init Setup the wiphy regulatory parameters when first initializing the Atheros regulatory module. We can remove five exported symbols this way and simplify the driver code for both ath5k and ath9k. Signed-off-by: Bob Copeland Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3a702e49c03ba959e3f5bb2b74ec9921a81c8c98 Author: Bob Copeland Date: Mon Mar 30 22:30:29 2009 -0400 atheros: introduce ath module containing common ath5k/ath9k/ar9170 code This change creates a new module, ath.ko, which includes code that can be shared between ath5k, ath9k and ar9170. For now, extract most of the ath9k regulatory code so it can also be used in ath5k. Signed-off-by: Bob Copeland Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c02cf3738c9dbc446c160b9d49a001eb2be316c8 Author: Bob Copeland Date: Mon Mar 30 22:30:28 2009 -0400 ath9k: pass regd structure directly to regulatory functions All regulatory information is encapsulated by the ath9k_regulatory struct, so we can now change all the callers to take that directly instead of struct ath_hw. This in turn will enable us to move the regulatory functions to common code also used by ath5k, since both can use this regulatory struct. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fc2ada30cacc28c96eabc598d3ef294338d8dcf5 Author: Bob Copeland Date: Mon Mar 30 22:30:27 2009 -0400 ath9k: separate ath9k specific code from ath9k_regd_get_ctl() Until ath5k and ath9k share common channel structures, they will have to implement their own get_ctl() function. Split out the portion that only relies on the current band and reg domain so that it can be common code. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 55a3757a5703ebc58612ffbfbcb7f193dae17df7 Author: Reinette Chatre Date: Fri Mar 27 12:45:30 2009 -0700 iwlwifi: change check triggering device restart after rfkill change The STATUS_ALIVE value cannot be used because it is cleared when interface is brought down and will not be set if rfkill is enabled when interface is started again. The interface can thus not be brought up if rfkill was enabled before stopping the interface and disabled after starting the interface. Change the test to use priv->is_open instead, this will be set when interface is started whether rfkill is enabled or not. Thanks to Helmut Schaa for the suggested fix. Signed-off-by: Reinette Chatre Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 71a7b26d3e6404e43574f80236c00eaa39b2525e Author: Jussi Kivilinna Date: Thu Mar 26 23:40:31 2009 +0200 rndis_wlan: convert scan to cfg80211 Convert scan function to cfg80211. Unlike old scan code new code waits 1 sec before getting scan data from device and passing forward to cfg80211. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4d2a369ec09167f423c0783b1cf85cee8102544f Author: Jussi Kivilinna Date: Thu Mar 26 23:40:23 2009 +0200 rndis_wlan: convert get range to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4bd7f03e915b6946307ce57f20718c6547734b5d Author: Jussi Kivilinna Date: Thu Mar 26 23:40:16 2009 +0200 rndis_wlan: change quality level scale Change quality level scale to match cfg80211 CFG80211_SIGNAL_TYPE_UNSPEC. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 06aa7afaaa21a4e7f1bcb196bd3f29193924a603 Author: Jussi Kivilinna Date: Thu Mar 26 23:40:09 2009 +0200 cfg80211: add cfg80211_inform_bss Added cfg80211_inform_bss() for full-mac devices to use. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 964c1d417e4738d359ba263921a7b9c18fa711c4 Author: John W. Linville Date: Thu Mar 26 23:40:01 2009 +0200 rndis_wlan: convert get/set mode to cfg80211 Signed-off-by: John W. Linville [edit: made rndis_change_virtual_intf static] Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5c8fa4f7e7fcceabb3b37d7ec66d3e7115a4bba3 Author: John W. Linville Date: Thu Mar 26 23:39:53 2009 +0200 rndis_wlan: initiate cfg80211 conversion Signed-off-by: John W. Linville Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit f13027af5cd567757c18b85776232e31a2ba55d4 Author: Christian Lamparter Date: Wed Mar 25 03:12:49 2009 +0100 p54: add beacon filtering support This patch adds beacon filtering support to p54. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit dce072580e095d1fb7be59a1be30dc0e8307821b Author: Christian Lamparter Date: Wed Mar 25 03:12:18 2009 +0100 p54: more SoftLED updates This patch hopefully finishes the SoftLED code: - It adds two more LEDs (rx and radio). (the FW claims it can support up to 16 LEDs, but I doubt that any vendor put more than 4 on a board) - update the LEDs in a _delayed_ workqueue. No one reported any more crashes. (see: "PATCH] p54: fix race condition in memory management") So we can stop burning the mm code. Signed-off-by: Christian Lamparter Acked-by: Larry Finger Signed-off-by: John W. Linville commit cf3a9579f61c643c15c172da0baf5429578b0ba3 Author: Christian Lamparter Date: Wed Mar 25 03:11:58 2009 +0100 p54: clean up p54.h's struct p54_common This patch rearrange and regroups most elements in p54_common. Signed-off-by: Christian Lamparter Acked-by: Larry Finger Signed-off-by: John W. Linville commit ae3d2462f89db4592ea71e8f6e326d4b38dc952c Author: Masakazu Mokuno Date: Mon Mar 30 11:04:04 2009 -0700 net/ps3: Update maintainer Update the MAINTAINERS entry for PS3 NETWORK SUPPORT. CC: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: John W. Linville commit 42639fcd443d97a9a471f4b8269620286dd7036b Author: Bob Copeland Date: Mon Mar 30 08:05:29 2009 -0400 ath5k: reduce exported channel list Claiming every available 5 ghz channel has a couple of negative side-effects: scanning takes a long time, and the channel list overflows the available buffer space for netlink commands, resulting in: $ iw phy phy0 info command failed: No buffer space available (-105) This patch adds a modparam so people who want to see all the channels can do so by passing all_channels=1. By default users will see a smaller list of channels. This also halves scan time, from 10 seconds down to less than 5 when using world regulatory. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Reported-by: Simon Farnsworth Tested-By: Simon Farnsworth Signed-off-by: John W. Linville commit d5522e039586fdf72493225a88b944f726b69671 Author: Johannes Berg Date: Mon Mar 30 13:23:35 2009 +0200 mac80211: move ieee80211_enable_ht function to mlme.c It really belongs into that file since it is only relevant for managed mode. Move 1:1, not even whitespace changes, but make it static and remove from header file. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5c38ef06e005705ef87b7a77752c183bacb94cc Author: Sujith Date: Mon Mar 30 15:28:57 2009 +0530 ath9k: Fix bug in determining HT40 mode This patch fixes a bug in checking for HT40 mode. The STA's mode can be determined from the cached HT capabilities, use that and remove the redundant variable 'rc_phy_mode'. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c6483cfe7147534719197c03a99848f49e004308 Author: Sujith Date: Mon Mar 30 15:28:56 2009 +0530 ath9k: Determine number of streams from HT capabilities The number of streams supported by a STA can be determined directly from the HT capabilities. Remove the redundant variable storing the stream cap. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 063d8be37d6f5818976a1185db4af55c5a5ae809 Author: Sujith Date: Mon Mar 30 15:28:49 2009 +0530 ath9k: Clean Interrupt handling routine This patch cleans up the ISR, removing a unnecessary do..while loop, and waking up the chip before getting the pending interrupts. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 87792efc7d20a21844eb7f4247e7b9027e783ec0 Author: Sujith Date: Mon Mar 30 15:28:48 2009 +0530 ath9k: Trivial fix to handle AMPDU params properly Handle aggregation params only when aggregation is supported. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1ffb0610be915650cff44c69dc6728215eae08c0 Author: Sujith Date: Mon Mar 30 15:28:46 2009 +0530 ath9k: Initialize values when setting up the queue parameters Also fix a small typo. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 797fe5cbefdb91f796502677e3a6623262eb9fcd Author: Sujith Date: Mon Mar 30 15:28:45 2009 +0530 ath9k: Remove the useless do..while loops These are unnecessary constructs in a function. This patch removes these from both RX and TX init routines. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 4658b985170d9d0c88304d2d4459938b600f8c0b Author: Sujith Date: Mon Mar 30 15:28:43 2009 +0530 ath9k: Remove TIM from the interrupt mask We never handle TIM, TIM_TIMER is used instead. Remove this and the unnecessary swBeaconProcess variable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7dd58748592db1e5a77cfbddb8beffcfdb0242fe Author: Sujith Date: Mon Mar 30 15:28:42 2009 +0530 ath9k: Check for root debugfs file Creation of the root debugfs file could have failed for some reason, check properly before proceeding in this case. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5cc93992cc4cf12ddfe63c8a5be2d509e6678e99 Author: Sujith Date: Mon Mar 30 15:28:41 2009 +0530 ath9k: Remove unused structures struct aggr_rifs_param and ath_tx_stat are not used anywhere. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ae459af12816b507aed3fcb2b9fc933c212ea12e Author: Sujith Date: Mon Mar 30 15:28:40 2009 +0530 ath9k: Remove a couple of unused variables in descriptor handling Signed-off-by: Sujith Signed-off-by: John W. Linville commit a119cc492fc720de7fcaf7c1b9394d6c025d276d Author: Sujith Date: Mon Mar 30 15:28:38 2009 +0530 ath9k: Cleanup buffer status handling Using a u32 to store a single flag is overkill. Use a bool to store whether the buffer is stale or not. Also, use u8 instead of u32 to store the buffer type. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a22be22ab8fe571cce88d0d30b49f297a563c4a7 Author: Sujith Date: Mon Mar 30 15:28:36 2009 +0530 ath9k: Avoid unneeded casts Change the void pointer to struct sk_buff and access bf_mpdu directly, removing all casts in the process. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ef1f168b6bc82b0b157c568e764b75961867970 Author: Sujith Date: Mon Mar 30 15:28:35 2009 +0530 ath9k: Remove redundant variable for Interrupt Mitigation The state is already stored in ath9k_ops_config, so remove the duplicate variable in ath_hw. Signed-off-by: Sujith Signed-off-by: John W. Linville commit eef7a57430c83b0419ba943bb1650ed5c349d454 Author: Sujith Date: Mon Mar 30 15:28:28 2009 +0530 ath9k: Change return value of ath9k_hw_fill_cap_info This routine always return true, checking for false in the return value is invalid. Fix this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d8baa9392666d1c50ef42e9f6fbbb0cf536327b9 Author: Sujith Date: Mon Mar 30 15:28:25 2009 +0530 ath9k: Cleanup debug messages Clean debug messages to use appropriate levels, remove useless messages, and trim the number of debug levels. Signed-off-by: John W. Linville commit 6ed6a05e5c8061cdcd69a418c90c5f11979ce650 Author: Sujith Date: Mon Mar 30 15:28:24 2009 +0530 ath9k: Remove redundant chainmask check We get the valid chainmasks on HW attach, checking it again during reset is redundant. This patch removes the check. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bdbdf46daa6dccb472f56559854477faddc44de9 Author: Sujith Date: Mon Mar 30 15:28:22 2009 +0530 ath9k: Remove a few unused flags This patch removes unused HW capability flags and HW operation variables, and a chainmask flag that we don't use anywhere. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 8782b41d13c8e5f9a201477d3c15edf9fe7c372c Author: Vivek Natarajan Date: Mon Mar 30 14:17:00 2009 +0530 ath9k: No need to abort Rx path when autosleep is enabled. For chipsets supporting autosleep feature, there is no need to abort Rx engine since they are capable of automatically going back to sleep after receiving a packet. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 616de35da94df8748771a014ef898360d5f4d0c8 Author: Michael Buesch Date: Sun Mar 29 13:19:31 2009 +0200 b43: Do not "select" HW_RANDOM Auto-depend on HW_RANDOM, rather than "select"ing it. This way the user has the choice to enable or disable HWRNG support. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a57e2e84b65d1b89c4b1effeceb27b181226b950 Author: Ivo van Doorn Date: Sat Mar 28 20:51:41 2009 +0100 rt2x00: Fix Sparse warning rt2x00link_reset_qual() is not declared in a header, and is only internally used within rt2x00link.c. It should be declared as static. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 440ddadaee6d0d5e8a7ee53ac913f78a8e5570a1 Author: Ivo van Doorn Date: Sat Mar 28 20:51:24 2009 +0100 rt2x00: Move Move pci_dev specific access to rt2x00pci pci_dev->irq and pci_name(pci_dev) access should be limited to rt2x00pci only. This is more generic and allows a rt2x00 pci driver to be controlled as PCI device but also as platform driver (needed for rt2800pci SoC support). Signed-off-by: Felix Fietkau Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 32c1628f153a5468cf48be5e5c04cd599ae9e01d Author: Christian Lamparter Date: Sat Mar 28 01:46:14 2009 +0100 ar9170: fix hang on stop This patch fixes a locking problem which freezes the network core. The deadlock goes as follows: - ar9170_op_stop - is called 1. change the state to IDLE 2. > take the MUTEX < 3. cancel_SYNC all pending work, which means "block until a work_struct's callback has terminated" => if filter_config_work was queued it tries to get the MUTEX, before checking the device state... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 807e37394b5a1dc23a2908b59f34edbbae67e9ea Author: Pavel Roskin Date: Fri Mar 27 17:47:27 2009 -0400 ath5k: fix scanning in AR2424 AR5K_PHY_PLL_40MHZ_5413 should not be ORed with AR5K_PHY_MODE_RAD_RF5112 for 5 GHz channels. The incorrect PLL value breaks scanning in the countries where 5 GHz channels are allowed. Signed-off-by: Pavel Roskin Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 295936c56672e82369c6d989e27d3a87495808e4 Author: Luis R. Rodriguez Date: Fri Mar 27 17:21:05 2009 -0400 ath9k: Update maintainers for ath9k This has been the case really, we just forgot to update it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3b8b0569fbef725597f05278ec58083321f6e9d Author: Jouni Malinen Date: Fri Mar 27 21:59:49 2009 +0200 nl80211: Add Michael MIC failure event Define a new nl80211 event, NL80211_CMD_MICHAEL_MIC_FAILURE, to be used to notify user space about locally detected Michael MIC failures. This matches with the MLME-MICHAELMICFAILURE.indication() primitive. Since we do not actually have TSC in the skb anymore when mac80211_ev_michael_mic_failure() is called, that function is changed to take in the TSC as an optional parameter instead of as a requirement to include the TSC after the hdr field (which we did not really follow). For now, TSC is not included in the events from mac80211, but it could be added at some point. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 53b46b8444f600cc1744521ea096ea0c5d494dd0 Author: Jouni Malinen Date: Fri Mar 27 20:53:56 2009 +0200 nl80211: Generate deauth/disassoc event for locally generated frames Previously, nl80211 mlme events were generated only for received deauthentication and disassociation frames. We need to do the same for locally generated ones in order to let applications know that we disconnected (e.g., when AP does not reply to a probe). Rename the nl80211 and cfg80211 functions (s/rx_//) to make it clearer that they are used for both received and locally generated frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1778092e1739155acec35a3bccee2fb8a1ae4e91 Author: Jouni Malinen Date: Fri Mar 27 20:52:47 2009 +0200 nl80211: Require auth type for NL80211_CMD_AUTHENTICATE NL80211_ATTR_AUTH_TYPE is a required parameter for NL80211_CMD_AUTHENTICATE. We are currently (by chance) defaulting to open system authentication if the attribute is not specified. It is better to just reject the invalid command. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c0ed418977edf60f1df9933e1ccd48920a28eb66 Author: Huang Weiyi Date: Fri Mar 27 22:21:36 2009 +0800 nl80211: remove duplicated #include Remove duplicated #include in net/wireless/core.h. Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit 07f62d01c1f476a3b328a44faafdfd103a4dedc3 Author: Huang Weiyi Date: Fri Mar 27 22:20:27 2009 +0800 cfg80211: remove duplicated #include Remove duplicated #include in include/net/cfg80211.h. Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit fd7fbb17bec7b055fafec4d0ae3bfb4ed60cad8b Author: Johannes Berg Date: Fri Mar 27 14:16:44 2009 +0100 rfkill-input: remove unused code There's a lot of rfkill-input code that cannot ever be compiled and is useless until somebody needs and tests it -- therefore remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 621cac85297de5ba655e3430b007dd2e0da91da6 Author: Johannes Berg Date: Fri Mar 27 14:14:31 2009 +0100 rfkill: remove user_claim stuff Almost all drivers do not support user_claim, so remove it completely and always report -EOPNOTSUPP to userspace. Since userspace cannot really drive rfkill _anyway_ (due to the odd restrictions imposed by the documentation) having this code is just pointless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1c6b14b22af0f85d05a70405dc3fba5de840c7b Author: Johannes Berg Date: Mon Mar 30 11:32:46 2009 +0200 rfkill: remove deprecated state constants I only did superficial review, but these constants are stupid to have and without proper warnings nobody will review the code anyway, no amount of shouting will help. Also fix wimax to use correct states. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f4a11bb0c2d5968ea35f95bdbabdd453862f202a Author: Johannes Berg Date: Fri Mar 27 12:40:28 2009 +0100 nl80211: validate some input better This patch changes nl80211 to: * validate that any IE input is a valid IE (stream) * move some validation code before locking * require that a reason code is given for both deauth/disassoc Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b0741a1a2b00d9b4d88ba60016c88e42f176e4d6 Author: Vasanthakumar Thiagarajan Date: Fri Mar 27 13:08:45 2009 +0530 mac80211: Don't access managed mode bits in non-managed mode This fixes a stupid bug introduced in 25f85c31d4f.. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9f201a87831af9458df1eda65941c955f2da87ed Author: Max Filippov Date: Fri Mar 27 07:50:53 2009 +0300 p54spi: compensate firmware alignment bug in p54spi_rx Firmware may insert up to 4 padding bytes after the lmac header, but it does not amend the size of SPI data transfer. Such packets has correct data size in header, thus referencing past the end of allocated skb. Put extra 4 bytes to the end of the received skb to compensate for this case. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 488829f1b141858944a24fd793220fa1d52cd9a6 Author: Abhijeet Kolekar Date: Thu Mar 26 10:14:10 2009 -0700 iwl3945: use iwl_mac_conf_tx 3945 now uses iwl_mac_conf_tx. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6da3a13e4fcab0ff58592087d28bd283caf23d88 Author: Wey-Yi Guy Date: Thu Mar 26 10:14:08 2009 -0700 iwlwifi: merge and better support of suspend/resume for iwlagn and iwl3945 With mac80211's help to call stop() and start() in mac80211 suspend/resume function, both iwlagn and iwl3945 no longer calling stop() and start(); remove un-necessary STATUS_IN_SUSPEND bit from both header files and functions, Move apm_ops.stop() function into pci_suspend() to ensure DMA is stopped before go into suspend mode. iwl3945 has the similar suspend/resume function as iwlagn, so move both functions to iwlcore to be shared by both drivers. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4f5cab969bdbec1ab0c5b690282372b4978123ac Author: Max Filippov Date: Thu Mar 26 06:38:25 2009 +0300 p54spi: fix p54spi_tx_frame DMA transfer initiation and skb cleanup p54spi_tx_frame wasn't waiting for HOST_ALLOWED in SPI_ADRS_DMA_WRITE_CTRL. This resulted in frequent 'WR_READY timeout' on beacon resubmission. Also don't free skb on error path, as it gets freed on p54spi_wq_tx. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 684d6b360222f31b6b9be9a63aa5c6ed5674c890 Author: Bing Zhao Date: Wed Mar 25 09:51:16 2009 -0700 libertas: support mesh for various firmware versions CMD_MESH_CONFIG command ID and a couple of structure members in TxPD, RxPD have been changed in firmware version 10.x.y.z and newer. Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5e3af1d2d3e6c0011b4c22514d39c73dcbc6674f Author: Max Filippov Date: Wed Mar 25 13:45:01 2009 +0100 p54spi: fix p54spi_upload_firmware Instead of firmware itself p54_upload_firmware was sending to the device content of struct firmware and the following random garbage. Notice '&' before priv->firmware->data at p54spi_spi_write. But simple removing of '&' sign triggered BUG_ON at dma_cache_maint. Thus kmemdup - kfree workaround. Signed-off-by: Max Filippov Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f74d0f5cacb7023422098dd5c98e3ce06787ba56 Author: Max Filippov Date: Wed Mar 25 08:30:15 2009 +0300 p54spi: mask value read from SPI_ADRS_DMA_WRITE_CTRL in p54spi_wait_bit Mask value read from SPI_ADRS_DMA_WRITE_CTRL in p54spi_wait_bit. Without this, 'fw_upload not allowed to DMA write' is observed at both N800 and N810. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 291ce18ceb84aca79368369885eec2d329ae16c5 Author: Mark Brown Date: Wed Apr 22 21:36:14 2009 +0100 ASoC: Implement WM8903 digital sidetone support Signed-off-by: Mark Brown commit 727fb909e541ebd09d5b552afef02a147978c151 Author: Mark Brown Date: Wed Apr 22 21:06:14 2009 +0100 ASoC: Remove redundant rate constraint for WM8903 This is now handled by symmetric_rates. Signed-off-by: Mark Brown commit d7d5c5476a12333a33b7a14ebb10eccc729c01cb Author: Mark Brown Date: Wed Apr 22 21:03:50 2009 +0100 ASoC: Actively manage the DC servo for WM8903 Save a little extra power by enabling the DC servo offset correction for the output channels only when the relevant channels are enabled. Signed-off-by: Mark Brown commit 4dbfe8097157fde1f8054f48f991ea45833852cd Author: Mark Brown Date: Wed Apr 22 20:32:40 2009 +0100 ASoC: Optimise configuration of WM8903 DC servo Modify the default startup sequence in the chip to set the DC servo dither level for optimal performance. Signed-off-by: Mark Brown commit c2aef4ffd24dab5c8e94c66e4042ad39d38bcf39 Author: Mark Brown Date: Wed Apr 22 20:04:44 2009 +0100 ASoC: Support CLK_DSP in WM8903 CLK_DSP provides a master clock for the DAC and ADC related functionality on the device. Signed-off-by: Mark Brown commit 42768a12822c3a0a6d7db69445281db975938294 Author: Mark Brown Date: Wed Apr 22 18:39:39 2009 +0100 ASoC: Use DAPM supply widget for WM8903 charge pump Signed-off-by: Mark Brown commit 24fc484ab2291d242d1d6bfb5ca5b781061a8578 Merge: 2ecf0a5 83cff83 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 22 20:38:45 2009 +0200 Merge branch 'for-linus' into for-next commit 246d0a17f5e09af0794960164269fc8988a8811c Author: Mark Brown Date: Wed Apr 22 18:24:55 2009 +0100 ASoC: Add power supply widget to DAPM Many modern CODECs have shared resources on chip which must be enabled for portions of the chip to work but which can be disabled at other times in order to achieve power savings. Examples of such resources include power supplies and some internal clocks. Since these widgets are dependencies for the audio path but do not carry audio signals they require slightly different handling to most widgets - they do not contribute to the audio path and so should not be counted as either inputs or outputs during path walks. Cases where one supply provides a supply for another will require additional work. There is also room for more optimisation of the graph walking to avoid repeated checks for the same thing. Signed-off-by: Mark Brown commit 1b4246a1fc487370665bf6c55aac8eae379642c0 Author: Joonyoung Shim Date: Wed Apr 22 10:56:50 2009 +0900 ASoC: OMAP: Add checking to detect bufferless pcms Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT <--> codec). Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 6a74aa40907757ec98d8710ff66cd4cfe064e7d8 Author: Frederic Weisbecker Date: Wed Apr 22 00:41:09 2009 +0200 tracing/events: protect __get_str() The __get_str() macro is used in a code part then its content should be protected with parenthesis. [ Impact: make macro definition more robust ] Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 7e7ca9a22dbbc5c91763cd16923c7509918709b6 Author: Frederic Weisbecker Date: Sun Apr 19 04:54:49 2009 +0200 tracing/lock: provide lock_acquired event support for dynamic size string Now that we can support the dynamic sized string, make the lock tracing able to use it, making it safe against modules removal and consuming the right amount of memory needed for each lock name Changes in v2: adapt to the __ending_string() updates and the opening_string() removal. [ Impact: protect lock tracer against module removal ] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Steven Rostedt commit 9cbf117662e24c6d33245666804487f92c21b59d Author: Frederic Weisbecker Date: Sun Apr 19 04:51:29 2009 +0200 tracing/events: provide string with undefined size support This patch provides the support for dynamic size strings on event tracing. The key concept is to use a structure with an ending char array field of undefined size and use such ability to allocate the minimal size on the ring buffer to make one or more string entries fit inside, as opposite to a fixed length strings with upper bound. The strings themselves are represented using fields which have an offset value from the beginning of the entry. This patch provides three new macros: __string(item, src) This one declares a string to the structure inside TP_STRUCT__entry. You need to provide the name of the string field and the source that will be copied inside. This will also add the dynamic size of the string needed for the ring buffer entry allocation. A stack allocated structure is used to temporarily store the offset of each strings, avoiding double calls to strlen() on each event insertion. __get_str(field) This one will give you a pointer to the string you have created. This is an abstract helper to resolve the absolute address given the field name which is a relative address from the beginning of the trace_structure. __assign_str(dst, src) Use this macro to automatically perform the string copy from src to dst. src must be a variable to assign and dst is the name of a __string field. Example on how to use it: TRACE_EVENT(my_event, TP_PROTO(char *src1, char *src2), TP_ARGS(src1, src2), TP_STRUCT__entry( __string(str1, src1) __string(str2, src2) ), TP_fast_assign( __assign_str(str1, src1); __assign_str(str2, src2); ), TP_printk("%s %s", __get_str(src1), __get_str(src2)) ) Of course you can mix-up any __field or __array inside this TRACE_EVENT. The position of the __string or __assign_str doesn't matter. Changes in v2: Address the suggestion of Steven Rostedt: drop the opening_string() macro and redefine __ending_string() to get the size of the string to be copied instead of overwritting the whole ring buffer allocation. Changes in v3: Address other suggestions of Steven Rostedt and Peter Zijlstra with some changes: drop the __ending_string and the need to have only one string field. Use offsets instead of absolute addresses. [ Impact: allow more compact memory usage for string tracing ] Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan Cc: Peter Zijlstra commit ff166cb57a17124af75714a9c11f448f56f1a4a3 Author: Suresh Siddha Date: Mon Apr 20 13:02:30 2009 -0700 x86: x2apic, IR: remove reinit_intr_remapped_IO_APIC() When interrupt-remapping is enabled, we are relying on setup_IO_APIC_irqs() to configure remapped entries in the IO-APIC, which comes little bit later after enabling interrupt-remapping. Meanwhile, restoration of old io-apic entries after enabling interrupt-remapping will not make the interrupts through io-apic functional anyway. So remove the unnecessary reinit_intr_remapped_IO_APIC() step. The longer story: When interrupt-remapping is enabled, IO-APIC entries need to be setup in the re-mappable format (pointing to interrupt-remapping table entries setup by the OS). This remapping configuration is happening in the same place where we traditionally configure IO-APIC (i.e., in setup_IO_APIC_irqs()). So when we enable interrupt-remapping successfully, there is no need to restore old io-apic RTE entries before we actually do a complete configuration shortly in setup_IO_APIC_irqs(). Old IO-APIC RTE's may be in traditional format (non re-mappable) or in re-mappable format pointing to interrupt-remapping table entries setup by BIOS. Restoring both of these will not make IO-APIC functional. We have to rely on setup_IO_APIC_irqs() for proper configuration by OS. So I am removing this unnecessary and broken step. [ Impact: remove unnecessary/broken IO-APIC setup step ] Signed-off-by: Suresh Siddha Acked-by: Weidong Han Cc: dwmw2@infradead.org LKML-Reference: <20090420200450.552359000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 7a4f453b6d7379a7c380825949977c5a838aa012 Author: Li Zefan Date: Wed Apr 22 16:53:34 2009 +0800 tracing/events: make struct trace_entry->type to be int type struct trace_entry->type is unsigned char, while trace event's id is int type, thus for a event with id >= 256, it's entry->type is cast to (id % 256), and then we can't see the trace output of this event. # insmod trace-events-sample.ko # echo foo_bar > /mnt/tracing/set_event # cat /debug/tracing/events/trace-events-sample/foo_bar/id 256 # cat /mnt/tracing/trace_pipe <...>-3548 [001] 215.091142: Unknown type 0 <...>-3548 [001] 216.089207: Unknown type 0 <...>-3548 [001] 217.087271: Unknown type 0 <...>-3548 [001] 218.085332: Unknown type 0 [ Impact: fix output for trace events with id >= 256 ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <49EEDB0E.5070207@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 362b76edb78923face033e18e4ffc85df8db0f28 Author: Mateusz Mandera Date: Wed Apr 22 02:24:28 2009 -0700 8390p: Get rid of init_module/cleanup_module This trivial patch just "gets rid of" init_module and cleanup_module from drivers/net/8390p.c Signed-off-by: Mateusz Mandera Signed-off-by: David S. Miller commit 4cb9be7ab47820a1fa747569f5f035a5f628c91b Author: Jesse Brandeburg Date: Tue Apr 21 18:42:05 2009 +0000 e1000/e1000e/igb/ixgb: do not use netif_wake_queue un-necessarily It was pointed out that the Intel wired ethernet drivers do not need to wake the tx queue since netif_carrier_on/off will take care of the qdisc management in order to guarantee the correct handling of the transmit routine enable state. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf98a82633b97fb638fcee0fae3c0de54d1f7b05 Author: Alexander Beregalov Date: Tue Apr 21 18:12:11 2009 -0700 sa1100_ir: fix build breakage Fix simple typo. Caused by commit a1de966682551debbe690672e760487cc555c05f ("irda/sa1100_ir: convert to net_device_ops"). Reported-by: Stephen Rothwell Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 19bdc9d061bcb71efd2b53083d96b59bbe1a1751 Author: Magnus Damm Date: Fri Apr 17 05:26:31 2009 +0000 clocksource: sh_cmt clocksource support Add clocksource support to the sh_cmt driver. With this in place we can do tickless with a single CMT channel. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 99ce567ba912109c78762246c964327f3f81f27d Merge: 8fb2bae ccc5ff9 Author: Paul Mundt Date: Wed Apr 22 09:27:47 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 3b1db01990f0e533d1ed548dc1796eb84beddc20 Merge: dfed0ef 5bd3729 Author: Takashi Iwai Date: Tue Apr 21 18:37:53 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d Author: Takashi Iwai Date: Tue Apr 21 18:33:12 2009 +0200 ALSA: hda - Fix a typo in debug print for realtek auto-detection The NID and ASS numbers were swapped... Signed-off-by: Takashi Iwai commit 3554228d4289098a8fe5cfd87512ec32a19bbe5a Author: Steven Rostedt Date: Tue Apr 21 09:41:26 2009 -0400 ring-buffer: only warn on wrap if buffer is bigger than two pages On boot up, to save memory, ftrace allocates the minimum buffer which is two pages. Ftrace also goes through a series of tests (when configured) on boot up. These tests can fill up a page within a single interrupt. The ring buffer also has a WARN_ON when it detects that the buffer was completely filled within a single commit (other commits are allowed to be nested). Combine the small buffer on start up, with the tests that can fill more than a single page within an interrupt, this can trigger the WARN_ON. This patch makes the WARN_ON only happen when the ring buffer consists of more than two pages. [ Impact: prevent false WARN_ON in ftrace startup tests ] Reported-by: Ingo Molnar LKML-Reference: <20090421094616.GA14561@elte.hu> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6f26c9a7555e5bcca3560919db9b852015077dae Author: Michael S. Tsirkin Date: Mon Apr 20 01:26:11 2009 +0000 tun: fix tun_chr_aio_write so that aio works aio_write gets const struct iovec * but tun_chr_aio_write casts this to struct iovec * and modifies the iovec. As a result, attempts to use io_submit to send packets to a tun device fail with weird errors such as EINVAL. Since tun is the only user of skb_copy_datagram_from_iovec, we can fix this simply by changing the later so that it does not touch the iovec passed to it. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 43b39dcdbdf823a1c0ac1f2aa2d76bd2f210adc8 Author: Michael S. Tsirkin Date: Mon Apr 20 01:25:59 2009 +0000 tun: fix tun_chr_aio_read so that aio works aio_read gets const struct iovec * but tun_chr_aio_read casts this to struct iovec * and modifies the iovec. As a result, attempts to use io_submit to get packets from a tun device fail with weird errors such as EINVAL. Fix by using the new skb_copy_datagram_const_iovec. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 0a1ec07a67bd8b0033dace237249654d015efa21 Author: Michael S. Tsirkin Date: Mon Apr 20 01:25:46 2009 +0000 net: skb_copy_datagram_const_iovec() There's an skb_copy_datagram_iovec() to copy out of a paged skb, but it modifies the iovec, and does not support starting at an offset in the destination. We want both in tun.c, so let's add the function. It's a carbon copy of skb_copy_datagram_iovec() with enough changes to be annoying. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit a3b48c88f2d5a34c0e25aec0a3dab8069e5a9a72 Author: Takashi Iwai Date: Tue Apr 21 13:37:29 2009 +0200 ALSA: hda - minor optimization in hda_set_power_state() Check the target power-state before checking EAPD exception to reduce unneeded verb executions. Signed-off-by: Takashi Iwai commit f66578a7637b87810cbb9041c4e3a77fd2fa4706 Author: Li Zefan Date: Tue Apr 21 17:12:11 2009 +0800 tracing/filters: allow user-input to be integer-like string Suppose we would like to trace all tasks named '123', but this will fail: # echo 'parent_comm == 123' > events/sched/sched_process_fork/filter bash: echo: write error: Invalid argument Don't guess the type of the filter pred in filter_parse(), but instead we check it in __filter_add_pred(). [ Impact: extend allowed filter field string values ] Signed-off-by: Li Zefan Cc: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49ED8DEB.6000700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a Author: Li Zefan Date: Tue Apr 21 17:11:46 2009 +0800 tracing/filters: don't remove old filters when failed to write subsys->filter If writing subsys->filter returns EINVAL or ENOSPC, the original filters in subsys/ and subsys/events/ will be removed. This is definitely wrong. [ Impact: fix filter setting semantics on error condition ] Signed-off-by: Li Zefan Cc: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49ED8DD2.2070700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b97bedcdedb4ae95b2128a4770dfc160e113b174 Merge: 8589407 586be3f Author: Takashi Iwai Date: Tue Apr 21 11:11:54 2009 +0200 Merge branch 'topic/hda-cache' into topic/hda commit 586be3fcf97eec22fbc0ef6d67e823706aea7167 Author: Takashi Iwai Date: Tue Mar 24 07:43:24 2009 +0100 ALSA: hda - Add debug prints for Realtek auto-init Added a couple of debug prints to show the checked id numbers in alc_subsystem_id(). Signed-off-by: Takashi Iwai commit b613291fb21a2d74eb8323d97fe9aa5d281b306c Author: Takashi Iwai Date: Tue Mar 24 07:36:09 2009 +0100 ALSA: hda - Retry codec-verbs at errors The current error-recovery scheme for the codec communication errors doesn't work always well. Especially falling back to the single-command mode causes the fatal problem on many systems. In this patch, the problematic verb is re-issued again after the error (even with polling mode) instead of the single-cmd mode. The single-cmd mode will be used only when specified via the command option explicitly, mainly just for testing. Signed-off-by: Takashi Iwai commit 92c7c8a7d6e03eb4c0a3c5888e35dbc45f24744c Author: Takashi Iwai Date: Tue Mar 24 07:32:14 2009 +0100 ALSA: hda - Cache PCM and STREAM parameters queries Cache quries for PCM and STREAM parameters as well as ampcap and pincap sharing the hash table. This will reduce the superfluous access of the same codec verbs. Signed-off-by: Takashi Iwai commit 0cededf3ffbb775c3716aa1d246338fdc24b1259 Author: Joakim Tjernlund Date: Fri Apr 17 12:03:48 2009 +0000 ucc_geth: Move freeing of TX packets to NAPI context This will make the system alot more responsive while ping flooding the ucc_geth ethernet interface. Also set NAPI weight to 64 as this is a common value. Signed-off-by: Joakim Tjernlund Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit d035fbccc4edd2bd69d9314faf03ba832b85a1d7 Author: Jianjun Kong Date: Mon Apr 20 04:05:34 2009 +0000 rtl8139: unify the struct's name unify the struct's name of "struct rtl8139_private *np" to "struct rtl8139_private *tp" most of them like this: struct rtl8139_private *tp = netdev_priv(dev); Signed-off-by: Amos Kong Signed-off-by: David S. Miller commit b1b67dd45a6b629eb41553856805aaa1614fbb83 Author: Patrick McHardy Date: Mon Apr 20 04:49:28 2009 +0000 net: factor out ethtool invocation of vlan/macvlan drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4510d7cb8b4e7d389652b8a4f89fad469a5ecc92 Author: Peter Holik Date: Sat Apr 18 07:24:21 2009 +0000 usb driver for intellon int51x1 based PLC like devolo dlan duo usb driver for intellon int51x1 based PLC like devolo dlan duo with improvements suggested by the guys of the mailinglist: - name and prefix with int51x1 (Florian Fainelli) - use conversion functions cpu_to_le16 / le16_to_cpu (Oliver Neukum) - use pskb_may_pull instead of skb->len (Ilpo Järvinen) - better code in tx_fixup (Ilpo Järvinen) - use gotos for error handling (Ilpo Järvinen) - better description (Jon Smirl) Signed-off-by: Peter Holik Signed-off-by: David S. Miller commit 03ad032bb78b2732b607ed198e951240e1d21e59 Author: Peter Holik Date: Sat Apr 18 07:24:17 2009 +0000 export usbnet_get_ethernet_addr from usbnet and fixed cdc_ether.c because of using the same function get_ethernet_addr as cdc_ether.c i export usbnet_get_ethernet_addr from usbnet and fixed cdc_ether (suggested by Oliver Neukum). Signed-off-by: Peter Holik Signed-off-by: David S. Miller commit 89388913f2c88a2cd15d24abab571b17a2596127 Author: Pekka Enberg Date: Tue Apr 21 11:39:27 2009 +0300 x86: unify noexec handling This patch unifies noexec handling on 32-bit and 64-bit. [ Impact: cleanup ] Signed-off-by: Pekka Enberg [ mingo@elte.hu: build fix ] LKML-Reference: <1240303167.771.69.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 8ecee4620e76aae418bfa0e8cc830e92cb559bbb Merge: 6424fb3 a939b96 Author: Ingo Molnar Date: Tue Apr 21 10:46:39 2009 +0200 Merge branch 'linus' into x86/mm Merge reason: refresh the topic: there's been 290 non-merges commits upstream to arch/x86 alone. Signed-off-by: Ingo Molnar commit bb9e63e27117b469a151c61fb0045a8ec4cced5d Author: Matt Carlson Date: Mon Apr 20 07:13:31 2009 +0000 tg3: Update version to 3.99 This patch updates the tg3 version to 3.99. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit daba2a631d2b7831b6a021b36d61314a9153526e Author: Matt Carlson Date: Mon Apr 20 06:58:52 2009 +0000 tg3: Restore LAA sooner in shutdown sequence After a shutdown reset, the LAA needs to be restored before posting the post-reset signature in shared memory. If the LAA is not restored before then, the bootcode will assume the factory default MAC address and WOL will not work with the LAA. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9cf74ebb634fe79587cf9a1d5ff971391dd12e1b Author: Matt Carlson Date: Mon Apr 20 06:58:27 2009 +0000 tg3: Limit CLKREQ fix to A[01] of 57780 asic rev This patch restricts the CLKREQ bugfix to the A0 and A1 revisions of 57780 ASIC rev chips. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8d519ab2866c92f5d722085492a124f016f601aa Author: Matt Carlson Date: Mon Apr 20 06:58:01 2009 +0000 tg3: Allow 5761 WOL and LED fixes to 5761S too The 5761 WOL and LED fixes used the PCI device ID to as the activation key. The 5761S requires the same process. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 33466d938f43ab65312466ba5472b9c6ee200cce Author: Matt Carlson Date: Mon Apr 20 06:57:41 2009 +0000 tg3: Prevent send BD corruption On rare occasions, send BD corruptions can occur. This patch fixes the problem by increasing the L1 entry threshold to 4 milliseconds. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df259d8cba7d7880dc04d34c7a6e0ce15fbc9644 Author: Matt Carlson Date: Mon Apr 20 06:57:14 2009 +0000 tg3: Handle NVRAM absent cases Some 57780 ASIC revision parts do not have NVRAM. Code the driver so that it is tolerant of this configuration. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 624f8e5082efd0348ccf7e3d3f4bfc41efead26c Author: Matt Carlson Date: Mon Apr 20 06:55:01 2009 +0000 tg3: Allow screaming interrupt detection The tg3 driver's ISR is coded to accept interrupts as its own if the status block tag does not equal the last tag the driver has seen. The last_tag field is updated from tg3_poll. In a screaming interrupt situation from another device sharing tg3's IRQ, tg3_poll does not get a chance to be called, so the last_tag will always be out of sync with the status block tag. Consequently, the driver will continually declare the screaming interrupts as its own, thus thwarting the screaming interrupt detection logic. This patch solves the problem by creating a new last_irq_tag member and recording the status block tag in the ISR. The ISR then checks the last_irq_tag for interrupt ownership. Many thanks to John Marvin for the detailed bug report and analysis and Michael Chan for the bugfix. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Tested-by: John Marvin Signed-off-by: David S. Miller commit e5e9743bb7429f53c83ad69b432f7b661e74c3f0 Merge: a0f82f6 775d8d9 Author: David S. Miller Date: Tue Apr 21 01:32:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/core/dev.c commit 9d6c26e73bd248c286bb3597aaf788716e8fcceb Author: Suresh Siddha Date: Mon Apr 20 13:02:31 2009 -0700 x86: x2apic, IR: Make config X86_UV dependent on X86_X2APIC Instead of selecting X86_X2APIC, make config X86_UV dependent on X86_X2APIC. This will eliminate enabling CONFIG_X86_X2APIC with out enabling CONFIG_INTR_REMAP. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Acked-by: Jack Steiner Cc: dwmw2@infradead.org Cc: Suresh Siddha Cc: Weidong Han LKML-Reference: <20090420200450.694598000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 39d83a5d684a457046aa2a6dac60f105966e78e9 Author: Suresh Siddha Date: Mon Apr 20 13:02:29 2009 -0700 x86: x2apic, IR: Clean up panic() with nox2apic boot option Instead of panic() ignore the "nox2apic" boot option when BIOS has already enabled x2apic prior to OS handover. [ Impact: printk warning instead of panic() when BIOS has enabled x2apic already ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Weidong Han LKML-Reference: <20090420200450.425091000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 25629d810a52176758401184d9b437fbb7f79195 Author: Suresh Siddha Date: Mon Apr 20 13:02:28 2009 -0700 x86: x2apic, IR: Move eoi_ioapic_irq() into a CONFIG_INTR_REMAP section Address the following complier warning: arch/x86/kernel/apic/io_apic.c:2543: warning: `eoi_ioapic_irq' defined but not used By moving that function (and eoi_ioapic_irq()) into an existing #ifdef CONFIG_INTR_REMAP section of the code. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Weidong Han LKML-Reference: <20090420200450.271099000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar Cc: Weidong Han commit fc1edaf9e7cc4d4696f83dee495b8f158d01c4eb Author: Suresh Siddha Date: Mon Apr 20 13:02:27 2009 -0700 x86: x2apic, IR: Clean up X86_X2APIC and INTR_REMAP config checks Add x2apic_supported() to clean up CONFIG_X86_X2APIC checks. Fix CONFIG_INTR_REMAP checks. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Suresh Siddha Cc: Weidong Han LKML-Reference: <20090420200450.128993000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit ef9dfa4b1052af23a603de382d4665b2d1fccc61 Author: Takashi Iwai Date: Tue Apr 21 08:53:41 2009 +0200 ALSA: Remove deprecated include/sound/driver.h Signed-off-by: Takashi Iwai commit cd474f2d548af3c0eb932d9d47ec11483861aa6f Author: Takashi Iwai Date: Tue Apr 21 08:53:08 2009 +0200 ALSA: Remove deprecated snd_card_new() Signed-off-by: Takashi Iwai commit 6e29ec5701e9d44fa02b96c1c5c45f7516182b65 Author: Gautham R Shenoy Date: Tue Apr 21 08:40:49 2009 +0530 sched: Replace first_cpu() with cpumask_first() in ILB nomination code Stephen Rothwell reported this build warning: > kernel/sched.c: In function 'find_new_ilb': > kernel/sched.c:4355: warning: passing argument 1 of '__first_cpu' from incompatible pointer type > > Possibly caused by commit f711f6090a81cbd396b63de90f415d33f563af9b > ("sched: Nominate idle load balancer from a semi-idle package") from > the sched tree. Should this call to first_cpu be cpumask_first? For !(CONFIG_SCHED_MC || CONFIG_SCHED_SMT), find_new_ilb() nominates the Idle load balancer as the first cpu from the nohz.cpu_mask. This code uses the older API first_cpu(). Replace it with cpumask_first(), which is the correct API here. [ Impact: cleanup, address build warning ] Reported-by: Stephen Rothwell Signed-off-by: Gautham R Shenoy Cc: Rusty Russell LKML-Reference: <20090421031049.GA4140@in.ibm.com> Signed-off-by: Ingo Molnar commit 858940773ad5f9dfe32ddb34fa1c90638c5a39df Merge: 7670dc4 622e84c Author: Takashi Iwai Date: Tue Apr 21 07:41:12 2009 +0200 Merge branch 'fix/hda' into topic/hda commit e912a30184b2d7fb3ab881120f2dc3e09bb59e1d Author: Dmitry Torokhov Date: Mon Apr 20 21:14:23 2009 -0700 Input: keyboard - remove warning about raw mode not supported This warning made sense when legacy keyboard driver was preferred driver in X, but now that evdev driver is the default we can remove the warning. Signed-off-by: Dmitry Torokhov commit 2ecf0a57c60dcb588f310d94412118e15c510532 Author: Tejun Heo Date: Tue Apr 21 12:16:56 2009 +0900 ide-dma: don't reset request fields on dma_timeout_retry() Impact: drop unnecessary code Now that everything uses bio and block operations, there is no need to reset request fields manually when retrying a request. Every field is guaranteed to be always valid. Drop unnecessary request field resetting from ide_dma_timeout_retry(). Signed-off-by: Tejun Heo commit cb4764a6dbffd9bb3cf759421ae82384071a933d Author: Steven Rostedt Date: Mon Apr 20 18:16:44 2009 -0400 tracing: use nowakeup version of commit for function event trace tests The startup tests for the event tracer also runs with the function tracer enabled. The "wakeup" version of the trace commit was used which can grab spinlocks. If a task was preempted by an NMI that called a function being traced, it could deadlock due to the function tracer trying to grab the same lock. Thanks to Frederic Weisbecker for pointing out where the bug was. Reported-by: Ingo Molnar Reported-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit aa18efb2a2f07e1cf062039848e9d369bb358724 Author: Steven Rostedt Date: Mon Apr 20 16:16:11 2009 -0400 tracing: use recursive counter over irq level Althought using the irq level (hardirq_count, softirq_count and in_nmi) was nice to detect bad recursion right away, but since the counters are not atomically updated with respect to the interrupts, the function tracer might trigger the test from an interrupt handler before the hardirq_count is updated. This will trigger a false warning. This patch converts the recursive detection to a simple counter. If the depth is greater than 16 then the recursive detection will trigger. 16 is more than enough for any nested interrupts. [ Impact: fix false positive trace recursion detection ] Signed-off-by: Steven Rostedt commit ff743345bf7685a207868048a70e23164c4785e5 Author: Peter Zijlstra Date: Fri Mar 13 12:21:26 2009 +0100 sched: remove extra call overhead for schedule() Lai Jiangshan's patch reminded me that I promised Nick to remove that extra call overhead in schedule(). Signed-off-by: Peter Zijlstra LKML-Reference: <20090313112300.927414207@chello.nl> Signed-off-by: Ingo Molnar commit f1f9b3b1795da8625e0e6096813c9d18d4a344ce Author: Ingo Molnar Date: Mon Apr 20 20:38:21 2009 +0200 perfcounters, sched: remove __task_delta_exec() This function was left orphan by the latest round of sw-counter cleanups. [ Impact: remove unused kernel function ] Signed-off-by: Ingo Molnar commit e395898e98119085f666febbc7b631dd69bc637f Author: Steven Rostedt Date: Mon Apr 20 13:32:44 2009 -0400 tracing: remove recursive test from ring_buffer_event_discard The ring_buffer_event_discard is not tied to ring_buffer_lock_reserve. It can be called inside or outside the reserve/commit. Even if it is called inside the reserve/commit the commit part must also be called. Only ring_buffer_discard_commit can be used as a replacement for ring_buffer_unlock_commit. This patch removes the trace_recursive_unlock from ring_buffer_event_discard since it would be the wrong place to do so. [Impact: prevent breakage in trace recursive testing ] Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 17487bfeb6cfb05920e6a9d5a54f345f2917b4e7 Author: Steven Rostedt Date: Mon Apr 20 13:24:21 2009 -0400 tracing: fix recursive test level calculation The recursive tests to detect same level recursion in the ring buffers did not account for the hard/softirq_counts to be shifted. Thus the numbers could be larger than then mask to be tested. This patch includes the shift for the calculation of the irq depth. [ Impact: stop false positives in trace recursion detection ] Signed-off-by: Steven Rostedt commit b75576d76d4be50196773f36709cb7a4f5ac2ab7 Author: Mark Brown Date: Mon Apr 20 17:56:13 2009 +0100 ASoC: Make the DAPM power check an operation on the widget Rather than having switch statements at point of use make the DAPM power check a member of the widget structure and set it when we instantiate the widget. Signed-off-by: Mark Brown commit 6ea31b9f0a0307e16656af27fcda3160e2a64a1b Author: Mark Brown Date: Mon Apr 20 17:15:41 2009 +0100 ASoC: Factor out DAPM power checks for DACs and ADCs This also switches us to using a switch statement for the widget type in dapm_power_widget(). Signed-off-by: Mark Brown commit cd0f2d4736ae8efabc60e54ecc8f677d0eddce02 Author: Mark Brown Date: Mon Apr 20 16:56:59 2009 +0100 ASoC: Factor out generic widget power checks This will form a basis for further power check refactoring: the overall goal of these changes is to allow us to check power separately to applying it, allowing improvements in the power sequencing algorithms. Signed-off-by: Mark Brown commit 23de29de2d8b227943be191d59fb6d983996d55e Author: Steven Rostedt Date: Mon Apr 20 12:59:29 2009 -0400 tracing: remove dangling semicolon Due to a cut and paste error, the trace_seq_putc had a semicolon after the prototype but before the stub function when tracing is disabled. [Impact: fix compile error ] Signed-off-by: Steven Rostedt commit 28d20e2d6e94434827e11c310788b87204b84559 Author: Steven Rostedt Date: Mon Apr 20 12:12:44 2009 -0400 tracing/events: call the correct event trace selftest init function The late_initcall calls a helper function instead of the proper init event selftest function. This update may have been lost due to conflicting merges. [ Impact: fix compiler warning and call extended event trace self tests ] Signed-off-by: Steven Rostedt commit a7abe97fd8e7a6ccabba5a04a9f17be9211d418c Author: Steven Rostedt Date: Mon Apr 20 10:59:34 2009 -0400 tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING Currently we have two configs: EVENT_TRACING and EVENT_TRACER. All tracers enable EVENT_TRACING. The EVENT_TRACER is only a convenience to enable the EVENT_TRACING when no other tracers are enabled. The names EVENT_TRACER and EVENT_TRACING are too similar and confusing. This patch renames EVENT_TRACER to ENABLE_EVENT_TRACING to be more appropriate to what it actually does, as well as add a comment in the help menu to explain the option's purpose. [ Impact: rename config option to reduce confusion ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 125e702b09a28a502e145fb434678ee27720fc48 Author: Ingo Molnar Date: Mon Apr 20 16:13:46 2009 +0200 perf_counter tools: fix 'make install' Remove Git leftovers from this area. Signed-off-by: Ingo Molnar commit 6142fdd968c76a0f2ee753c39bd5be8d1bb4ef04 Author: Ingo Molnar Date: Mon Apr 20 16:05:55 2009 +0200 perf_counter tools: add 'perf help' Signed-off-by: Ingo Molnar commit cc13a5913797365b683212f5fca5fb04bb3582eb Author: Ingo Molnar Date: Mon Apr 20 16:01:30 2009 +0200 perf_counter tools: fix --version Hook up the 'perf version' built-in command. Signed-off-by: Ingo Molnar commit e33e0a43736307512422e41aee6e24d5a8c39181 Author: Ingo Molnar Date: Mon Apr 20 15:58:01 2009 +0200 perf_counter tools: add 'perf record' command Move perf-record.c into the perf suite of commands. Signed-off-by: Ingo Molnar commit 1d8c8b209e9351a7de1307d7b9b6df4222b8d742 Author: Ingo Molnar Date: Mon Apr 20 15:52:29 2009 +0200 perf_counter tools: add help texts Add Documentation/perf-stat.txt and Documentation/perf-top.txt. The template that was used for it: Documentation/git-add.txt from Git. Fix up small bugs to make these help texts show up both in the 'perf' common-command summary output screen, and on the individual help screens. Signed-off-by: Ingo Molnar commit ddcacfa0febff6454dba6cea1931f3020a9f6c24 Author: Ingo Molnar Date: Mon Apr 20 15:37:32 2009 +0200 perf_counter tools: separate kerneltop into 'perf top' and 'perf stat' Lets use the Git framework of built-in commands. Signed-off-by: Ingo Molnar commit 6f06ccbc86f8a02aa32271263249657ce484eb25 Author: Ingo Molnar Date: Mon Apr 20 15:22:22 2009 +0200 perf_counter tools: clean up after introduction of the Git command framework Signed-off-by: Ingo Molnar commit 0780060124011b94af55830939c86cc0916be0f5 Author: Ingo Molnar Date: Mon Apr 20 15:00:56 2009 +0200 perf_counter tools: add in basic glue from Git First very raw version at having a central 'perf' command and a list of subcommands: perf top perf stat perf record perf report ... This is done by picking up Git's collection of utility functions, and hacking them to build fine in this new environment. Signed-off-by: Ingo Molnar commit d24e473e5b2ca86d1288b9416227ccc603313d0f Author: Ingo Molnar Date: Mon Apr 20 13:32:07 2009 +0200 perf_counter: copy in Git's top Makefile We'd like to have a similar user-space structure as Git has, for the perfcounter tools - so copy in Git's toplevel makefile as-is. We'll strip it down in subsequent commits to make it fit the perfcounters code. The Git version used: 66996ec: Sync with 1.6.2.4 Signed-off-by: Ingo Molnar commit 4ed9f0716e46bb9646f26e73f4a1b5b24db7947a Author: Steven Rostedt Date: Mon Apr 20 10:47:36 2009 -0400 tracing: create menuconfig for tracing infrastructure During testing we often use randconfig to test various kernels. The current configuration set up does not give an easy way to disable all tracing with a single config. The case where randconfig would test all tracing disabled is very unlikely. This patch adds a config option to enable or disable all tracing. It is hooked into the tracing menu just like other submenus are done. [ Impact: allow randconfig to easily produce all traces disabled ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 9ae5b8790037d05d32746f521af146c32089bfec Author: Steven Rostedt Date: Mon Apr 20 10:27:58 2009 -0400 tracing: change branch profiling to a choice selection This patch makes the branch profiling into a choice selection: None - no branch profiling likely/unlikely - only profile likely/unlikely branches all - profile all branches The all profiler will also enable the likely/unlikely branches. This does not change the way the profiler works or the dependencies between the profilers. What this patch does, is keep the branch profiling from being selected by an allyesconfig make. The branch profiler is very intrusive and it is known to break various architecture builds when selected as an allyesconfig. [ Impact: prevent branch profiler from being selected in allyesconfig ] Reported-by: Heiko Carstens Reported-by: Al Viro Reported-by: Stephen Rothwell Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit cf242007a1eb29dcf93d1cb34713ec9b3f4a0e1b Author: Paul Mundt Date: Mon Apr 20 21:53:33 2009 +0900 sh: pci: Rename pci-new.c to pci.c. pci-new.c is now in a state to replace the old pci.c, rename it accordingly. Signed-off-by: Paul Mundt commit 35bcfffd86aac933205fbf8401e3e7e4dde68264 Author: Paul Mundt Date: Mon Apr 20 21:51:19 2009 +0900 sh: pci: Roll pci-lib in to pci-new. Now that the pci-auto cruft is gone, pci-lib can go away. Roll it back in to pci-new.c where it originally split off from. Signed-off-by: Paul Mundt commit 805fcc88999162b361ef0b0ce25782ef65f147d7 Author: Paul Mundt Date: Mon Apr 20 21:46:42 2009 +0900 sh: pci: Kill off the last remnants of the now unused pci-auto code. Signed-off-by: Paul Mundt commit 2d5efc190eb415dbff79ffab4f8ea731ab0288a9 Author: Paul Mundt Date: Mon Apr 20 21:42:59 2009 +0900 sh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/. The se7751 was still doing the PCI fixups in its own board directory, so we move it over to arch/sh/drivers/pci/ with the rest of the board fixups. It has bitrotted significantly over the years, so will still likely need a bit of work to bring back up to date. Signed-off-by: Paul Mundt commit 951a681bda844491de8699b3bdc6c3899cbd4c9f Author: Paul Mundt Date: Mon Apr 20 21:34:36 2009 +0900 sh: pci: Convert dreamcast to new-style interface. Signed-off-by: Paul Mundt commit 37c8ac361efdbae969eff1a603bc39412d3e873f Author: Paul Mundt Date: Mon Apr 20 21:27:15 2009 +0900 sh: pci: Consolidate lboxre2 and r2d IRQ fixups. Signed-off-by: Paul Mundt commit 84972ec0c206b73ffb74e5114b574186ce6166b8 Author: Paul Mundt Date: Mon Apr 20 21:17:10 2009 +0900 sh: pci: Rename SH7751 platform ops files to fixups. None of these contain pci_ops, only IRQ routing bits, rename them accordingly. Signed-off-by: Paul Mundt commit 757e3c16f8bafa2a470aebf9b04671c5d4d18f49 Author: Paul Mundt Date: Mon Apr 20 21:11:07 2009 +0900 sh: pci: Rewrite SH7751 PCI support to follow SH7780. This follows the similar sort of scheme that the refactored SH7780 code uses, using a 64MB CS3 mapping to handle the window0 case, and simply discarding window1. This vastly simplifies the code, and allows most of the board-specific setup to go die. Signed-off-by: Paul Mundt commit 9b5b0c01598f9782690b09ce6c49f4ba116dde44 Merge: 7154b3e b08f7a6 Author: Mark Brown Date: Mon Apr 20 12:45:40 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 7154b3e80203ee91f9ba7d0a43d3daa05c49d9e9 Author: Joonyoung Shim Date: Mon Apr 20 19:21:35 2009 +0900 ASoC: TWL4030: Add support Voice DAI Add Voice DAI to support the PCM voice interface of the twl4030 codec. The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono TX or stereo TX. The PCM voice interface has two modes - PCM mode1 : This uses the normal FS polarity and the rising edge of the clock signal. - PCM mode2 : This uses the FS polarity inverted and the falling edge of the clock signal. If the system master clock is not 26MHz or the twl4030 codec mode is not option2, the voice PCM interface is not available. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a5b08047129f214af1899bd9088605c7adc21ed5 Author: Paul Mundt Date: Mon Apr 20 20:41:45 2009 +0900 sh: pci: Rename ops-cayman -> fixups-cayman. Now that ops-cayman.c only contains IRQ routing fixups, rename it. Signed-off-by: Paul Mundt commit 48e4237d96fdcb1237b63bcddb37771f97452eec Author: Paul Mundt Date: Mon Apr 20 20:40:48 2009 +0900 sh: pci: Convert the SH-5 code over to the new interface. Signed-off-by: Paul Mundt commit 3444f5ec49bc6cb901ffea38e085db1d76e1189c Author: Paul Mundt Date: Mon Apr 20 20:22:05 2009 +0900 sh: pci: Tidy up the dreamcast PCI support. Signed-off-by: Paul Mundt commit 0db38cea69fc478a5c25b3c915ec680cc5538783 Author: Paul Mundt Date: Mon Apr 20 19:54:47 2009 +0900 sh: pci: Kill off legacy ide quirks. These fixups seem to have bitrotted a bit since their introduction in the 2.4 days. As we never had much use for them in the first place, and nothing is using them any more, kill them off the rest of the way. Signed-off-by: Paul Mundt commit 0e75148108914062cb46ad3dc8f054a628018df7 Author: Paul Mundt Date: Mon Apr 20 19:48:48 2009 +0900 sh: pci: Consolidate pcibios_setup() in pci-lib. This wasn't really being used for anything useful, so just stub it in pci-lib. Signed-off-by: Paul Mundt commit c563bf0965c86cc6087b09c34ca063fe96d6deca Author: Paul Mundt Date: Mon Apr 20 19:39:57 2009 +0900 sh: pci: Kill off dead references to is_pci_ioaddr and friends. Some old boards are still using this in their I/O routines, kill it off. Signed-off-by: Paul Mundt commit d556fcc101c4b0d57ac9742ab806a6bfed78eac1 Author: Paul Mundt Date: Mon Apr 20 19:31:20 2009 +0900 sh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED. This isn't a real BAR, so prevent any attempts to move it, as we don't wish to encourage a bus luck by overzealous PCI initialization code. Signed-off-by: Paul Mundt commit bb3396477bf46c7cae6bd04b969580277957966e Author: Paul Mundt Date: Mon Apr 20 19:26:45 2009 +0900 sh: pci: Kill off superfluous lboxre2 pci fixups. This is a verbatim copy of the r2d one, use that instead. Signed-off-by: Paul Mundt commit 5ba7205fc49ff72e88784c94fb661f93e7ae7d36 Author: Paul Mundt Date: Mon Apr 20 19:00:32 2009 +0900 sh: pci: Kill off the now unused hose->io_base. Nothing is using this any more, so kill it off. Signed-off-by: Paul Mundt commit 3f8daeacd7ed7a502daf0998e2515cea4f467f21 Author: Paul Mundt Date: Mon Apr 20 18:53:41 2009 +0900 sh: pci: Consolidate the remaining common bits. This moves the remaining common bits in to pci-lib. Thereby reducing pci.c/pci-new.c to simple bus fixups and controller registration. As more platforms are moved over, the old code will disappear completely and the pci-new bits will be rolled in to pci-lib, eventually replacing pci.c completely. Signed-off-by: Paul Mundt commit 5160d3f782a5e0cdb3bdaa8a891a1fb9d9ab83ec Author: Paul Mundt Date: Mon Apr 20 18:47:21 2009 +0900 sh: pci: Consolidate bus<->resource mapping in pci-lib. Now that the io and mem offsets are tracked accordingly, the pci-new version of the bus<->resource mappers can be used generically. This moves them in to pci-lib. Signed-off-by: Paul Mundt commit 09cfeb133e3cac39b8b9a2cb1d8ab4f77e396248 Author: Paul Mundt Date: Mon Apr 20 18:42:00 2009 +0900 sh: pci: Track io and mem_offset per-channel. This implements a per-hose offset for I/O and mem resources. Signed-off-by: Paul Mundt commit e79066a659b893debe19010179d3f3f015d76d1c Author: Paul Mundt Date: Mon Apr 20 18:29:22 2009 +0900 sh: pci: New-style controller registration. This moves off of the board_pci_channels[] approach for bus registration and over to a cleaner register_pci_controller(), all derived from the MIPS code. Signed-off-by: Paul Mundt commit a0f82f64e26929776c58a5c93c2ecb38e3d82815 Author: Florian Westphal Date: Sun Apr 19 09:43:48 2009 +0000 syncookies: remove last_synq_overflow from struct tcp_sock last_synq_overflow eats 4 or 8 bytes in struct tcp_sock, even though it is only used when a listening sockets syn queue is full. We can (ab)use rx_opt.ts_recent_stamp to store the same information; it is not used otherwise as long as a socket is in listen state. Move linger2 around to avoid splitting struct mtu_probe across cacheline boundary on 32 bit arches. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 7eebb0b28f755e297d355a205bb04945b256db6b Author: Eric Dumazet Date: Fri Apr 17 22:03:10 2009 +0000 loopback: packet drops accounting We can in some situations drop packets in netif_rx() loopback driver does not report these (unlikely) drops to its stats, and incorrectly change packets/bytes counts. After this patch applied, "ifconfig lo" can reports these drops as in : # ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:692562900 errors:3228 dropped:3228 overruns:0 frame:0 TX packets:692562900 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2865674174 (2.6 GiB) TX bytes:2865674174 (2.6 GiB) I initialy chose to reflect those errors only in tx_dropped/tx_errors, but David convinced me that it was really RX errors, as loopback_xmit() really starts a RX process. (calling eth_type_trans() for example, that itself pulls the ethernet header) These errors are accounted in rx_dropped/rx_errors. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 99f95f117848088f2708b45c70be73152e78bb8a Author: Paul Mundt Date: Mon Apr 20 18:24:57 2009 +0900 sh: pci: Rework fixed region checks in ioremap(). Not all PCI channels have non-translatable memory windows, this is a special property of the on-chip PCIC with its 0xfd00... mapping, handle this explicitly. Signed-off-by: Paul Mundt commit eb62efd287fe6e12d18083287e38e4a811c28256 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:36 2009 +0000 e1000: init link state correctly As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded. This apparently confused *some* versions of networkmanager. Andy tested this for e1000e and confirmed it was working for him. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9c563d20671e5fbe3045fd79c18b306ccb77b0b6 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:34 2009 +0000 e1000e: indicate link down at load As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Andy tested this for e1000e and confirmed it was working for him. see thread: http://marc.info/?l=linux-netdev&m=123946479705636&w=2 Signed-off-by: Jesse Brandeburg Tested-by: Andy Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b168dfc51604ec293db16dc4d558043585578a2d Author: Jesse Brandeburg Date: Fri Apr 17 20:44:32 2009 +0000 igb: fix link down inital state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3a6d1bc4163fee27c312184d5f1a9cc1e110d300 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:29 2009 +0000 ixgb: fix link down initial state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. in addition this driver appeared to need a netif_start_queue at the end of open. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5438646724c34c2180664a57f862a1da8dd21db1 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:27 2009 +0000 ixgbe: fix link down initial state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f3b9aae16219aaeca2dd5a9ca69f7a10faa063df Author: Frederic Weisbecker Date: Sun Apr 19 23:39:33 2009 +0200 tracing/ring-buffer: Add unlock recursion protection on discard The pair of helpers trace_recursive_lock() and trace_recursive_unlock() have been introduced recently to provide generic tracing recursion protection. They are used in a symetric way: - trace_recursive_lock() on buffer reserve - trace_recursive_unlock() on buffer commit However sometimes, we don't commit but discard on entry to the buffer, ie: in case of filter checking. Then we must also unlock the recursion protection on discard time, otherwise the tracing gets definitely deactivated and a warning is raised spuriously, such as: 111.119821] ------------[ cut here ]------------ [ 111.119829] WARNING: at kernel/trace/ring_buffer.c:1498 ring_buffer_lock_reserve+0x1b7/0x1d0() [ 111.119835] Hardware name: AMILO Li 2727 [ 111.119839] Modules linked in: [ 111.119846] Pid: 5731, comm: Xorg Tainted: G W 2.6.30-rc1 #69 [ 111.119851] Call Trace: [ 111.119863] [] warn_slowpath+0xd8/0x130 [ 111.119873] [] ? __lock_acquire+0x19f/0x1ae0 [ 111.119882] [] ? __lock_acquire+0x19f/0x1ae0 [ 111.119891] [] ? native_sched_clock+0x20/0x70 [ 111.119899] [] ? put_lock_stats+0xe/0x30 [ 111.119906] [] ? lock_release_holdtime+0xa8/0x150 [ 111.119913] [] ring_buffer_lock_reserve+0x1b7/0x1d0 [ 111.119921] [] trace_buffer_lock_reserve+0x30/0x70 [ 111.119930] [] trace_current_buffer_lock_reserve+0x20/0x30 [ 111.119939] [] ftrace_raw_event_sched_switch+0x58/0x100 [ 111.119948] [] __schedule+0x3a7/0x4cd [ 111.119957] [] ? ftrace_call+0x5/0x2b [ 111.119964] [] ? ftrace_call+0x5/0x2b [ 111.119971] [] schedule+0x18/0x40 [ 111.119977] [] preempt_schedule+0x39/0x60 [ 111.119985] [] _read_unlock+0x53/0x60 [ 111.119993] [] sock_def_readable+0x72/0x80 [ 111.120002] [] unix_stream_sendmsg+0x24d/0x3d0 [ 111.120011] [] sock_aio_write+0x143/0x160 [ 111.120019] [] ? ftrace_call+0x5/0x2b [ 111.120026] [] ? sock_aio_write+0x0/0x160 [ 111.120033] [] ? sock_aio_write+0x0/0x160 [ 111.120042] [] do_sync_readv_writev+0xf3/0x140 [ 111.120049] [] ? ftrace_call+0x5/0x2b [ 111.120057] [] ? autoremove_wake_function+0x0/0x40 [ 111.120067] [] ? cap_file_permission+0x9/0x10 [ 111.120074] [] ? security_file_permission+0x16/0x20 [ 111.120082] [] do_readv_writev+0xd4/0x1f0 [ 111.120089] [] ? ftrace_call+0x5/0x2b [ 111.120097] [] ? ftrace_call+0x5/0x2b [ 111.120105] [] vfs_writev+0x48/0x70 [ 111.120111] [] sys_writev+0x55/0xc0 [ 111.120119] [] system_call_fastpath+0x16/0x1b [ 111.120125] ---[ end trace 15605f4e98d5ccb5 ]--- [ Impact: fix spurious warning triggering tracing shutdown ] Signed-off-by: Frederic Weisbecker commit 7670dc41b51983b369f9adfb8694a580e7b0cef2 Author: Takashi Iwai Date: Mon Apr 20 10:51:11 2009 +0200 ALSA: hda - Use snd_hda_codec_get_pincfg() in patch_ca0110.c Use the new function to reduce the access and allow the user setup via sysfs, too. Signed-off-by: Takashi Iwai commit 67667263674663767ddf4250bab2437a00ee780e Author: Takashi Iwai Date: Mon Apr 20 10:49:25 2009 +0200 ALSA: hda - Fix channels_max setting for CA0110 Added the missing definition of max channels for CA0110, which resulted in an error at opening PCM devices. Signed-off-by: Takashi Iwai commit 0bb34a6bf1f71d5ad2abfda582a2c2794957bc7b Author: Paul Mundt Date: Mon Apr 20 16:38:00 2009 +0900 sh: pci: Consolidate pci_iomap() and use the generic I/O base. This consolidates the pci_iomap() definitions and reworks how the I/O port base is handled. PCI channels can register their own I/O map base, or if none is provided, the system-wide generic I/O base is used instead. Functionally nothing changes, while this allows us to kill off lots of I/O address special casing and lookups. Signed-off-by: Paul Mundt commit 394b6d2fe624246e258a218dac68d44fe9a8411f Author: Paul Mundt Date: Mon Apr 20 16:18:46 2009 +0900 sh: pci: Kill off unused pcibios_fixup(). This is left over cruft that hasn't been used by anything in a long time, kill off bits that weren't purged previously. Signed-off-by: Paul Mundt commit a3c0e0d0032d5bbfd7dc04827a257c717d432a5b Author: Paul Mundt Date: Mon Apr 20 16:14:29 2009 +0900 sh: pci: Consolidate pcibios_align_resource() definitions. This introduces a saner pcibios_align_resource() that can be used regardless of whether pci-auto or pci-new are being used, and consolidates it in pci-lib.c. Signed-off-by: Paul Mundt commit 9833385131fc4e8c52f95320ab899051d1c06831 Author: Paul Mundt Date: Mon Apr 20 15:51:45 2009 +0900 sh: pci: HAVE_PCI_MMAP support. Derived from the MIPS version, now uses pgprot_noncached(). Signed-off-by: Paul Mundt commit 4c5107e44514a9bde74d0af77982705d602d9e39 Author: Paul Mundt Date: Mon Apr 20 15:43:36 2009 +0900 sh: pci: Split out new-style PCI core. This splits off a 'pci-new.c' which is aimed at gradually replacing the pci-auto backend and the arch/sh/drivers/pci/pci.c core respectively. Signed-off-by: Paul Mundt commit 9ade1217c9ba39ad2f004a898ddfbb815fd5fe74 Author: Paul Mundt Date: Mon Apr 20 15:38:25 2009 +0900 sh: pci: Drop asm-generic/pci.h, so we can use our own fixups. The new PCI code wants its own bus<->resource mappings instead of the generic equivalents, so drop the asm-generic include in preparation. Signed-off-by: Paul Mundt commit 68d8bf0436001980461483f2d753206447f27685 Author: Felipe Balbi Date: Sun Apr 19 23:07:50 2009 -0700 Input: add twl4030-pwrbutton driver This is part of the twl4030 multifunction device driver that supports reporting KEY_POWER events via the input layer. Signed-off-by: Felipe Balbi Signed-off-by: Dmitry Torokhov commit 3ef8e4e9e4d18910cd03dcd481a5dced437b83cf Author: Alexander Beregalov Date: Sun Apr 19 18:42:58 2009 -0700 iseries_veth: fix build breakage Reported-by: Stephen Rothwell Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e057a5e5647a1c9d0d0054fbd298bfa04b3d1cb4 Author: Frederic Weisbecker Date: Sun Apr 19 23:38:12 2009 +0200 tracing/core: Add current context on tracing recursion warning In case of tracing recursion detection, we only get the stacktrace. But the current context may be very useful to debug the issue. This patch adds the softirq/hardirq/nmi context with the warning using lockdep context display to have a familiar output. v2: Use printk_once() v3: drop {hardirq,softirq}_context which depend on lockdep, only keep what is part of current->trace_recursion, sufficient to debug the warning source. [ Impact: print context necessary to debug recursion ] Signed-off-by: Frederic Weisbecker commit 667c5296cc76fefe0abcb79228952b28d9af45e3 Author: Cyrill Gorcunov Date: Sun Apr 19 11:43:11 2009 +0400 x86: es7000, uv - use __cpuinit for kicking secondary cpus The caller already has __cpuinit attribute. [ Impact: save memory, address section mismatch warning ] Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Pavel Emelyanov LKML-Reference: <20090419074311.GA8670@lenovo> Signed-off-by: Ingo Molnar commit cece3155d869a50ba534ed161b5a05e8a29dcad0 Author: Cyrill Gorcunov Date: Sat Apr 18 23:45:28 2009 +0400 x86: smpboot - wakeup_secondary should be done via __cpuinit section A caller (do_boot_cpu) already has __cpuinit attribute. Since HOTPLUG_CPU depends on SMP && HOTPLUG it doesn't lead to panic at moment. [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090418194528.GD25510@lenovo> Signed-off-by: Ingo Molnar commit 9a2755c3569e4db92bd9b1daadeddb4045b0cccd Author: Weidong Han Date: Fri Apr 17 16:42:16 2009 +0800 x86, intr-remap: fix x2apic/intr-remap resume Interrupt remapping was decoupled from x2apic. Shouldn't check x2apic before resume interrupt remapping. Otherwise, interrupt remapping won't be resumed when x2apic is not enabled. [ Impact: fix potential intr-remap resume hang on !x2apic ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-6-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 03ea81550676296d94596e4337c771c6ba29f542 Author: Weidong Han Date: Fri Apr 17 16:42:15 2009 +0800 x86, intr-remap: add option to disable interrupt remapping Add option "nointremap" to disable interrupt remapping. [ Impact: add new boot option ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-5-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 937582382c71b75b29fbb92615629494e1a05ac0 Author: Weidong Han Date: Fri Apr 17 16:42:14 2009 +0800 x86, intr-remap: enable interrupt remapping early Currently, when x2apic is not enabled, interrupt remapping will be enabled in init_dmars(), where it is too late to remap ioapic interrupts, that is, ioapic interrupts are really in compatibility mode, not remappable mode. This patch always enables interrupt remapping before ioapic setup, it guarantees all interrupts will be remapped when interrupt remapping is enabled. Thus it doesn't need to set the compatibility interrupt bit. [ Impact: refactor intr-remap init sequence, enable fuller remap mode ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-4-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 5d0ae2db6deac4f15dac4f42f23bc56448fc8d4d Author: Weidong Han Date: Fri Apr 17 16:42:13 2009 +0800 x86, intr-remap: fix ack for interrupt remapping Shouldn't call ack_apic_edge() in ir_ack_apic_edge(), because ack_apic_edge() does more than just ack: it also does irq migration in the non-interrupt-remapping case. But there is no such need for interrupt-remapping case, as irq migration is done in the process context. Similarly, ir_ack_apic_level() shouldn't call ack_apic_level, and instead should do the local cpu's EOI + directed EOI to the io-apic. ack_x2APIC_irq() is not neccessary, because ack_APIC_irq() will use MSR write for x2apic, and uncached write for non-x2apic. [ Impact: simplify/standardize intr-remap IRQ acking, fix on !x2apic ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-3-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 2b2fd87a6ef56ba7647a578e81bb8c8efda166b8 Author: Weidong Han Date: Fri Apr 17 16:42:12 2009 +0800 docs, x86: add nox2apic back to kernel-parameters.txt "nox2apic" was removed from kernel-parameters.txt by mistake, when entries were sorted in alpha order (commit 0cb55ad2). But this early parameter is still there, add it back to kernel-parameters.txt. [ Impact: add boot parameter description ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: Randy Dunlap Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-2-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit e06003af56c386018f0c209608ac6c6662228cc0 Author: H Hartley Sweeten Date: Sat Apr 18 23:43:57 2009 -0700 Input: add matrix keypad driver for Cirrus EP93xx This is a keyboard driver for the Cirrus Logic EP93xx keypad matrix peripheral. This driver is based on the pxa27x_keypad driver. [dtor@mail.ru: Plug in input_dev->keycode so keymap can be changed from userspace.] Signed-off-by: H Hartley Sweeten Signed-off-by: Dmitry Torokhov commit 8fb2bae4b41eb64f6e233e9bd3f3a789fbb04a06 Author: Paul Mundt Date: Sun Apr 19 13:14:29 2009 +0900 sh: sh7724: Register CMT as an early platform device here too. Follows the SH7722/SH7723 changes. Signed-off-by: Paul Mundt commit d9aed8b95f062b2f96e37b0e07373f36a6e7066d Author: Paul Mundt Date: Sun Apr 19 13:12:04 2009 +0900 sh: sh7724: Don't default enable the RTC clock. rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt commit 22fd67c5c94a188ded2bb7c78369fd751d1bb187 Merge: b8c193f 28fde68 bc9f3d4 Author: Paul Mundt Date: Sun Apr 19 13:08:33 2009 +0900 Merge branches 'sh/earlytimer' and 'sh/shmobile-r2r-staging' commit 28fde6863e6ed1f4bfb7cef080e67bf439c20628 Author: Magnus Damm Date: Wed Apr 15 10:50:30 2009 +0000 sh: Early Platform Data for SuperH Mobile Use plat_early_device_setup() to register Early Platform Data for SuperH Mobile processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 87a00dc059e3af46303f1f56b0e8df41af988c7b Author: Magnus Damm Date: Wed Apr 15 10:50:21 2009 +0000 sh: Add plat_early_device_setup() Add a plat_early_device_setup() function to allow processor-specific code to register Early Platform Data. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eaab89197b733d0f81f07d6c44294b674479fda8 Author: Magnus Damm Date: Wed Apr 15 10:50:12 2009 +0000 sh: arch earlytimer support Extend the 32-bit SuperH timer code to register and probe the earlytimer class of Early Platform Drivers. This registers the sh_cmt driver if compiled-in. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e475eedb09ee9a0fd855f3e923aa9af31c17d141 Author: Magnus Damm Date: Wed Apr 15 10:50:04 2009 +0000 clocksource: sh_cmt earlytimer support Add Early Platform Driver support to the sh_cmt driver using the earlytimer class. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 864fe73c312ca8e177da01207ce86fb1b80b3e54 Author: Hans-Christian Egtvedt Date: Sat Apr 18 18:45:06 2009 -0700 Input: add wm97xx accelerated driver for Atmel microprocessors This patch adds an accelerated driver for Atmel AVR32 AT32AP700X microprocessors. It uses interrupts on the channel B in the AC97 controller. Thus, offloading the work queue in the wm97xx-ts driver. The driver has been tested with Atmel AVR32 AT32AP7000 and Wolfson WM9712 codec. The driver can also be easily modified to support Atmel AT91 devices, as AT91 and AVR32 share the same AC97C module. [Fixed leak of atmel_wm97xx when probe fails. -- broonie] [dtor@mail.ru: do not report ABS_PRESSURE events when not measuring pressure] Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 64e8563ca86167b4a991724b416d61c129138359 Author: Dmitry Torokhov Date: Sat Apr 18 18:45:17 2009 -0700 Input: gpio-keys - remove depreciated IRQF_SAMPLE_RANDOM flag Signed-off-by: Dmitry Torokhov commit 2c316bb57ad4e9f0f3de2d7ef1ae85530c2a7e69 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide: drop rq->data handling from ide_map_sg() Impact: remove code path which is no longer necessary All IDE data transfers now use rq->bio. Simplify ide_map_sg() accordingly. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 6d7003877c2f0578f1c08f66d05c3f72ef4ae596 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-atapi: kill unused fields and callbacks Impact: remove fields and code paths which are no longer necessary Now that ide-tape uses standard mechanisms to transfer data, special case handling for bh handling can be dropped from ide-atapi. Drop the followings. * pc->cur_pos, b_count, bh and b_data * drive->pc_update_buffers() and pc_io_buffers(). Signed-off-by: Tejun Heo commit 07bd9686c50c2b1f10e48089d4fb836a971f5177 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: simplify read/write functions Impact: cleanup idetape_chrdev_read/write() functions are unnecessarily complex when everything can be handled in a single loop. Collapse idetape_add_chrdev_read/write_request() into the rw functions and simplify the implementation. Signed-off-by: Tejun Heo commit 6bb11dd14f70228f8dab25fd25dabeb9bc74926d Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: use byte size instead of sectors on rw issue functions Impact: cleanup Byte size is what most issue functions deal with, make idetape_queue_rw_tail() and its wrappers take byte size instead of sector counts. idetape_chrdev_read() and write() functions are converted to use tape->buffer_size instead of ctl from tape->cap. This cleans up code a little bit and will ease the next r/w reimplementation. Signed-off-by: Tejun Heo commit 88f1b941c5c94016a59144a3c94c9ca31eb16205 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: unify r/w init paths Impact: cleanup Read and write init paths are almost identical. Unify them into idetape_init_rw(). Signed-off-by: Tejun Heo commit 963da55c4b9eeeb2085ca74ba927cf77bce966d4 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: kill idetape_bh Impact: kill now unnecessary idetape_bh With everything using standard mechanisms, there is no need for idetape_bh anymore. Kill it and use tape->buf, cur and valid to describe data buffer instead. Changes worth mentioning are... * idetape_queue_rq_tail() now always queue tape->buf and and adjusts buffer state properly before completion. * idetape_pad_zeros() clears the buffer only once. Signed-off-by: Tejun Heo commit 21d9c5d227593d15630ae83a336d1519653e9b8a Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use standard data transfer mechanism Impact: use standard way to transfer data ide-tape uses rq in an interesting way. For r/w requests, rq->special is used to carry a private buffer management structure idetape_bh and rq->nr_sectors and current_nr_sectors are initialized to the number of idetape blocks which isn't necessary 512 bytes. Also, rq->current_nr_sectors is used to report back the residual count in units of idetape blocks. This peculiarity taxes both block layer and ide. ide-atapi has different paths and hooks to accomodate it and what a rq means becomes quite confusing and making changes at the block layer becomes quite difficult and error-prone. This patch makes ide-tape use bio instead. With the previous patch, ide-tape currently is using single contiguos buffer so replacing it isn't difficult. Data buffer is mapped into bio using blk_rq_map_kern() in idetape_queue_rw_tail(). idetape_io_buffers() and idetape_update_buffers() are dropped and pc->bh is set to null to tell ide-atapi to use standard data transfer mechanism and idetape_bh byte counts are updated by the issuer on completion using the residual count. This change also nicely removes the FIXME in ide_pc_intr() where ide-tape rqs need to be completed using ide_rq_bytes() instead of blk_rq_bytes() (although this didn't really matter as the request didn't have bio). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 35ab8d3251833e4052aa64b09b08195e949518c7 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use single continuous buffer Impact: simpler buffer allocation and handling, kills OOM, fix DMA transfers ide-tape has its own multiple buffer mechanism using struct idetape_bh. It allocates buffer with decreasing order-of-two allocations so that it results in minimum number of segments. However, the implementation is quite complex and works in a way that no other block or ide driver works necessitating a lot of special case handling. The benefit this complex allocation scheme brings is questionable as PIO or DMA the number of segments (16 maximum) doesn't make any noticeable difference and it also doesn't negate the need for multiple order allocation which can fail under memory pressure or high fragmentation although it does lower the highest order necessary by one when the buffer size isn't power of two. As the first step to remove the custom buffer management, this patch makes ide-tape allocate single continous buffer. The maximum order is four. I doubt the change would cause any trouble but if it ever matters, it should be converted to regular sg mechanism like everyone else and even in that case dropping custom buffer handling and moving to standard mechanism first make sense as an intermediate step. This patch makes the first bh to contain the whole buffer and drops multi bh handling code. Following patches will make further changes. This patch has the side effect of killing OOM triggered by allocation path and fixing DMA transfers. Previously, bug in alloc path triggered OOM on command issue and commands were passed to DMA engine without DMA-mapping all the segments. Signed-off-by: Tejun Heo commit b3071d190d6757b14af002a9d79832f12de61bce Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len Impact: allow residual count implementation in ->pc_callback() rq->data_len has two duties - carrying the number of input bytes on issue and carrying residual count back to the issuer on completion. ide-atapi completion callback ->pc_callback() is the right place to do this but currently ide-atapi depends on rq->data_len carrying the original request size after calling ->pc_callback() to complete the pc request. This patch makes ide_pc_intr(), ide_tape_issue_pc() and ide_floppy_issue_pc() cache length to complete before calling ->pc_callback() so that it can modify rq->data_len as necessary. Note: As using rq->data_len for two purposes can make cases like this incorrect in subtle ways, future changes will introduce separate field for residual count. Signed-off-by: Tejun Heo Cc: Jens Axboe commit ea7066afcd590e4663e6dc010f93704164050f48 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape,floppy: fix failed command completion after request sense Impact: fix infinite retry loop After a command failed, ide-tape and floppy inserts REQUEST_SENSE in front of the failed command and according to the result, sets pc->retries, flags and errors. After REQUEST_SENSE is complete, the failed command is again at the front of the queue and if the verdict was to terminate the request, the issue functions tries to complete it directly by calling drive->pc_callback() and returning ide_stopped. However, drive->pc_callback() doesn't complete a request. It only prepares for completion of the request. As a result, this creates an infinite loop where the failed request is retried perpetually. Fix it by actually ending the request by calling ide_complete_rq(). Signed-off-by: Tejun Heo commit fc38b521dcffcb07447cd98fedc56f495c10b90d Author: Tejun Heo Date: Sun Apr 19 07:00:43 2009 +0900 ide-pm: don't abuse rq->data Impact: cleanup rq->data usage ide-pm uses rq->data to carry pointer to struct request_pm_state through request queue and rq->special is used to carray pointer to local struct ide_cmd, which isn't necessary. Use rq->special for request_pm_state instead and use local ide_cmd in ide_start_power_step(). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 5c4be57249e2e09136446597d2fe2a967c6ffef0 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd,atapi: use bio for internal commands Impact: unify request data buffer handling rq->data is used mostly to pass kernel buffer through request queue without using bio. There are only a couple of places which still do this in kernel and converting to bio isn't difficult. This patch converts ide-cd and atapi to use bio instead of rq->data for request sense and internal pc commands. With previous change to unify sense request handling, this is relatively easily achieved by adding blk_rq_map_kern() during sense_rq prep and PC issue. If blk_rq_map_kern() fails for sense, the error is deferred till sense issue and aborts the failed command which triggered the sense. Note that this is a slim possibility as sense prep is done on each command issue, so for the above condition to actually trigger, all preps since the last sense issue till the issue of the request which would require a sense should fail. * do_request functions might sleep now. This should be okay as ide request_fn - do_ide_request() - is invoked only from make_request and plug work. Make sure this is the case by adding might_sleep() to do_ide_request(). * Functions which access the read sense data before the sense request is complete now should access bio_data(sense_rq->bio) as the sense buffer might have been copied during blk_rq_map_kern(). * ide-tape updated to map sg. * cdrom_do_block_pc() now doesn't have to deal with REQ_TYPE_ATA_PC special case. Simplified. * tp_ops->output/input_data path dropped from ide_pc_intr(). Signed-off-by: Tejun Heo commit 6b544fcc8cd0a04eb42de9d1ecdd345e979d6ada Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer Since we're issuing REQ_TYPE_SENSE now we need to allow those types of rqs in the ->do_request callbacks. As a future improvement, sense_len assignment might be unified across all ATAPI devices. Borislav to check with specs and test. As a result, get rid of ide_queue_pc_head() and drive->request_sense_rq. tj: * Init request sense ide_atapi_pc from sense request. In the longer timer, it would probably better to fold ide_create_request_sense_cmd() into its only current user - ide_floppy_get_format_progress(). * ide_retry_pc() no longer takes @disk. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit 746d5e43274e9ea6cbd58818afc9239d41fb4e1e Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: convert to using generic sense request Preallocate a sense request in the ->do_request method and reinitialize it only on demand, in case it's been consumed in the IRQ handler path. The reason for this is that we don't want to be mapping rq to bio in the IRQ path and introduce all kinds of unnecessary hacks to the block layer. tj: * Both user and kernel PC requests expect sense data to be stored in separate storage other than drive->sense_data. Copy sense data to rq->sense on completion if rq->sense is not NULL. This fixes bogus sense data on PC requests. As a result, remove cdrom_queue_request_sense. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit a1df5169f9bf08f6067029bfb840a05e282b1b97 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide: add helpers for preparing sense requests This is in preparation of removing the queueing of a sense request out of the IRQ handler path. Use struct request_sense as a general sense buffer for all ATAPI devices ide-{floppy,tape,cd}. tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as it can cause deadlock. Converted to use inline struct request and blk_rq_init(). * Added xfer / cdb len selection depending on device type. * All sense prep logics folded into ide_prep_sense() which never fails. * hwif->rq clearing and sense_rq used handling moved into ide_queue_sense_rq(). * blk_rq_map_kern() conversion is moved to later patch. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit cbfd082abfcbed8c57a12636f36e9bead8d6cfc6 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-cd uses rq->buffer to carry pointer to the original request when issuing REQUEST_SENSE. Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit c267cc1c4db4ccb3406d045a8da8660f0bbfe08d Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-atapi uses rq->buffer as private opaque value for internal special requests. rq->special isn't used for these cases (the only case where rq->special is used is for ide-tape rw requests). Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit eace4cb04c0edc9388e987bf9bbdef461f6daca4 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-taskfile: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide_raw_taskfile() directly uses rq->buffer to carry pointer to the data buffer. This complicates both block interface and ide backend request handling. Use blk_rq_map_kern() instead and drop special handling for REQ_TYPE_ATA_TASKFILE from ide_map_sg(). Note that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it to initialize bio rw flag. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 7f006dc24fae158131116c9472874f12e16cf040 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-floppy: block pc always uses bio Impact: remove unnecessary code path Block pc requests always use bio and rq->data is always NULL. No need to worry about !rq->bio cases in idefloppy_block_pc_cmd(). Note that ide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg fine. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 1873b90cdea038715ec7140fccc2116fb930ffb5 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-cd: clear sense buffer before issuing request sense Impact: code simplification ide_cd_request_sense_fixup() clears the tail of the sense buffer if the device didn't completely fill it. This patch makes cdrom_queue_request_sense() clear the sense buffer before issuing the command instead of clearing it afterwards. This simplifies code and eases future changes. Signed-off-by: Tejun Heo commit 46a802e852c2106d755f697819ea80cd3ffdc222 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide kill unused ide_cmd->special Impact: removal of unused field No one uses ide_cmd->special anymore. Kill it. Signed-off-by: Tejun Heo commit 55f3f399422a4a3f6cb84ea4096dfaddf8817399 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: don't set REQ_SOFTBARRIER ide doesn't have to worry about REQ_SOFTBARRIER. Don't set it. Signed-off-by: Tejun Heo commit 853280a4dc8e3cc97ff10c1c02234d96078f437b Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: use blk_run_queue() instead of blk_start_queueing() blk_start_queueing() is being phased out in favor of [__]blk_run_queue(). Switch. Signed-off-by: Tejun Heo commit 1e75540ec5202cae63cd238c86bd880e3d496546 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-tape: remove back-to-back REQUEST_SENSE detection Impact: fix an oops which always triggers ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when checking for back-to-back request sense issues but drive->pc can be NULL and even when it's not NULL, it's not safe to dereference it once the previous command is complete because pc could have been freed or was on stack. Kill back-to-back REQUEST_SENSE detection. Signed-off-by: Tejun Heo commit 6f41469c627fe118121dfce2a8134ad24da3df28 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 block: clear req->errors on bio completion only for fs requests Impact: subtle behavior change For fs requests, rq is only carrier of bios and rq error status as a whole doesn't mean much. This is the reason why rq->errors is being cleared on each partial completion of a request as on each partial completion the error status is transferred to the respective bios. For pc requests, rq->errors is used to carry error status to the issuer and thus __end_that_request_first() doesn't clear it on such cases. The condition was fine till now as only fs and pc requests have used bio and thus the bio completion path. However, future changes will unify data accesses to bio and all non fs users care about rq error status. Clear rq->errors on bio completion only for fs requests. In general, the implicit clearing is a bit too subtle especially as the meaning of rq->errors is completely dependent on low level drivers. Unifying / cleaning up rq->errors usage and letting llds manage it would be better. TODO comment added. Signed-off-by: Tejun Heo Acked-by: Jens Axboe commit 8e668b5b3455207e4540fc7ccab9ecf70142f288 Author: Steven Rostedt Date: Fri Apr 17 17:17:55 2009 -0400 tracing: remove format attribute of inline function Due to a cut and paste error, I added the gcc attribute for printf format to the static inline stub of trace_seq_printf. This will cause a compile failure. [ Impact: fix compiler error when CONFIG_TRACING is off ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: =?ISO-8859-15?Q?Fr=E9d=E9ric_Weisbecker?= LKML-Reference: Signed-off-by: Ingo Molnar commit 4a74491ef514c01f45d820b10501a5cfcccd3c73 Author: Thadeu Lima de Souza Cascardo Date: Fri Apr 17 20:35:58 2009 -0700 Input: fix typo in documentation Event type for key presses is EV_KEY, not REL_KEY. Signed-off-by: Dmitry Torokhov commit 89b09b99703b0068f6bc39f7aa48dc81cd7e14d3 Author: Dmitry Torokhov Date: Fri Apr 17 20:12:34 2009 -0700 Input: serio - rearrange EXPORT_SYMBOL() markings Current style calls for placing EXPORT_SYMBOL() markings directly after exported symbol definition; let's follow it. Signed-off-by: Dmitry Torokhov commit 3e65067defaf0024c62d71b06d536e7206d14b73 Author: Dmitry Torokhov Date: Fri Apr 17 20:12:05 2009 -0700 Input: gameport - rearrange EXPORT_SYMBOL() markings Current style calls for placing EXPORT_SYMBOL() markings directly after exported symbol definition; let's follow it. Signed-off-by: Dmitry Torokhov commit f445da83877f979fc131e3e45652858a5f6fa1d6 Author: Dmitry Torokhov Date: Fri Apr 17 20:35:57 2009 -0700 Input: fp801-gp - add MODULE_DESCRIPTION() Signed-off-by: Dmitry Torokhov commit 32a676fead0953562e16c26ef95058000d466c2a Author: Dmitry Torokhov Date: Fri Apr 17 20:12:35 2009 -0700 Input: gtco - add MODULE_DESCRIPTION() Signed-off-by: Dmitry Torokhov commit bd3ce6556072bdc8ea66dfd5448e184f189bdc7f Author: H Hartley Sweeten Date: Fri Apr 17 20:12:35 2009 -0700 Input: rotary_encoder - add support for REL_* axes The rotary encoder driver only supports returning input events for ABS_* axes, this adds support for REL_* axes. The relative axis input event is reported as -1 for each counter-clockwise step and +1 for each clockwise step. The ability to clamp the position of ABS_* axes between 0 and a maximum of "steps" has also been added. Signed-off-by: H Hartley Sweeten Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 7fe624f5607ed98de0034adf130e857474dffc2b Author: Andrew Gallatin Date: Fri Apr 17 15:45:15 2009 -0700 myri10ge: fix compile error A compilation error snuck into 2d90b0aa3bc484189940444bcddcbe0ebbb53af5 due to an over-zealous indent script removing spaces around array initialization ellipsis. The attached patch fixes the myri10ge compilation in net-next. Signed-off-by: Andrew Gallatin Signed-off-by: David S. Miller commit 3189cdb31622f4e40688ce5a6fc5d940b42bc805 Author: Steven Rostedt Date: Fri Apr 17 16:13:55 2009 -0400 tracing: protect trace_printk from recursion trace_printk can be called from any context, including NMIs. If this happens, then we must test for for recursion before grabbing any spinlocks. This patch prevents trace_printk from being called recursively. [ Impact: prevent hard lockup in lockdep event tracer ] Cc: Peter Zijlstra Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 261842b7c9099f56de2eb969c8ad65402d68e00e Author: Steven Rostedt Date: Thu Apr 16 21:41:52 2009 -0400 tracing: add same level recursion detection The tracing infrastructure allows for recursion. That is, an interrupt may interrupt the act of tracing an event, and that interrupt may very well perform its own trace. This is a recursive trace, and is fine to do. The problem arises when there is a bug, and the utility doing the trace calls something that recurses back into the tracer. This recursion is not caused by an external event like an interrupt, but by code that is not expected to recurse. The result could be a lockup. This patch adds a bitmask to the task structure that keeps track of the trace recursion. To find the interrupt depth, the following algorithm is used: level = hardirq_count() + softirq_count() + in_nmi; Here, level will be the depth of interrutps and softirqs, and even handles the nmi. Then the corresponding bit is set in the recursion bitmask. If the bit was already set, we know we had a recursion at the same level and we warn about it and fail the writing to the buffer. After the data has been committed to the buffer, we clear the bit. No atomics are needed. The only races are with interrupts and they reset the bitmask before returning anywy. [ Impact: detect same irq level trace recursion ] Signed-off-by: Steven Rostedt commit 12acd473d45cf2e40de3782cb2de712e5cd4d715 Author: Steven Rostedt Date: Fri Apr 17 16:01:56 2009 -0400 tracing: add EXPORT_SYMBOL_GPL for trace commits Not all the necessary symbols were exported to allow for tracing by modules. This patch adds them in. [ Impact: allow modules to commit data to the ring buffer ] Signed-off-by: Steven Rostedt commit b0afdc126d0515e76890f0a5f26b28501cfa298e Author: Steven Rostedt Date: Fri Apr 17 13:02:22 2009 -0400 tracing/events: enable code with EVENT_TRACING not EVENT_TRACER The CONFIG_EVENT_TRACER is the way to turn on event tracing when no other tracing has been configured. All code to get enabled should depend on CONFIG_EVENT_TRACING. That is what is enabled when TRACING (or CONFIG_EVENT_TRACER) is selected. This patch enables the include/trace/ftrace.h file when CONFIG_EVENT_TRACING is enabled. [ Impact: fix warning in event tracer selftest ] Signed-off-by: Steven Rostedt commit ac1adc55fc71c7515caa2eb0e63e49b3d1c6a47c Author: Tom Zanussi Date: Fri Apr 17 00:27:08 2009 -0500 tracing/filters: add filter_mutex to protect filter predicates This patch adds a filter_mutex to prevent the filter predicates from being accessed concurrently by various external functions. It's based on a previous patch by Li Zefan: "[PATCH 7/7] tracing/filters: make filter preds RCU safe" v2 changes: - fixed wrong value returned in a add_subsystem_pred() failure case noticed by Li Zefan. [ Impact: fix trace filter corruption/crashes on parallel access ] Signed-off-by: Tom Zanussi Reviewed-by: Li Zefan Tested-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1239946028.6639.13.camel@tropicana> Signed-off-by: Ingo Molnar commit 46de405f25f1d9fa73b657ffbb752aa0cc87a91d Author: Zhaolei Date: Fri Apr 17 10:53:43 2009 +0800 tracing: Remove include/trace/kmem_event_types.h kmem_event_types.h is no longer necessary since tracepoint definitions are put into include/trace/events/kmem.h [ Impact: remove now-unused file. ] Signed-off-by: Zhao Lei Acked-by: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49E7EF37.2080205@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9b94b3a19b13e094c10f65f24bc358f6ffe4eacd Author: Andreas Herrmann Date: Fri Apr 17 12:07:46 2009 +0200 x86: fixup numa_node information for AMD CPU northbridge functions Currently the numa_node attribute for these PCI devices is 0 (it corresponds to the numa_node for PCI bus 0). This is not a big issue but incorrect. This inconsistency can be fixed by reading the node number from CPU NB function 0. [ Impact: fill in dev->numa_node information, to optimize DMA allocations ] Signed-off-by: Andreas Herrmann Cc: jbarnes@virtuousgeek.org LKML-Reference: <20090417100746.GG16198@alberich.amd.com> Signed-off-by: Ingo Molnar commit 339ae5d3c3fc2025e3657637921495fd600027c7 Author: Li Zefan Date: Fri Apr 17 10:34:30 2009 +0800 tracing: fix file mode of trace and README trace is read-write and README is read-only. [ Impact: fix /debug/tracing/ file permissions. ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <49E7EAB6.4070605@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 76aa81118ddfbb3dc31533030cf3ec329dd067a6 Author: Jeremy Fitzhardinge Date: Thu Apr 16 23:35:39 2009 -0700 tracing: avoid warnings from zero-arg tracepoints Tracepoints with no arguments can issue two warnings: "field" defined by not used "ret" is uninitialized in this function Mark field as being OK to leave unused, and initialize ret. [ Impact: fix false positive compiler warnings. ] Signed-off-by: Jeremy Fitzhardinge Acked-by: Steven Rostedt Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <1239950139-1119-5-git-send-email-jeremy@goop.org> Signed-off-by: Ingo Molnar commit 9ea21c1ecdb35ecdcac5fd9d95f62a1f6a7ffec0 Author: Steven Rostedt Date: Thu Apr 16 12:15:44 2009 -0400 tracing/events: perform function tracing in event selftests We can find some bugs in the trace events if we stress the writes as well. The function tracer is a good way to stress the events. [ Impact: extend scope of event tracer self-tests ] Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20090416161746.604786131@goodmis.org> Signed-off-by: Ingo Molnar commit 69abe6a5d18a9394baa325bab8f57748b037c517 Author: Avadh Patel Date: Fri Apr 10 16:04:48 2009 -0400 tracing: add saved_cmdlines file to show cached task comms Export the cached task comms to userspace. This allows user apps to translate the pids from a trace into their respective task command lines. [ Impact: let userspace apps reading binary buffer know comm's of pids ] Signed-off-by: Avadh Patel [ added error checking and use of buf pointer to index file_buf ] Signed-off-by: Steven Rostedt commit d1b182a8d49ed6416325b4e0a1cb0f17cd4e702a Author: Steven Rostedt Date: Wed Apr 15 16:53:47 2009 -0400 tracing/events/ring-buffer: expose format of ring buffer headers to users Currently, every thing needed to read the binary output from the ring buffers is available, with the exception of the way the ring buffers handles itself internally. This patch creates two special files in the debugfs/tracing/events directory: # cat /debug/tracing/events/header_page field: u64 timestamp; offset:0; size:8; field: local_t commit; offset:8; size:8; field: char data; offset:16; size:4080; # cat /debug/tracing/events/header_event type : 2 bits len : 3 bits time_delta : 27 bits array : 32 bits padding : type == 0 time_extend : type == 1 data : type == 3 This is to allow a userspace app to see if the ring buffer format changes or not. [ Impact: allow userspace apps to know of ringbuffer format changes ] Signed-off-by: Steven Rostedt commit 6b87a91f5417226c7fe62100b0e7217e7096b789 Author: Peter Ujfalusi Date: Fri Apr 17 15:55:08 2009 +0300 ASoC: TWL4030: Fix for the constraint handling The original implementation of the constraints were good against sane applications. If the opening sequence is: stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the constraints are set correctly for stream2. But if the sequence is: stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2 would receive constraint rate = 0, sample_bits = 0, since the stream1 has not yet called hw_params... The command to trigger this event: gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false This patch does some 'black magic' in order to always set the correct constraints and sets it only when it is needed for the other stream. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e6187007d6c365b551c69ea3df46f06fd1c8bd19 Author: Steven Rostedt Date: Wed Apr 15 13:36:40 2009 -0400 tracing/events: add startup tests for events As events start to become popular, and the new way to add tracing infrastructure into ftrace, it is important to catch any problems that might happen with a mistake in the TRACE_EVENT macro. This patch introduces a startup self test on the registered trace events. Note, it can only do a generic test, any type of testing that needs more involement is needed to be implemented by the tracepoint creators. The test goes down one by one enabling a trace point and running some random tasks (random in the sense that I just made them up). Those tasks are creating threads, grabbing mutexes and spinlocks and using workqueues. After testing each event individually, it does the same test after enabling each system of trace points. Like sched, irq, lockdep. Then finally it enables all tracepoints and performs the tasks again. The output to the console on bootup will look like this when everything works: Running tests on trace events: Testing event kfree_skb: OK Testing event kmalloc: OK Testing event kmem_cache_alloc: OK Testing event kmalloc_node: OK Testing event kmem_cache_alloc_node: OK Testing event kfree: OK Testing event kmem_cache_free: OK Testing event irq_handler_exit: OK Testing event irq_handler_entry: OK Testing event softirq_entry: OK Testing event softirq_exit: OK Testing event lock_acquire: OK Testing event lock_release: OK Testing event sched_kthread_stop: OK Testing event sched_kthread_stop_ret: OK Testing event sched_wait_task: OK Testing event sched_wakeup: OK Testing event sched_wakeup_new: OK Testing event sched_switch: OK Testing event sched_migrate_task: OK Testing event sched_process_free: OK Testing event sched_process_exit: OK Testing event sched_process_wait: OK Testing event sched_process_fork: OK Testing event sched_signal_send: OK Running tests on trace event systems: Testing event system skb: OK Testing event system kmem: OK Testing event system irq: OK Testing event system lockdep: OK Testing event system sched: OK Running tests on all trace events: Testing all events: OK [ folded in: tracing: add #include to fix build failure in test_work() This build failure occured on a few rare configs: kernel/trace/trace_events.c: In function ‘test_work’: kernel/trace/trace_events.c:975: error: implicit declaration of function ‘udelay’ kernel/trace/trace_events.c:980: error: implicit declaration of function ‘msleep’ delay.h is included in way too many other headers, hiding cases where new usage is added without header inclusion. [ Impact: build fix ] Signed-off-by: Ingo Molnar ] [ Impact: add event tracer self-tests ] Signed-off-by: Steven Rostedt commit 93eb677d74a4f7d3edfb678c94f6c0544d9fbad2 Author: Steven Rostedt Date: Wed Apr 15 13:24:06 2009 -0400 ftrace: use module notifier for function tracer The hooks in the module code for the function tracer must be called before any of that module code runs. The function tracer hooks modify the module (replacing calls to mcount to nops). If the code is executed while the change occurs, then the CPU can take a GPF. To handle the above with a bit of paranoia, I originally implemented the hooks as calls directly from the module code. After examining the notifier calls, it looks as though the start up notify is called before any of the module's code is executed. This makes the use of the notify safe with ftrace. Only the startup notify is required to be "safe". The shutdown simply removes the entries from the ftrace function list, and does not modify any code. This change has another benefit. It removes a issue with a reverse dependency in the mutexes of ftrace_lock and module_mutex. [ Impact: fix lock dependency bug, cleanup ] Cc: Rusty Russell Signed-off-by: Steven Rostedt commit 5043124e660fcc3ddefe4239ddfa017bf13f5081 Merge: 77857dc 9f76208 Author: Ingo Molnar Date: Fri Apr 17 16:18:22 2009 +0200 Merge branch 'linus' into x86/apic Merge reason: new intr-remap patches depend on the s2ram iommu fixes from upstream Signed-off-by: Ingo Molnar commit 573636cbafeba88f7c88832ae053dafe265bf94b Author: Eric Dumazet Date: Fri Apr 17 04:52:48 2009 -0700 [PATCH] net: remove superfluous call to synchronize_net() inet_register_protosw() function is responsible for adding a new inet protocol into a global table (inetsw[]) that is used with RCU rules. As soon as the store of the pointer is done, other cpus might see this new protocol in inetsw[], so we have to make sure new protocol is ready for use. All pending memory updates should thus be committed to memory before setting the pointer. This is correctly done using rcu_assign_pointer() synchronize_net() is typically used at unregister time, after unsetting the pointer, to make sure no other cpu is still using the object we want to dismantle. Using it at register time is only adding an artificial delay that could hide a real bug, and this bug could popup if/when synchronize_rcu() can proceed faster than now. This saves about 13 ms on boot time on a HZ=1000 8 cpus machine ;) (4 calls to inet_register_protosw(), and about 3200 us per call) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 62c7ae87cb5962d3dfaa6d916a15e4faa9e07363 Author: Paul Mundt Date: Fri Apr 17 20:37:16 2009 +0900 sh: pci: Start unifying the SH7780 PCIC initialization. This starts moving out the common initialization bits from the various fixup paths in to the shared init path. Signed-off-by: Paul Mundt commit a6d377b6969235a3b5a6e87bdcef387d0976b41c Author: Paul Mundt Date: Fri Apr 17 20:11:44 2009 +0900 sh: pci: Consolidate SH7780 PCIC IRQ routing. Now that the platform code is a bit leaner, we can start consolidating the various IRQ routing implementations. There are effectively only 2 variants, and the others can use those directly. Signed-off-by: Paul Mundt commit 4c7a47de897e89c25a40e228ac5319cbac7257fe Author: Paul Mundt Date: Fri Apr 17 17:21:36 2009 +0900 sh: pci: Kill off platform-specific multi-window mappings. Commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 ("sh: sh7785lcr: Map whole PCI address space.") changed around the semantics of how various chip-selects are made accessible to PCI. Now that there is a single large mapping covering from CS0-CS6, there is no longer any need to do multi-window mapping. Subsequently, all of the differing implementations can be consolidated in to pci-sh7780. Signed-off-by: Paul Mundt commit d32da050a340214c5dae0d014e39f75548cac2f2 Author: Alexander Beregalov Date: Thu Apr 16 15:48:17 2009 +0000 wan/pc300_drv: convert to net_device_ops On Fri, Apr 17, 2009 at 05:23:02AM +0400, Alexander Beregalov wrote: > > Signed-off-by: Alexander Beregalov > --- > drivers/net/wan/pc300_drv.c | 22 ++++++++++++++-------- > 1 files changed, 14 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c > index c23fde0..df10a4c 100644 > --- a/drivers/net/wan/pc300_drv.c > +++ b/drivers/net/wan/pc300_drv.c > @@ -225,6 +225,7 @@ static char rcsid[] = > #include > #include > #include > +#include > #include > #include > #include > @@ -3246,6 +3247,18 @@ static inline void show_version(void) > rcsvers, rcsdate, __DATE__, __TIME__); > } /* show_version */ > > +static const struct net_device_ops cpc_netdev_ops = { > + .ndo_init = NULL, > + .ndo_open = cpc_open, > + .ndo_stop = cpc_close, > + .ndo_tx_timeout = cpc_tx_timeout, > + .ndo_set_multicast_list = NULL, In this case ndo_init and ndo_set_multicast_list are not needed. >From 1507a5a797a5f0005696a9bf10e390caca9c3800 Mon Sep 17 00:00:00 2001 From: Alexander Beregalov Date: Fri, 17 Apr 2009 05:45:48 +0400 Subject: [PATCH] wan/pc300_drv: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit f6a2629353718e588820b731af43a445b6f35648 Author: Alexander Beregalov Date: Thu Apr 16 15:23:03 2009 +0000 irda: include etherdevice.h for eth_*() functions Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ab1363a8929f32cc163cd3f50ca72f20d901b00c Author: Paul Mundt Date: Fri Apr 17 17:07:47 2009 +0900 sh: pci: Consolidate PCI I/O and mem window definitions for SH7780. This consolidates all of the PCI I/O and memory window definitions across the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that every platform had exactly the same implementation. Signed-off-by: Paul Mundt commit f1dcab756687622b658154ded1657538984edcdb Author: Paul Mundt Date: Fri Apr 17 17:00:27 2009 +0900 sh: pci: Set the I/O port base to the SH7780 I/O window default. Presently the I/O port base isn't being set anywhere, which allows things like generic_inl() to blow up. Fix this up to point at the PCI IO window. Signed-off-by: Paul Mundt commit c66c1d79a94a7a302e2dc6c93da40902423eac3e Author: Paul Mundt Date: Fri Apr 17 16:38:00 2009 +0900 sh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register. The SH7780 PCIC contains a read-only cache line size register that we can derive pci_cache_line_size from. So, make sure that the software idea of the cache line size actually matches the host controller's idea. Signed-off-by: Paul Mundt commit ab78cbcf6877334fc20868b7df7887349e2e01c8 Author: Paul Mundt Date: Fri Apr 17 15:08:01 2009 +0900 sh: pci: Use the proper write size for class/sub-class code. Don't use pci_write_reg() for these, as it defaults to 32-bit. Rather than using the helper, use __raw_writeb() directly. Signed-off-by: Paul Mundt commit 4e7b7fdb129995640f144b7de114e109c6b46a2a Author: Paul Mundt Date: Fri Apr 17 15:05:19 2009 +0900 sh: pci: Rework SH7780 host controller detection. This reworks how the host controller is probed, and makes it a bit more verbose in the event a new type of controller is detected. Additionally, we also log the revision information. This now uses the proper access sizes for the vendor/device registers, rather than relying on a larger access that encapsulated both of them. Not all devices support 32-bit read cycles for these registers. Signed-off-by: Paul Mundt commit 0bbc9bc3189f24de946777af43c9033c8c4871e4 Author: Paul Mundt Date: Fri Apr 17 14:09:09 2009 +0900 sh: pci: Set class/sub-class code correctly for SH7780 PCIC. The SH7780 PCI host controller implements a configuration header that requires a fair bit of hand-holding to initialize properly. By default it appears as a pre-2.0 host controller given the zeroed out class code, so fix this up properly. Some boards that happened to be using the R7780RP version of the PCIC fixups had set this correctly, but this belongs in the standard initialization, and is by no means board specific. Signed-off-by: Paul Mundt commit 7e4ba0d77c96d328ba968ddff4a464d4d2fa7abc Author: Paul Mundt Date: Fri Apr 17 14:07:57 2009 +0900 sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD. P1SEGADDR is obsolete and will be killed off completely in the future, so transition off of it and reference P1SEG explicitly. Signed-off-by: Paul Mundt commit b627b4ed3d056c5d00e8f3cb32d033b0ee6619a9 Author: Paul Mundt Date: Fri Apr 17 13:00:18 2009 +0900 sh: pci: Move se7780 INTC fixups out of pci-sh7780.c. These fixups belong in the board INTC setup code, not in the middle of pci-sh7780.c. Signed-off-by: Paul Mundt commit 84971bb401866d79c6b353cb1d8861c2b4621867 Author: Paul Mundt Date: Fri Apr 17 12:44:25 2009 +0900 sh: pci: Kill off useless debugging printk() in pci-sh7780 init. Signed-off-by: Paul Mundt commit 6498be3fba7b102132241be5763263e8e8bf6f9e Author: Brice Goglin Date: Thu Apr 16 17:56:57 2009 -0700 myri10ge: fix tx ring size in ethtool -g Fix tx ring size reported via ethtool -g. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 97131079183cd671e18e661f1a387cdb5dffd313 Author: Brice Goglin Date: Thu Apr 16 02:29:22 2009 +0000 myri10ge: add MODULE_DEVICE_TABLE Add MODULE_DEVICE_TABLE so that modinfo reports pci device id aliases. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 2d90b0aa3bc484189940444bcddcbe0ebbb53af5 Author: Brice Goglin Date: Thu Apr 16 02:24:59 2009 +0000 myri10ge: allow per-board firmware overriding Add myri10ge_fw_names to override the default firmware on a per-board basis. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 590818250684d18bb0e30c45d79971dcdff96ad0 Author: Brice Goglin Date: Thu Apr 16 02:23:56 2009 +0000 myri10ge: force stats update in ethtool gstats Force a statistics update when our ethtool gstats routine is called. Otherwise, ethtool will continue to read stale stats until something forces an update by reading /proc/net/dev This requires putting a lock around the stats update to guard against 2 threads (one via ethtool, and one via procfs) updating the stats at once. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit a54bfa40fd16aeb90bc556189221576f746f8567 Merge: fe957c4 134ffb4 Author: David S. Miller Date: Thu Apr 16 17:35:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d1f0ae5e2e45e74cff4c3bdefb0fc77608cdfeec Author: Sam Ravnborg Date: Wed Apr 15 21:34:55 2009 +0200 x86: standardize Kbuild rules Introducing this Kbuild file allow us to: make arch/x86/ And thus building all the core part of x86. Signed-off-by: Sam Ravnborg Cc: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 8d98f2246d7c622198ae0b8ca66f1c82b8a25377 Merge: 3ba191c 002fbad Author: Mark Brown Date: Thu Apr 16 14:14:35 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 3ba191ce051a32b20757f063120496e860ea8f9d Author: Peter Ujfalusi Date: Wed Apr 15 15:38:56 2009 +0300 ASoC: OMAP: Add DSP_A mode support for mcbsp DSP_A mode is similar to the DSP_B, but the MSB is delayed with one bclk (appears after the FS pulse and not under it). Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c29b206ffd0700acb2dc1fdb70856cc4b907216c Author: Peter Ujfalusi Date: Wed Apr 15 15:38:55 2009 +0300 ASoC: OMAP: Use single-phase for DSP mode Use single-phase mode for the DSP mode and keep the dual phase mode for the I2S mode. The mono (1 channel) mode already used single phase mode, now it is more cleaner. There is no need to configure the second phase, when the single phase is used. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0d960e8891459f5af85e5781bce3f1da5f7db0fb Author: Mark Brown Date: Thu Apr 16 10:08:39 2009 +0100 ASoC: Request shared rates for WM8903 It has a shared LRCLK. Signed-off-by: Mark Brown commit fd5dfad9cf51bc3575b5e50193403de4a3de23bc Author: Mark Brown Date: Wed Apr 15 21:37:46 2009 +0100 ASoC: Volume controls are never of boolean type Some limited volume controls (mostly simple attenuations) have only two settings so the ASoC info functions misreport them as booleans. Since we currently have no better information check for " Volume" in the control name and always report any controls matching as being integer. Signed-off-by: Mark Brown commit 3f1a4d826751d9759fc95da4e47d08d2745e0055 Author: Mark Brown Date: Wed Apr 15 21:35:26 2009 +0100 ASoC: Check we have DAI ops when calling via accessor functions Also make sure we're checking for the right operation while we're here. Signed-off-by: Mark Brown commit fe957c40ec5e2763b9977c565beab3bde3aaf85b Author: Sascha Hauer Date: Wed Apr 15 01:32:25 2009 +0000 fec: call fec_restart() in fec_open() We called fec_stop() in fec_enet_close(), thus we have to call fec_restart() in fec_enet_open(). Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit f0b3fbeae11a526c3d308b691684589ee37c359b Author: Sascha Hauer Date: Wed Apr 15 01:32:24 2009 +0000 FEC Buffer rework Allocate buffers in fec_open and free them again in fec_close. This makes it possible to use this driver as a module. Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 009fda83ee2f38e5deb9d62fc54a904a92645fe4 Author: Sascha Hauer Date: Wed Apr 15 01:32:23 2009 +0000 fec: switch to net_device_ops Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 3644ee00c43cca08c9baac7eaea22250aaf84182 Author: Sascha Hauer Date: Wed Apr 15 01:32:22 2009 +0000 fec: remove debugging printks These printks in fec_timeout do not give useful information in a production kernel. Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 8549889c3369f7653bd98861c3d2cf97d810dc37 Author: Sascha Hauer Date: Wed Apr 15 01:32:21 2009 +0000 fec: align receive packets Otherwise we get a lot of alignment errors Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 4f1ceb4b46d523382f5a46622af9d3315a9b3e7f Author: Sascha Hauer Date: Wed Apr 15 01:32:20 2009 +0000 fec: refactor init function fec_enet_init() does the hardware initialisation and then calls fec_restart() which does the same initialisation again, so we can safely remove the initialisation from fec_enet_init(). Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 4e8318368af44488f6438a31537ddb57de0d4e00 Author: Sascha Hauer Date: Wed Apr 15 01:32:19 2009 +0000 fec: refactor set_multicast_list() to make it more readable Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 22f6b860da25abe2c3e33347ccb806e6bcc57390 Author: Sascha Hauer Date: Wed Apr 15 01:32:18 2009 +0000 fec: Codingstyle cleanups Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 8d4dd5cff892e18a34422852c05a88b79ff978ed Author: Sascha Hauer Date: Wed Apr 15 01:32:17 2009 +0000 fec: remove unnecessary cast Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 2e28532f7e63c3011f7b3c1516cfebd5321bdd15 Author: Sascha Hauer Date: Wed Apr 15 01:32:16 2009 +0000 fec: do not typedef struct types Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit f44d6305280378cb34319e0118e18d84cc7ac773 Author: Sascha Hauer Date: Wed Apr 15 03:11:30 2009 +0000 fec: switch to writel/readl Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 2160187a0a1cdeeeff1d41f53333bea91c82f259 Author: Alexander Beregalov Date: Wed Apr 15 12:53:00 2009 +0000 sun3lance: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ec4e0cff9b8c97f5d63c8f1bdf7f44fb65fa8e3b Author: Alexander Beregalov Date: Wed Apr 15 12:52:59 2009 +0000 smc911x: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 8c2c6be186097aafd8f8a17927203b457545cc69 Author: Alexander Beregalov Date: Wed Apr 15 12:52:58 2009 +0000 sgiseeq: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit b4cf3421afce25655233cf66f6ec545baa8cb6ae Author: Alexander Beregalov Date: Wed Apr 15 12:52:57 2009 +0000 sb1250-mac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit a33a2bb3c9f38c79e97f6ed720412d946e894e81 Author: Alexander Beregalov Date: Wed Apr 15 12:52:56 2009 +0000 rionet: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 1ec847f6d46f041bb2ae65efc7b00d122b03d212 Author: Alexander Beregalov Date: Wed Apr 15 12:52:55 2009 +0000 pci-skeleton: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 9e0ac841f42df4e7acdab7dc1620de0933ed56d7 Author: Alexander Beregalov Date: Wed Apr 15 12:52:54 2009 +0000 pasemi_mac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit cd732de21e3d4f0b905fdbee8abfbb8192144b3d Author: Alexander Beregalov Date: Wed Apr 15 12:52:53 2009 +0000 netx-eth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 96cd55ea0edac7f6d51d2391d5cc1b5c2e360e67 Author: Alexander Beregalov Date: Wed Apr 15 12:52:52 2009 +0000 mvme147: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d6771e0b895f04e8bbd12f12fb3a97e130a4a5f4 Author: Alexander Beregalov Date: Wed Apr 15 12:52:51 2009 +0000 mipsnet: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d53bc2df189f1e11a947eed077f0360bfadf9986 Author: Alexander Beregalov Date: Wed Apr 15 12:52:50 2009 +0000 meth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 0d3936a8b11b72e1387923342e33fdad553271d4 Author: Alexander Beregalov Date: Wed Apr 15 12:52:49 2009 +0000 macmace: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 488b4abcd750c0a600eefa4d9ab42aad980ace11 Author: Alexander Beregalov Date: Wed Apr 15 12:52:48 2009 +0000 mace: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 71f4367ca24830d967fca7a9c1cfb944b08742e5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:47 2009 +0000 lib82596: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 52b031ff3987a079ea759d81447312f1665dbfbd Author: Alexander Beregalov Date: Wed Apr 15 12:52:46 2009 +0000 korina: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 502a326f833927a84a8de29f5fb638aa9da15f4b Author: Alexander Beregalov Date: Wed Apr 15 12:52:45 2009 +0000 jazzsonic: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e7090e347ad8bce0de35f9fe2b95e22e4ae8fbab Author: Alexander Beregalov Date: Wed Apr 15 12:52:44 2009 +0000 ixp2000/ixpdev: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c2775360e82760be3ad7339a7a1442c45c35b395 Author: Alexander Beregalov Date: Wed Apr 15 12:52:43 2009 +0000 iseries_veth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit a1de966682551debbe690672e760487cc555c05f Author: Alexander Beregalov Date: Wed Apr 15 12:52:42 2009 +0000 irda/sa1100_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c76ccd6a256004cca1127c9afb5474638fc78b74 Author: Alexander Beregalov Date: Wed Apr 15 12:52:41 2009 +0000 irda/pxaficp_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 602355a03508bf54dbf113234ef72d75080a492d Author: Alexander Beregalov Date: Wed Apr 15 12:52:40 2009 +0000 irda/au1k_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e186d174e04a7c79606e1ee57abb7470861b3b00 Author: Alexander Beregalov Date: Wed Apr 15 12:52:39 2009 +0000 ibmveth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 2e303a929f2178420820cbfab581ca1c7efa18e8 Author: Alexander Beregalov Date: Wed Apr 15 12:52:38 2009 +0000 hplance: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d88106b70178a87203a23108c47eaa1f20c424b5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:37 2009 +0000 dm9000: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 63ef7d89cbecc249339a59c7a1ec58d2e8e88ea5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:36 2009 +0000 cpmac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 7a4762abf20531fc8d0bdbe132bc63181b8bebe8 Author: Alexander Beregalov Date: Wed Apr 15 12:52:35 2009 +0000 bmac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit eb9bdaee550e4a56592ae12171b0be6de8fc9d17 Author: Alexander Beregalov Date: Wed Apr 15 07:58:29 2009 +0000 8390(p): remove old compat_net_dev_ops code Remove compat_net_dev_ops code and use struct net_device_ops instead of it. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 84381eed93c974024402eda250c9e7890b72ca4a Author: Alexander Beregalov Date: Wed Apr 15 07:58:28 2009 +0000 usbnet: remove old compat_net_dev_ops code Since all usb network drivers are already converted to net_device_ops this code is useless. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d130fe5c95739472b61b30f3f2b401ee43d5e3ea Author: Alexander Beregalov Date: Wed Apr 15 07:58:27 2009 +0000 ipw2x00: remove old compat_net_dev_ops code Since both ipw2100 and ipw2200 are already converted to new net_device_ops this code is useless. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 76620aafd66f0004829764940c5466144969cffc Author: Herbert Xu Date: Thu Apr 16 02:02:07 2009 -0700 gro: New frags interface to avoid copying shinfo It turns out that copying a 16-byte area at ~800k times a second can be really expensive :) This patch redesigns the frags GRO interface to avoid copying that area twice. The two disciples of the frags interface have been converted. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0232ba9ce031d0fd8f331fa8b3c00e16901f54e6 Author: Paul Mundt Date: Thu Apr 16 18:01:31 2009 +0900 sh: pci: Kill off unused SH4_PCIC_NO_RESET code. Nothing ended up using this anymore, so just kill it off. Signed-off-by: Paul Mundt commit 18cb7109d3e83195b605ff2905981020e86f72ca Author: Takashi Iwai Date: Thu Apr 16 10:22:24 2009 +0200 ALSA: hda - Check strcpy length Check the length to copy via strlen() beforehand to avoid the stack corruption, or use strlcpy() to be safe in HD-audio codes. Signed-off-by: Takashi Iwai commit f3948f8857ef5de239f28a61dddb1554a0ae4c2c Author: Li Zefan Date: Wed Apr 15 11:02:56 2009 +0800 blktrace: fix context-info when mixed-using blk tracer and trace events When current tracer is set to blk tracer, TRACE_ITER_CONTEXT_INFO is unset, but actually context-info is printed: pdflush-431 [000] 821.181576: 8,0 P N [pdflush] And then if we enable TRACE_ITER_CONTEXT_INFO: # echo context-info > trace_options We'll see context-info printed twice. What's worse, when we use blk tracer and trace events at the same time, we'll see no context-info for trace events at all: jbd2_commit_logging: dev dm-0:8 transaction 333227 jbd2_end_commit: dev dm-0:8 transaction 333227 head 332814 rm-25433 [001] 9578.307485: 8,18 m N cfq25433 slice expired t=0 rm-25433 [001] 9578.307486: 8,18 m N cfq25433 put_queue This patch adds blk_tracer->set_flags(), and context-info flag is unset only when we set the output to classic mode. Note after this patch, one should unset context-info explicitly if he wants to get binary output that can be parsed by blkparse: # echo nocontext-info > trace_options # echo bin > trace_options # echo blk > current_tracer # cat trace_pipe | blkparse -i - Reported-by: Theodore Ts'o Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <49E54E60.50408@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82 Author: Li Zefan Date: Tue Apr 14 14:00:05 2009 +0800 blktrace: add trace/ to /sys/block/sda Impact: allow ftrace-plugin blktrace to trace device-mapper devices To trace a single partition: # echo 1 > /sys/block/sda/sda1/enable To trace the whole sda instead: # echo 1 > /sys/block/sda/enable Thus we also fix an issue reported by Ted, that ftrace-plugin blktrace can't be used to trace device-mapper devices. Now: # echo 1 > /sys/block/dm-0/trace/enable echo: write error: No such device or address # mount -t ext4 /dev/dm-0 /mnt # echo 1 > /sys/block/dm-0/trace/enable # echo blk > /debug/tracing/current_tracer Reported-by: Theodore Tso Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Shawn Du Cc: Jens Axboe LKML-Reference: <49E42665.6020506@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9908c30997b8a73c95f836170b9998dae9aa3f4a Author: Li Zefan Date: Tue Apr 14 13:59:34 2009 +0800 blktrace: support per-partition tracing for ftrace plugin The previous patch adds support to trace a single partition for relay+ioctl blktrace, and this patch is for ftrace plugin blktrace: # echo 1 > /sys/block/sda/sda7/enable # cat start_lba 102398373 # cat end_lba 102703545 Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Shawn Du Cc: Jens Axboe LKML-Reference: <49E42646.4060608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d Author: Shawn Du Date: Tue Apr 14 13:58:56 2009 +0800 blktrace: support per-partition tracing Though one can specify '-d /dev/sda1' when using blktrace, it still traces the whole sda. To support per-partition tracing, when we start tracing, we initialize bt->start_lba and bt->end_lba to the start and end sector of that partition. Note some actions are per device, thus we don't filter 0-sector events. The original patch and discussion can be found here: http://marc.info/?l=linux-btrace&m=122949374214540&w=2 Signed-off-by: Shawn Du Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Jens Axboe LKML-Reference: <49E42620.4050701@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f1a9ba8f15f89f3f444985251efaf809cd16da53 Author: Paul Mundt Date: Wed Mar 11 16:17:53 2009 +0900 sh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR. SE7780 has the same PCIC fixup as SDK7780, and SH7785LCR the same as R7780RP. Switch to using those, and drop the duplicate code. Signed-off-by: Paul Mundt commit 3aabce8d3d2f9af2c08c2f590ac9acb272ca8c95 Author: Paul Mundt Date: Wed Mar 11 16:12:39 2009 +0900 sh: sh7785lcr: Update for recent PCI changes. Signed-off-by: Paul Mundt commit 10591578c84825a320734e59272f161385edcc41 Author: Paul Mundt Date: Wed Mar 11 15:58:04 2009 +0900 sh: drop duplicate symbol export on dreamcast and sh7785lcr. With board_pci_channels now being exported in a single place, update the boards that duplicated the export. Signed-off-by: Paul Mundt commit aa5d3ff99cc1f3dfe262ab9dd9179131fcfe39fd Author: Magnus Damm Date: Tue Feb 19 21:35:40 2008 +0900 sh: export board_pci_channels in one place Instead of sometimes exporting board_pci_channels[] in the board specific code just export it in one place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8ce0143b11cdc519b8e1fd94a262b654ef0bc3ab Author: Magnus Damm Date: Tue Feb 19 21:35:31 2008 +0900 sh: pci io port base address code Adds a __get_pci_io_base() function which is used to match a port range against struct pci_channel. This allows us to detect if a port range is assigned to pci or happens to be legacy port io. While at it, remove unused cpu-specific cruft. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef339f241b08a16af58897e6288ba200e0c7a8c7 Author: Magnus Damm Date: Tue Feb 19 21:35:22 2008 +0900 sh: pci memory range checking code This patch changes the code to use __is_pci_memory() instead of is_pci_memaddr(). __is_pci_memory() loops through all the pci channels on the system to match memory windows. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef53fdeb7e0cb139aff33665635b886700137abb Author: Magnus Damm Date: Tue Feb 19 21:35:14 2008 +0900 sh: add io_base member to pci_channel Store the io window base address in struct pci_channel and use that one instead of SH77xx_PCI_IO_BASE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e4c6a3604e07185046e2ce4be82a201f4447d788 Author: Magnus Damm Date: Tue Feb 19 21:35:04 2008 +0900 sh: add reg_base member to pci_channel Store the base address of the pci host controller registers in struct pci_channel and use the address in pci_read_reg() and pci_write_reg(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b6706ef10f75921733d7275fd45d268f2f6254c8 Author: Magnus Damm Date: Tue Feb 19 21:34:55 2008 +0900 sh: hook in struct pci_channel in sysdata Store a struct pci_channel pointer in bus->sysdata. This makes whatever struct pci_channel assigned to a bus available for sh4_pci_read() and sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to use bus->sysdata - this to gives us support for multiple pci channels. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 710fa3c81151948ac4d836ef52b57cef91b0ab72 Author: Magnus Damm Date: Wed Mar 11 15:47:23 2009 +0900 sh: avoid using PCIBIOS_MIN_xxx Replaces PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM with direct struct pci_channel access. This allows us to have more than one pci channel. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d0e3db40e2a1352aa2a2f425a7d4631bddc03d51 Author: Magnus Damm Date: Wed Mar 11 15:46:14 2009 +0900 sh: add init member to pci_channel data This patch adds an init callback to struct pci_channel and makes sure it is initialized properly. Code is added to call this init function from pcibios_init(). Return values are adjusted and a warning is is printed if init fails. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b8b47bfbe4eb1ae0e6891e49c86a5f4fb00413be Author: Magnus Damm Date: Wed Mar 11 15:41:51 2009 +0900 sh: pass along struct pci_channel These patches rework the pci code for the sh architecture. Currently each board implements some kind of ioport to address mapping. Some boards use generic_io_base others try passing addresses as io ports. This is the first set of patches that try to unify the pci code as much as possible to avoid duplicated code. This will in the end lead to fewer lines board specific code and more generic code. This patch makes sure a struct pci_channel pointer is passed along to various pci functions such as pci_read_reg(), pci_write_reg(), pci_fixup_pcic(), sh7751_pcic_init() and sh7780_pcic_init(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4e01f54bfd3f423db8fd6c91c4f0471f18aa0c50 Author: Takashi Iwai Date: Thu Apr 16 08:53:34 2009 +0200 ALSA: hda - Add Creative CA0110-IBG support Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode. In the HD-audio mode, no multiple streams are supported by just it behaves like a normal HD-audio device. Signed-off-by: Takashi Iwai commit bc9f3d4291f8275924a9197a81208a5df0a15095 Author: Paul Mundt Date: Thu Apr 16 15:44:58 2009 +0900 sh: Add a generic defconfig for SH7724 platforms. Signed-off-by: Paul Mundt commit 59fe700dcbf3d6257ae86ca8c0192fc64b2eea1c Author: Paul Mundt Date: Thu Apr 16 15:43:42 2009 +0900 sh: Have SH7724 select ARCH_SHMOBILE. This is an SH-Mobile CPU, so select ARCH_SHMOBILE. This enables all of the PM functionality, amongst other things. Signed-off-by: Paul Mundt commit 6a3395beb99d7ae882ddf701c6fa6005ad7edebf Author: Paul Mundt Date: Thu Apr 16 15:36:13 2009 +0900 sh: sh7724: Add CMT clockevents support. This enables support for the CMT clockevents driver on SH7724. Signed-off-by: Paul Mundt commit ad95b78c9f735da11ff9ec760e9b038cd82aead6 Author: Kuninori Morimoto Date: Wed Apr 15 11:43:07 2009 +0900 sh: sh7724: Add VEU support. This adds uio_pdrv_genirq support for the VEU. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit cd5b9ef776feff440e7a889d1a565ceabfecbfa1 Author: Kuninori Morimoto Date: Wed Apr 15 11:43:03 2009 +0900 sh: sh7724: Add VPU support. This adds uio_pdrv_genirq support for the VPU. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 40c7e8be556715079d0a9d7454ceb5371a2f0b39 Author: Kuninori Morimoto Date: Thu Apr 16 13:16:07 2009 +0900 sh: sh7724: Add I2C support. This adds support for the SH-Mobile I2C controller on the SH7724. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 47948d2bd6d27648a107a27357b3bc5ad054ff64 Author: Kuninori Morimoto Date: Wed Apr 15 11:42:47 2009 +0900 serial: sh-sci: SH7724 support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 0207a2efb43d81e29e23662b5d035945688a103f Author: Kuninori Morimoto Date: Thu Apr 16 14:40:56 2009 +0900 sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype. This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit ff7b1b4f000cea84f071c1b6aa2918b2119d66f1 Author: Steven Whitehouse Date: Wed Apr 15 16:55:05 2009 +0100 perfcounters: export perf_tpcounter_event Needed for modular tracepoint support. Signed-off-by: Steven Whitehouse Signed-off-by: Ingo Molnar commit 77857dc07247ed5fa700a197c96ef842d8dbebdf Author: Yinghai Lu Date: Wed Apr 15 11:57:01 2009 -0700 x86: use used_vectors in init_IRQ() Impact: fix crash with many devices I found this crash: [ 552.616646] general protection fault: 0403 [#1] SMP [ 552.620013] last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/host13/target13:0:0/13:0:0:0/block/sr0/size [ 552.620013] CPU 0 [ 552.620013] Modules linked in: [ 552.620013] Pid: 0, comm: swapper Not tainted 2.6.30-rc1-tip-01931-g8fcafd8-dirty #28 Sun Fire X4440 [ 552.620013] RIP: 0010:[] [] default_idle+0x7d/0xda [ 552.620013] RSP: 0018:ffffffff81345e68 EFLAGS: 00010246 [ 552.620013] RAX: 0000000000000000 RBX: ffffffff8133d870 RCX: ffffc20000000000 [ 552.620013] RDX: 00000000001d0620 RSI: ffffffff8023bad8 RDI: ffffffff802a3169 [ 552.620013] RBP: ffffffff81345e98 R08: 0000000000000000 R09: ffffffff812244a0 [ 552.620013] R10: ffffffff81345dc8 R11: 7ebe1b6fa0bcac50 R12: 4ec4ec4ec4ec4ec5 [ 552.620013] R13: ffffffff813a54d0 R14: ffffffff813a7a40 R15: 0000000000000000 [ 552.620013] FS: 00000000006d1880(0000) GS:ffffc20000000000(0000) knlGS:0000000000000000 [ 552.620013] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 552.620013] CR2: 00007fec9d936a50 CR3: 000000007d1a9000 CR4: 00000000000006e0 [ 552.620013] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 552.620013] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 552.620013] Process swapper (pid: 0, threadinfo ffffffff81344000,task ffffffff812244a0) [ 552.620013] Stack: [ 552.620013] 0000000000000000 ffffc20000000000 00000000001d0620 7ebe1b6fa0bcac50 [ 552.620013] ffffffff8133d870 4ec4ec4ec4ec4ec5 ffffffff81345ec8 ffffffff8023bd84 [ 552.620013] 4ec4ec4ec4ec4ec5 ffffffff813a54d0 7ebe1b6fa0bcac50 ffffffff8133d870 [ 552.620013] Call Trace: [ 552.620013] [] c1e_idle+0x109/0x124 [ 552.620013] [] cpu_idle+0xb8/0x101 [ 552.620013] [] rest_init+0x7e/0x94 [ 552.620013] [] start_kernel+0x3dc/0x3fd [ 552.620013] [] x86_64_start_reservations+0xb9/0xd4 [ 552.620013] [] x86_64_start_kernel+0xee/0x109 [ 552.620013] Code: 48 8b 04 25 f8 b4 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48 8b 04 25 f8 b4 00 00 f6 80 38 e0 ff ff 08 75 09 e8 71 76 06 00 fb f4 06 e8 68 76 06 00 fb 65 48 8b 04 25 f8 b4 00 00 83 88 3c e0 [ 552.620013] RIP [] default_idle+0x7d/0xda [ 552.620013] RSP [ 552.828646] ---[ end trace 4cbfc5c01382af7f ]--- Joerg Roedel said "The 0403 error code means that there was an external interrupt with vector 0x80. Yinghai, my theory is that the kernel on this machine has no 32bit emulation compiled in, right? In this case the selector points to a zero entry which may cause the #gpf right after the hlt. But I have no idea where the external int 0x80 comes from" it turns out that we could use 0x80 for external device on 64-bit when 32-bit emulation is disabled. But we forgot to set the gate for it. try to set gate for it by checking used_vectors. Also move apic_intr_init() early to avoid setting that gate two times. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Joerg Roedel LKML-Reference: <49E62DFD.6010904@kernel.org> Signed-off-by: Ingo Molnar commit 13318a7186d8e0ae08c996ea4111a945e7789772 Author: Miao Xie Date: Wed Apr 15 09:59:10 2009 +0800 sched: use group_first_cpu() instead of cpumask_first(sched_group_cpus()) Impact: cleanup This patch changes cpumask_first(sched_group_cpus()) to group_first_cpu() for maintainability. Signed-off-by: Miao Xie Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 19c1a6f5764d787113fa323ffb18be7991208f82 Author: FUJITA Tomonori Date: Tue Apr 14 09:43:19 2009 +0900 x86 gart: reimplement IOMMU_LEAK feature by using DMA_API_DEBUG IOMMU_LEAK, GART's own feature, dumps the used IOMMU entries when IOMMU entries is full, which might be useful to find a bad driver that eats IOMMU entries. DMA_API_DEBUG provides the similar feature, debug_dma_dump_mappings, and it's better than GART's IOMMU_LEAK feature. GART's IOMMU_LEAK feature doesn't say who uses IOMMU entries so it's hard to find a bad driver. This patch reimplements the GART's IOMMU_LEAK feature by using DMA_API_DEBUG. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Andrew Morton LKML-Reference: <1239669799-23579-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit e6a1a89d572c31b62d6dcf11a371c7323852d9b2 Author: FUJITA Tomonori Date: Wed Apr 15 18:22:41 2009 +0900 dma-debug: add dma_debug_resize_entries() to adjust the number of dma_debug_entries We use a static value for the number of dma_debug_entries. It can be overwritten by a kernel command line option. Some IOMMUs (e.g. GART) can't set an appropriate value by a kernel command line option because they can't know such value until they finish initializing up their hardware. This patch adds dma_debug_resize_entries() enables IOMMUs to adjust the number of dma_debug_entries anytime. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: fujita.tomonori@lab.ntt.co.jp Cc: akpm@linux-foundation.org LKML-Reference: <20090415182234R.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit b206525ad1f653b7da35f5827be93770d28eae11 Author: Jaswinder Singh Rajput Date: Tue Apr 14 23:04:37 2009 +0530 x86: k8 convert node_to_k8_nb_misc() from a macro to an inline function Converting node_to_k8_nb_misc() from a macro to an inline function makes compiler see the 'node' parameter in the !CONFIG_K8_NB too, which eliminates these compiler warnings: arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’: arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’ arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’: arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’ Signed-off-by: Jaswinder Singh Rajput Cc: Andreas Herrmann Cc: Mark Langsdorf LKML-Reference: <1239730477.2966.26.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 05725f7eb4b8acb147c5fc7b91397b1f6bcab00d Author: Jiri Pirko Date: Tue Apr 14 20:17:16 2009 +0200 rculist: use list_entry_rcu in places where it's appropriate Use previously introduced list_entry_rcu instead of an open-coded list_entry + rcu_dereference combination. Signed-off-by: Jiri Pirko Reviewed-by: Paul E. McKenney Cc: dipankar@in.ibm.com LKML-Reference: <20090414181715.GA3634@psychotron.englab.brq.redhat.com> Signed-off-by: Ingo Molnar commit 9cfe06f8cd5c8c3ad6ab323973e87dde670642b8 Author: Steven Rostedt Date: Tue Apr 14 21:37:03 2009 -0400 tracing/events: add trace-events-sample This patch adds a sample to the samples directory on how to create and use TRACE_EVENT trace points. Signed-off-by: Steven Rostedt commit ad8d75fff811a6a230f7f43b05a6483099349533 Author: Steven Rostedt Date: Tue Apr 14 19:39:12 2009 -0400 tracing/events: move trace point headers into include/trace/events Impact: clean up Create a sub directory in include/trace called events to keep the trace point headers in their own separate directory. Only headers that declare trace points should be defined in this directory. Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Neil Horman Cc: Zhao Lei Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Signed-off-by: Steven Rostedt commit ecda8ae02a08ef065ff387f5cb2a2d4999da2408 Author: Steven Rostedt Date: Tue Apr 14 18:49:38 2009 -0400 tracing/events: fix lockdep system name Impact: fix compile error of lockdep event tracer Ingo Molnar pointed out that the system name for the lockdep tracer was "lock" which is used to include the event trace file name. It should be "lockdep" Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 61f919a12fbdc3fd20f980a34a118d597198a392 Author: Steven Rostedt Date: Tue Apr 14 18:22:32 2009 -0400 tracing/events: fix compile for modules disabled Impact: compile fix The addition of TRACE_EVENT for modules breaks the build for when modules are disabled. This code fixes that. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 19e4529ee7345079eeacc8e40cf69a304a64dc23 Author: Stephen Rothwell Date: Tue Apr 14 17:27:18 2009 +1000 modules: Fix up build when CONFIG_MODULE_UNLOAD=n. Commit 3d43321b7015387cfebbe26436d0e9d299162ea1 ("modules: sysctl to block module loading") introduces a modules_disabled variable that is only defined if CONFIG_MODULE_UNLOAD is enabled, despite being used in other places. This moves it up and fixes up the build. CC kernel/module.o kernel/module.c: In function 'sys_init_module': kernel/module.c:2401: error: 'modules_disabled' undeclared (first use in this function) kernel/module.c:2401: error: (Each undeclared identifier is reported only once kernel/module.c:2401: error: for each function it appears in.) make[1]: *** [kernel/module.o] Error 1 make: *** [kernel/module.o] Error 2 Signed-off-by: Paul Mundt Signed-off-by: James Morris commit 6d723736e472f7a0cd5b62c84152fceead241328 Author: Steven Rostedt Date: Fri Apr 10 14:53:50 2009 -0400 tracing/events: add support for modules to TRACE_EVENT Impact: allow modules to add TRACE_EVENTS on load This patch adds the final hooks to allow modules to use the TRACE_EVENT macro. A notifier and a data structure are used to link the TRACE_EVENTs defined in the module to connect them with the ftrace event tracing system. It also adds the necessary automated clean ups to the trace events when a module is removed. Cc: Rusty Russell Signed-off-by: Steven Rostedt commit 17c873ec280a03894bc718af817f7f24fa787ae1 Author: Steven Rostedt Date: Fri Apr 10 18:12:50 2009 -0400 tracing/events: add export symbols for trace events in modules Impact: let modules add trace events The trace event code requires some functions to be exported to allow modules to use TRACE_EVENT. This patch adds EXPORT_SYMBOL_GPL to the necessary functions. Signed-off-by: Steven Rostedt commit a59fd6027218bd7c994e39d14afe0242f895144f Author: Steven Rostedt Date: Fri Apr 10 13:52:20 2009 -0400 tracing/events: convert event call sites to use a link list Impact: makes it possible to define events in modules The events are created by reading down the section that they are linked in by the macros. But this is not scalable to modules. This patch converts the manipulations to use a global link list, and on boot up it adds the items in the section to the list. This change will allow modules to add their tracing events to the list as well. Note, this change alone does not permit modules to use the TRACE_EVENT macros, but the change is needed for them to eventually do so. Signed-off-by: Steven Rostedt commit f42c85e74faa422cf0bc747ed808681145448f88 Author: Steven Rostedt Date: Mon Apr 13 12:25:37 2009 -0400 tracing/events: move the ftrace event tracing code to core This patch moves the ftrace creation into include/trace/ftrace.h and simplifies the work of developers in adding new tracepoints. Just the act of creating the trace points in include/trace and including define_trace.h will create the events in the debugfs/tracing/events directory. This patch removes the need of include/trace/trace_events.h Signed-off-by: Steven Rostedt commit 97f2025153499faa17267a0d4e18c7afaf73f39d Author: Steven Rostedt Date: Mon Apr 13 11:20:49 2009 -0400 tracing/events: move declarations from trace directory to core include In preparation to allowing trace events to happen in modules, we need to move some of the local declarations in the kernel/trace directory into include/linux. This patch simply moves the declarations and performs no context changes. Signed-off-by: Steven Rostedt commit 9504504cbab29ecb694186b1c5b15d3579c43c51 Author: Steven Rostedt Date: Sat Apr 11 12:59:57 2009 -0400 tracing: make trace_seq operations available for core kernel In the process to make TRACE_EVENT macro work for modules, the trace_seq operations must be available for core kernel code. These operations are quite useful and can be used for other implementations. The main idea is that we create a trace_seq handle that acts very much like the seq_file handle. struct trace_seq *s = kmalloc(sizeof(*s, GFP_KERNEL); trace_seq_init(s); trace_seq_printf(s, "some data %d\n", variable); printk("%s", s->buffer); The main use is to allow a top level function call several other functions that may store printf like data into the buffer. Then at the end, the top level function can process all the data with any method it would like to. It could be passed to userspace, output via printk or even use seq_file: trace_seq_to_user(s, ubuf, cnt); seq_puts(m, s->buffer); Signed-off-by: Steven Rostedt commit a8d154b009168337494fbf345671bab74d3e4b8b Author: Steven Rostedt Date: Fri Apr 10 09:36:00 2009 -0400 tracing: create automated trace defines This patch lowers the number of places a developer must modify to add new tracepoints. The current method to add a new tracepoint into an existing system is to write the trace point macro in the trace header with one of the macros TRACE_EVENT, TRACE_FORMAT or DECLARE_TRACE, then they must add the same named item into the C file with the macro DEFINE_TRACE(name) and then add the trace point. This change cuts out the needing to add the DEFINE_TRACE(name). Every file that uses the tracepoint must still include the trace/.h file, but the one C file must also add a define before the including of that file. #define CREATE_TRACE_POINTS #include This will cause the trace/mytrace.h file to also produce the C code necessary to implement the trace point. Note, if more than one trace/.h is used to create the C code it is best to list them all together. #define CREATE_TRACE_POINTS #include #include #include Thanks to Mathieu Desnoyers and Christoph Hellwig for coming up with the cleaner solution of the define above the includes over my first design to have the C code include a "special" header. This patch converts sched, irq and lockdep and skb to use this new method. Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Neil Horman Cc: Zhao Lei Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Signed-off-by: Steven Rostedt commit 72c6a9870f901045f2464c3dc6ee8914bfdc07aa Author: Jiri Pirko Date: Tue Apr 14 17:33:57 2009 +0200 rculist.h: introduce list_entry_rcu() and list_first_entry_rcu() I've run into the situation where I need to use list_first_entry with rcu-guarded list. This patch introduces this. Also simplify list_for_each_entry_rcu() to use new list_entry_rcu() instead of list_entry(). Signed-off-by: Jiri Pirko Reviewed-by: Paul E. McKenney Cc: dipankar@in.ibm.com LKML-Reference: <20090414153356.GC3999@psychotron.englab.brq.redhat.com> Signed-off-by: Ingo Molnar commit 56449f437add737a1e5e1cb7e00f63ac8ead1938 Author: Ingo Molnar Date: Tue Apr 14 11:24:36 2009 +0200 tracing: make the trace clocks available generally Jeremy Fitzhardinge reported this build failure: LD .tmp_vmlinux1 arch/x86/kernel/built-in.o: In function `ds_take_timestamp': git/linux/arch/x86/kernel/ds.c:1380: undefined reference to `trace_clock_global' git/linux/arch/x86/kernel/ds.c:1380: undefined reference to `trace_clock_global' Which is due to !CONFIG_TRACING && CONFIG_X86_DS=y. Expose the trace clock code to CONFIG_X86_DS as well. [ Unfortunately librarizing doesnt work well - ancient architectures with no raw_local_irq_save() primitive break the build. ] Reported-by: Jeremy Fitzhardinge LKML-Reference: <49E4413F.7070700@goop.org> Signed-off-by: Ingo Molnar commit 78ddb08feb7d4fbe3c0a9931804c51ee58be4023 Author: Johannes Weiner Date: Tue Apr 14 16:53:05 2009 +0200 wait: don't use __wake_up_common() '777c6c5 wait: prevent exclusive waiter starvation' made __wake_up_common() global to be used from abort_exclusive_wait(). It was needed to do a wake-up with the waitqueue lock held while passing down a key to the wake-up function. Since '4ede816 epoll keyed wakeups: add __wake_up_locked_key() and __wake_up_sync_key()' there is an appropriate wrapper for this case: __wake_up_locked_key(). Use it here and make __wake_up_common() private to the scheduler again. Signed-off-by: Johannes Weiner Cc: Andrew Morton Cc: Peter Zijlstra LKML-Reference: <1239720785-19661-1-git-send-email-hannes@cmpxchg.org> Signed-off-by: Ingo Molnar commit ea20d9293ce423a39717ed4375393129a2e701f9 Author: Steven Rostedt Date: Fri Apr 10 08:54:16 2009 -0400 tracing: consolidate trace and trace_event headers Impact: clean up Neil Horman (et. al.) criticized the way the trace events were broken up into two files. The reason for that was that ftrace needed to separate out the declarations from where the #include was used. It then dawned on me that the tracepoint.h header only needs to define the TRACE_EVENT macro if it is not already defined. The solution is simply to test if TRACE_EVENT is defined, and if it is not then the linux/tracepoint.h header can define it. This change consolidates all the .h and _event_types.h into the .h file. Reported-by: Neil Horman Reported-by: Theodore Tso Reported-by: Jiaying Zhang Cc: Zhaolei Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Jason Baron Cc: Mathieu Desnoyers Signed-off-by: Steven Rostedt commit 6967963d6d5cac40a091d075326f0e3ccb95c58a Merge: 9b1a88c 34e51ce Author: Mark Brown Date: Tue Apr 14 13:22:37 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit c282866101bfde888a44da3babd2f9ab265ca6f9 Author: Krzysztof Helt Date: Sat Apr 4 14:48:32 2009 +0200 ALSA: sc6000: add support for SC-6600 and SC-7000 Add support for later cards based on CompuMedia ASC-9408 chipsets. These cards were produced by Gallant. This patch make the OSS aedsp16 driver redundant. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 7e05575c422d45f393c2d9b5900e97a30bf69bea Author: FUJITA Tomonori Date: Tue Apr 14 12:12:29 2009 +0900 x86: calgary: remove IOMMU_DEBUG CONFIG_IOMMU_DEBUG has depends on CONFIG_GART_IOMMU: config IOMMU_DEBUG bool "Enable IOMMU debugging" depends on GART_IOMMU && DEBUG_KERNEL depends on X86_64 So it's not useful to have CONFIG_IOMMU_DEBUG in Calgary IOMMU code, which does the extra checking of the bitmap space management. And Calgary uses the iommu helper for the bitmap space management now so it would be better to have the extra checking feature in the iommu helper rather than Calgary code (if necessary). Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Cc: Joerg Roedel Cc: alexisb@us.ibm.com LKML-Reference: <20090414120827G.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8338c300642f67af5a8cc279ca5e088c7055b7eb Author: Takashi Iwai Date: Tue Apr 14 12:30:36 2009 +0200 ALSA: Add missing description of lx6464es to ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit d7dee4d7744d039bf28e4f6d4f5674f44820265a Author: Takashi Iwai Date: Tue Apr 14 12:27:12 2009 +0200 ALSA: lx6464es - Disable lx_message_send() Disable lx_message_send() function temporarily as it's not used anywhere. Signed-off-by: Takashi Iwai commit 7852fd08fdc78bf43150137bdbfdfdccdefffe0f Author: Takashi Iwai Date: Tue Apr 14 12:25:52 2009 +0200 ALSA: lx6464es - Use snd_card_create() Use snd_card_create() instead of the obsoleted snd_card_new(). Signed-off-by: Takashi Iwai commit 02bec490450836ebbd628e97ec03f10b57def8ce Author: Tim Blechmann Date: Tue Mar 24 12:24:35 2009 +0100 ALSA: lx6464es - driver for the digigram lx6464es interface prototype of a driver for the digigram lx6464es 64 channel ethersound interface. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 6424fb38667fffbbb1b90be0ffd9a0c540db6a4b Author: Yinghai Lu Date: Mon Apr 13 23:51:46 2009 -0700 x86: remove (null) in /sys kernel_page_tables Impact: cleanup %p prints out 0x000000000000000 as (null) so use %lx instead. Signed-off-by: Yinghai Lu LKML-Reference: <49E43282.1090607@kernel.org> Signed-off-by: Ingo Molnar commit e790fb0ba64bfec158e1219d899cb588275d12ab Author: Gautham R Shenoy Date: Tue Apr 14 10:25:35 2009 +0530 sched: Nominate a power-efficient ilb in select_nohz_balancer() The CPU that first goes idle becomes the idle-load-balancer and remains that until either it picks up a task or till all the CPUs of the system goes idle. Optimize this further to allow it to relinquish it's post once all it's siblings in the power-aware sched_domain go idle, thereby allowing the whole package-core to go idle. While relinquising the post, nominate another an idle-load balancer from a semi-idle core/package. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra LKML-Reference: <20090414045535.7645.31641.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit f711f6090a81cbd396b63de90f415d33f563af9b Author: Gautham R Shenoy Date: Tue Apr 14 10:25:30 2009 +0530 sched: Nominate idle load balancer from a semi-idle package. Currently the nomination of idle-load balancer is done by choosing the first idle cpu in the nohz.cpu_mask. This may not be power-efficient, since such an idle cpu could come from a completely idle core/package thereby preventing the whole core/package from being in a low-power state. For eg, consider a quad-core dual package system. The cpu numbering need not be sequential and can something like [0, 2, 4, 6] and [1, 3, 5, 7]. With sched_mc/smt_power_savings and the power-aware IRQ balance, we try to keep as fewer Packages/Cores active. But the current idle load balancer logic goes against this by choosing the first_cpu in the nohz.cpu_mask and not taking the system topology into consideration. Improve the algorithm to nominate the idle load balancer from a semi idle cores/packages thereby increasing the probability of the cores/packages being in deeper sleep states for longer duration. The algorithm is activated only when sched_mc/smt_power_savings != 0. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra LKML-Reference: <20090414045530.7645.12175.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit e7d43a74cb07cbc4b8e9b5e4a914816b33fb0719 Author: Jaswinder Singh Rajput Date: Tue Apr 14 13:18:28 2009 +0530 x86: avoid multiple declaration of kstack_depth_to_print Impact: cleanup asm/stacktrace.h is more appropriate so removing other 2 declarations. Signed-off-by: Jaswinder Singh Rajput Cc: Neil Horman LKML-Reference: <1239695308.3033.34.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 66aa230e437d89ca56224135f617e2d8e391a3ef Author: Jaswinder Singh Rajput Date: Tue Apr 14 12:54:29 2009 +0530 x86: page_types.h unification of declarations Impact: unification of declarations, cleanup Unification of declarations: moved init_memory_mapping, initmem_init and free_initmem from page_XX_types.h to page_types.h Signed-off-by: Jaswinder Singh Rajput Acked-by: Pekka Enberg Cc: Andrew Morton LKML-Reference: <1239693869.3033.31.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 6fd9b3a40b82081d9e6490b0d7cd656e9a78a134 Author: Paul E. McKenney Date: Mon Apr 13 21:31:18 2009 -0700 rcu: Update RCU tracing documentation for __rcu_pending This patch updates the RCU documentation to reflect the changes in tracing made in the previous patch in the set. Located-by: Anton Blanchard Tested-by: Anton Blanchard Signed-off-by: Paul E. McKenney Cc: anton@samba.org Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: manfred@colorfullife.com Cc: cl@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: schamp@sgi.com Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: ego@in.ibm.com Cc: laijs@cn.fujitsu.com Cc: rostedt@goodmis.org Cc: peterz@infradead.org Cc: penberg@cs.helsinki.fi Cc: andi@firstfloor.org Cc: "Paul E. McKenney" LKML-Reference: <12396834792865-git-send-email-> Signed-off-by: Ingo Molnar commit 7ba5c840e64d4a967379f1ae3eca73278180b11d Author: Paul E. McKenney Date: Mon Apr 13 21:31:17 2009 -0700 rcu: Add __rcu_pending tracing to hierarchical RCU Add tracing to __rcu_pending() to provide information on why RCU processing was kicked off. This is helpful for debugging hierarchical RCU, and might also be helpful in learning how hierarchical RCU operates. Located-by: Anton Blanchard Tested-by: Anton Blanchard Signed-off-by: Paul E. McKenney Cc: anton@samba.org Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: manfred@colorfullife.com Cc: cl@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: schamp@sgi.com Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: ego@in.ibm.com Cc: laijs@cn.fujitsu.com Cc: rostedt@goodmis.org Cc: peterz@infradead.org Cc: penberg@cs.helsinki.fi Cc: andi@firstfloor.org Cc: "Paul E. McKenney" LKML-Reference: <1239683479943-git-send-email-> Signed-off-by: Ingo Molnar commit 05cfbd66d07c44865983c8b65ae9d0037d874206 Merge: 31c9a24 ef631b0 Author: Ingo Molnar Date: Tue Apr 14 11:32:23 2009 +0200 Merge branch 'core/urgent' into core/rcu Merge reason: new patches to be queued up depend on: ef631b0: rcu: Make hierarchical RCU less IPI-happy Signed-off-by: Ingo Molnar commit 861ab44059350e5cab350238606cf8814abab93b Author: Rafael J. Wysocki Date: Sun Apr 5 08:40:04 2009 +0000 NET/r8169: Rework suspend and resume The recent changes of the PCI PM core allow us to simplify the suspend and resume handling in a number of device drivers, since they don't need to carry out the general PCI PM operations, such as changing the power state of the device, during suspend and resume any more. Simplify the suspend and resume callbacks of r8169 using the observation that the PCI PM core can take care of some operations carried out by the driver. Additionally, make the shutdown callback of r8169 only put the device into a low power state if the system is going to be powered off (kexec is known to have problems with network adapters that are put into low power states on shutdown). This patch has been tested on MSI Wind U100. Signed-off-by: Rafael J. Wysocki Tested-by: Bruno Prémont Signed-off-by: David S. Miller commit ecfcc53fef3c357574bb6143dce6631e6d56295c Author: Etienne Basset Date: Wed Apr 8 20:40:06 2009 +0200 smack: implement logging V3 the following patch, add logging of Smack security decisions. This is of course very useful to understand what your current smack policy does. As suggested by Casey, it also now forbids labels with ', " or \ It introduces a '/smack/logging' switch : 0: no logging 1: log denied (default) 2: log accepted 3: log denied&accepted Signed-off-by: Etienne Basset Acked-by: Casey Schaufler Acked-by: Eric Paris Signed-off-by: James Morris commit 6e837fb152410e571a81aaadbd9884f0bc46a55e Author: Etienne Basset Date: Wed Apr 8 20:39:40 2009 +0200 smack: implement logging V3 This patch creates auditing functions usable by LSM to audit security events. It provides standard dumping of FS, NET, task etc ... events (code borrowed from SELinux) and provides 2 callbacks to define LSM specific auditing, which should be flexible enough to convert SELinux too. Signed-off-by: Etienne Basset Acked-by: Casey Schaufler cked-by: Eric Paris Signed-off-by: James Morris commit 0ee904c35cc3fdd26a9c76077d9692d458309186 Author: Alexander Beregalov Date: Sat Apr 11 14:50:23 2009 +0000 drivers/net: replace BUG() with BUG_ON() if possible Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 710b523ac59426e8bfdea3533f42118e46b9cbfb Author: Larry Finger Date: Thu Apr 9 07:11:55 2009 +0000 kaweth: Clean up code The driver kaweth yields a -EBUSY error when starting, and a -ETIME error when shutting down. These errors are avoided, and the RX status is further checked for other potential errors. Signed-off-by: Larry Finger Signed-off-by: David S. Miller commit 54cb2284dce50672c40248b8e95940318ec2ca41 Author: Wei Yongjun Date: Wed Apr 8 22:16:38 2009 +0000 at76c50x-usb: remove pointless conditional before kfree_skb() Remove pointless conditional before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 728a9972d1f290608e730b9ccec2061aa81f6609 Author: Ajit Khaparde Date: Mon Apr 13 15:41:22 2009 -0700 be2net: changes for checksum and segmentation offload - Enables Rx checksum feature by default. - Disables support for ipv6 tso. - Changes in Rx path to handle Rx completions with various checksum options. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d Author: Tom Zanussi Date: Mon Apr 13 03:17:50 2009 -0500 tracing/filters: allow on-the-fly filter switching This patch allows event filters to be safely removed or switched on-the-fly while avoiding the use of rcu or the suspension of tracing of previous versions. It does it by adding a new filter_pred_none() predicate function which does nothing and by never deallocating either the predicates or any of the filter_pred members used in matching; the predicate lists are allocated and initialized during ftrace_event_calls initialization. Whenever a filter is removed or replaced, the filter_pred_* functions currently in use by the affected ftrace_event_call are immediately switched over to to the filter_pred_none() function, while the rest of the filter_pred members are left intact, allowing any currently executing filter_pred_* functions to finish up, using the values they're currently using. In the case of filter replacement, the new predicate values are copied into the old predicates after the above step, and the filter_pred_none() functions are replaced by the filter_pred_* functions for the new filter. In this case, it is possible though very unlikely that a previous filter_pred_* is still running even after the filter_pred_none() switch and the switch to the new filter_pred_*. In that case, however, because nothing has been deallocated in the filter_pred, the worst that can happen is that the old filter_pred_* function sees the new values and as a result produces either a false positive or a false negative, depending on the values it finds. So one downside to this method is that rarely, it can produce a bad match during the filter switch, but it should be possible to live with that, IMHO. The other downside is that at least in this patch the predicate lists are always pre-allocated, taking up memory from the start. They could probably be allocated on first-use, and de-allocated when tracing is completely stopped - if this patch makes sense, I could create another one to do that later on. Oh, and it also places a restriction on the size of __arrays in events, currently set to 128, since they can't be larger than the now embedded str_val arrays in the filter_pred struct. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1239610670.6660.49.camel@tropicana> Signed-off-by: Ingo Molnar commit b5c851a88a369854c04e511cefb84ea2d0cfa209 Merge: eb02ce0 80a04d3 Author: Ingo Molnar Date: Tue Apr 14 00:02:16 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: merge latest tracing fixes to avoid conflicts in kernel/trace/trace_events_filter.c with upcoming change Signed-off-by: Ingo Molnar commit eb02ce017dd83985041a7e54c6449f92d53b026f Author: Tom Zanussi Date: Wed Apr 8 03:15:54 2009 -0500 tracing/filters: use ring_buffer_discard_commit() in filter_check_discard() This patch changes filter_check_discard() to make use of the new ring_buffer_discard_commit() function and modifies the current users to call the old commit function in the non-discard case. It also introduces a version of filter_check_discard() that uses the global trace buffer (filter_current_check_discard()) for those cases. v2 changes: - fix compile error noticed by Ingo Molnar Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <1239178554.10295.36.camel@tropicana> Signed-off-by: Ingo Molnar commit 5f77a88b3f8268b11940b51d2e03d26a663ceb90 Author: Tom Zanussi Date: Wed Apr 8 03:14:01 2009 -0500 tracing/infrastructure: separate event tracer from event support Add a new config option, CONFIG_EVENT_TRACING that gets selected when CONFIG_TRACING is selected and adds everything needed by the stuff in trace_export - basically all the event tracing support needed by e.g. bprint, minus the actual events, which are only included if CONFIG_EVENT_TRACER is selected. So CONFIG_EVENT_TRACER can be used to turn on or off the generated events (what I think of as the 'event tracer'), while CONFIG_EVENT_TRACING turns on or off the base event tracing support used by both the event tracer and the other things such as bprint that can't be configured out. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <1239178441.10295.34.camel@tropicana> Signed-off-by: Ingo Molnar commit 77d9f465d46fd67cdb82ee5e1ab99dd57a17c486 Author: Steven Rostedt Date: Thu Apr 2 01:16:59 2009 -0400 tracing/filters: use ring_buffer_discard_commit for discarded events The ring_buffer_discard_commit makes better usage of the ring_buffer when an event has been discarded. It tries to remove it completely if possible. This patch converts the trace event filtering to use ring_buffer_discard_commit instead of the ring_buffer_event_discard. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3 Author: Steven Rostedt Date: Thu Apr 2 00:09:41 2009 -0400 ring-buffer: add ring_buffer_discard_commit The ring_buffer_discard_commit is similar to ring_buffer_event_discard but it can only be done on an event that has yet to be commited. Unpredictable results can happen otherwise. The main difference between ring_buffer_discard_commit and ring_buffer_event_discard is that ring_buffer_discard_commit will try to free the data in the ring buffer if nothing has addded data after the reserved event. If something did, then it acts almost the same as ring_buffer_event_discard followed by a ring_buffer_unlock_commit. Note, either ring_buffer_commit_discard and ring_buffer_unlock_commit can be called on an event, not both. This commit also exports both discard functions to be usable by GPL modules. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e45f2e2bd298e1ff687448e5fd15a3588b5807ec Author: Tom Zanussi Date: Tue Mar 31 00:49:16 2009 -0500 tracing/filters: add TRACE_EVENT_FORMAT_NOFILTER event macro Frederic Weisbecker suggested that the trace_special event shouldn't be filterable; this patch adds a TRACE_EVENT_FORMAT_NOFILTER event macro that allows an event format to be exported without having a filter attached, and removes filtering from the trace_special event. Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e1112b4d96859367a93468027c9635e2ac04eb3f Author: Tom Zanussi Date: Tue Mar 31 00:48:49 2009 -0500 tracing/filters: add run-time field descriptions to TRACE_EVENT_FORMAT events This patch adds run-time field descriptions to all the event formats exported using TRACE_EVENT_FORMAT. It also hooks up all the tracers that use them (i.e. the tracers in the 'ftrace subsystem') so they can also have their output filtered by the event-filtering mechanism. When I was testing this, there were a couple of things that fooled me into thinking the filters weren't working, when actually they were - I'll mention them here so others don't make the same mistakes (and file bug reports. ;-) One is that some of the tracers trace multiple events e.g. the sched_switch tracer uses the context_switch and wakeup events, and if you don't set filters on all of the traced events, the unfiltered output from the events without filters on them can make it look like the filtering as a whole isn't working properly, when actually it is doing what it was asked to do - it just wasn't asked to do the right thing. The other is that for the really high-volume tracers e.g. the function tracer, the volume of filtered events can be so high that it pushes the unfiltered events out of the ring buffer before they can be read so e.g. cat'ing the trace file repeatedly shows either no output, or once in awhile some output but that isn't there the next time you read the trace, which isn't what you normally expect when reading the trace file. If you read from the trace_pipe file though, you can catch them before they disappear. Changes from v1: As suggested by Frederic Weisbecker: - get rid of externs in functions - added unlikely() to filter_check_discard() Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5cda395f4a262788d8ed79ac8a26a2b821e5f751 Author: Alexander van Heukelum Date: Mon Apr 13 17:39:24 2009 +0200 x86: fix function definitions after: x86: apic - introduce imcr_ helpers The patch "introduce imcr_ helpers" introduced good comments, but also a few new compile warnings. This fixes the function definitions to have a 'void' return type. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov LKML-Reference: <20090413153924.GA20287@mailshack.com> Signed-off-by: Ingo Molnar commit 0f3fd87ce43727d6b8573191ce89e874533b1429 Author: Luis Henriques Date: Mon Apr 13 20:24:50 2009 +0100 perf_counter: fix alignment in /proc/interrupts Trivial fix on columns alignment in /proc/interrupts file. Signed-off-by: Luis Henriques Cc: Peter Zijlstra LKML-Reference: <20090413192449.GA3920@hades.domain.com> Signed-off-by: Ingo Molnar commit 9b1a88c7105f593cc61a7acd3c51fcf4bf7b8038 Merge: f2644a2 6e498d5 Author: Mark Brown Date: Mon Apr 13 15:12:48 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit f2644a2c00a06236a9c5e85488b0680825bad39c Author: Mark Brown Date: Tue Apr 7 19:20:14 2009 +0100 ASoC: Add WM8960 CODEC driver The WM8960 is a low power, high quality stereo codec designed for portable digital audio applications. Stereo class D speaker drivers provide 1W per channel into 8W loads. Guaranteed low leakage, excellent PSRR and pop/click suppression mechanisms enable direct battery connection for the speaker supply. The device also integrates a complete microphone interface and a stereo headphone driver. External component requirements are drastically reduced as no separate microphone, speaker or headphone amplifiers are required. Advanced on-chip digital signal processing performs automatic level control for the microphone or line input. Stereo 24-bit sigma-delta ADCs and DACs are used with low power over-sampling digital interpolation and decimation filters and a flexible digital audio interface. The master clock can be input directly or generated internally by an onboard PLL, supporting most commonly-used clocking schemes. This driver was originally written by Liam Girdwood, with substantial subsequent additions and updates for feature completeness and changes in the ASoC framework from me. Signed-off-by: Mark Brown commit a820532002e70e3a06f1ea7133e9b02443d07382 Author: Daniel Ribeiro Date: Wed Apr 8 10:51:24 2009 -0300 ASoC: pxa-ssp.c fix clock/frame invert SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low) SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low) SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High) SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High) SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0). This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A and DSP_B modes. Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 6bbcb459cd50807511491ddf96bca1ef92006bf8 Author: Mark Brown Date: Mon Apr 13 11:29:10 2009 +0100 ASoC: Move the WM9713 voice DAC powerdown to a DAPM event This ensures that we sync with the DAPM powerdown sequencing properly and don't need to bounce the power on the voice DAC so often. Signed-off-by: Mark Brown commit f6d655a6e6974e474a11b25052c29d10b80814b3 Author: Mark Brown Date: Mon Apr 13 11:27:03 2009 +0100 ASoC: Support DAPM events for DACs and ADCs Signed-off-by: Mark Brown commit 025756eca458b4a3d5e3d76baaffb2e8e3df79db Author: Mark Brown Date: Mon Apr 13 11:09:18 2009 +0100 ASoC: Factor out application of power for generic widgets This is simple code motion, intended to support future refactoring of the DAPM algorithms and (more immediately) the additon of events for DACs and ADCs. Signed-off-by: Mark Brown commit f4976116a98f108bf385f217332aadb3ca98fe66 Author: Mark Brown Date: Mon Apr 13 10:53:02 2009 +0100 ASoC: WM9713 requires symmetric rates on the voice DAI Signed-off-by: Mark Brown commit b9b34f24b23ba9e79e07c0980e7fff16af2a67d1 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:42 2009 +0400 x86: smp.c - align smp_ops assignments Impact: cleanup It's a bit hard to parse by eyes without them being aligned. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.924175574@openvz.org> Signed-off-by: Ingo Molnar commit 08306ce61d6848e6fbf74fa4cc693c3fb29e943f Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:41 2009 +0400 x86: apic - introduce dummy apic operations Impact: refactor, speed up and robustize code In case if apic was disabled by kernel option or by hardware limits we can use dummy operations in apic->write to simplify the ack_APIC_irq() code. At the lame time the patch fixes the missed EOI in do_IRQ function (which has place if kernel is compiled as X86-32 and interrupt without handler happens where apic was not asked to be disabled via kernel option). Note that native_apic_write_dummy() consists of WARN_ON_ONCE to catch any buggy writes on enabled APICs. Could be removed after some time of testing. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.724788431@openvz.org> Signed-off-by: Ingo Molnar commit c0eaa4536f08b98fbcfa7fce5b7b0de1bebcb0e1 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:40 2009 +0400 x86: apic - introduce imcr_ helpers Impact: cleanup Distinguish port writting magic into helpers with comments. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.535921550@openvz.org> Signed-off-by: Ingo Molnar commit edea7148a87c099e5d5d4838285cc27e459588b7 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:39 2009 +0400 x86: irq.c - tiny cleanup Impact: cleanup, robustization 1) guard ack_bad_irq with printk_ratelimit since there is no guarantee we will not be flooded one day 2) use pr_emerg() helper Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.277579847@openvz.org> Signed-off-by: Ingo Molnar commit 3fa89ca7ba5ba50b3924a11f6604b4bdce5f7842 Author: Jaswinder Singh Rajput Date: Sun Apr 12 20:37:25 2009 +0530 x86: vdso/vma.c declare vdso_enabled and arch_setup_additional_pages before they get used Impact: cleanup, address sparse warnings Addresses the problem pointed out by these sparse warning: arch/x86/vdso/vma.c:19:28: warning: symbol 'vdso_enabled' was not declared. Should it be static? arch/x86/vdso/vma.c:101:5: warning: symbol 'arch_setup_additional_pages' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1239548845.4170.2.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 66de7792c02693b49671afe58c771fde3b092fc7 Author: Li Zefan Date: Wed Apr 1 16:19:19 2009 +0800 blktrace: fix output of BLK_TC_PC events BLK_TC_PC events should be treated differently with BLK_TC_FS events. Before this patch: # echo 1 > /sys/block/sda/sda1/trace/enable # echo pc > /sys/block/sda/sda1/trace/act_mask # echo blk > /debugfs/tracing/current_tracer # (generate some BLK_TC_PC events) # cat trace bash-2184 [000] 1774.275413: 8,7 I N [bash] bash-2184 [000] 1774.275435: 8,7 D N [bash] bash-2184 [000] 1774.275540: 8,7 I R [bash] bash-2184 [000] 1774.275547: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275580: 8,7 C N 0 [0] bash-2184 [000] 1774.275648: 8,7 I R [bash] bash-2184 [000] 1774.275653: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275682: 8,7 C N 0 [0] bash-2184 [000] 1774.275739: 8,7 I R [bash] bash-2184 [000] 1774.275744: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275771: 8,7 C N 0 [0] bash-2184 [000] 1774.275804: 8,7 I R [bash] bash-2184 [000] 1774.275808: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275836: 8,7 C N 0 [0] After this patch: # cat trace bash-2263 [000] 366.782149: 8,7 I N 0 (00 ..) [bash] bash-2263 [000] 366.782323: 8,7 D N 0 (00 ..) [bash] bash-2263 [000] 366.782557: 8,7 I R 8 (25 00 ..) [bash] bash-2263 [000] 366.782560: 8,7 D R 8 (25 00 ..) [bash] ksoftirqd/0-4 [000] 366.782582: 8,7 C N (25 00 ..) [0] bash-2263 [000] 366.782648: 8,7 I R 8 (5a 00 3f 00) [bash] bash-2263 [000] 366.782650: 8,7 D R 8 (5a 00 3f 00) [bash] ksoftirqd/0-4 [000] 366.782669: 8,7 C N (5a 00 3f 00) [0] bash-2263 [000] 366.782710: 8,7 I R 8 (5a 00 08 00) [bash] bash-2263 [000] 366.782713: 8,7 D R 8 (5a 00 08 00) [bash] ksoftirqd/0-4 [000] 366.782730: 8,7 C N (5a 00 08 00) [0] bash-2263 [000] 366.783375: 8,7 I R 36 (5a 00 08 00) [bash] bash-2263 [000] 366.783379: 8,7 D R 36 (5a 00 08 00) [bash] ksoftirqd/0-4 [000] 366.783404: 8,7 C N (5a 00 08 00) [0] This is what we do with PC events in user-space blktrace. Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49D32387.9040106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b78825d608f30a47e3154ab6872a03f0de0c9d45 Author: Li Zefan Date: Wed Apr 1 16:18:53 2009 +0800 blktrace: fix output of unknown events Not all events are pc (packet command) events. An event is a pc event only if it has BLK_TC_PC bit set. Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49D3236D.3090705@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fc182a4330fc22ea1b68fa3d5064dd85a73a4c4a Author: Zhaolei Date: Fri Apr 10 14:27:38 2009 +0800 tracing, kmemtrace: Make kmem tracepoints use TRACE_EVENT macro TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Signed-off-by: Zhao Lei Acked-by: Eduard - Gabriel Munteanu Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DEE6DA.80600@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 02af61bb50f5d5f0322dbe5ab2a0d75808d25c7b Author: Zhaolei Date: Fri Apr 10 14:26:18 2009 +0800 tracing, kmemtrace: Separate include/trace/kmemtrace.h to kmemtrace part and tracepoint part Impact: refactor code for future changes Current kmemtrace.h is used both as header file of kmemtrace and kmem's tracepoints definition. Tracepoints' definition file may be used by other code, and should only have definition of tracepoint. We can separate include/trace/kmemtrace.h into 2 files: include/linux/kmemtrace.h: header file for kmemtrace include/trace/kmem.h: definition of kmem tracepoints Signed-off-by: Zhao Lei Acked-by: Eduard - Gabriel Munteanu Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DEE68A.5040902@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2c1b284e4fa260fd922b9a65c99169e2630c6862 Author: Jaswinder Singh Rajput Date: Sat Apr 11 00:03:10 2009 +0530 x86: clean up declarations and variables Impact: cleanup, no code changed - syscalls.h update declarations due to unifications - irq.c declare smp_generic_interrupt() before it gets used - process.c declare sys_fork() and sys_vfork() before they get used - tsc.c rename tsc_khz shadowed variable - apic/probe_32.c declare apic_default before it gets used - apic/nmi.c prev_nmi_count should be unsigned - apic/io_apic.c declare smp_irq_move_cleanup_interrupt() before it gets used - mm/init.c declare direct_gbpages and free_initrd_mem before they get used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit abd41443ac76d3e9c29a8c1d9e9a3312306cc55e Author: Theodore Ts'o Date: Sat Apr 11 15:51:18 2009 -0400 tracing: Document the event tracing system Signed-off-by: "Theodore Ts'o" Cc: Theodore Ts'o Cc: Steven Rostedt LKML-Reference: <1239479479-2603-3-git-send-email-tytso@mit.edu> Signed-off-by: Ingo Molnar commit 56c49951747f250d8398582509e02ae5ce1d36d1 Author: Theodore Ts'o Date: Sat Apr 11 15:51:19 2009 -0400 tracing: Add documentation for the power tracer Signed-off-by: "Theodore Ts'o" Acked-by: Arjan van de Ven Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1239479479-2603-4-git-send-email-tytso@mit.edu> Signed-off-by: Ingo Molnar commit 2de1f33e99cec5fd79542a1d0e26efb9c36a98bb Author: Jaswinder Singh Rajput Date: Sat Apr 11 12:55:26 2009 +0530 x86: apic/x2apic_cluster.c x86_cpu_to_logical_apicid should be static Impact: reduce kernel size a bit, address sparse warning Addresses the problem pointed out by this sparse warning: arch/x86/kernel/apic/x2apic_cluster.c:13:1: warning: symbol 'per_cpu__x86_cpu_to_logical_apicid' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Cc: Suresh Siddha LKML-Reference: <1239434726.4418.24.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit f4c1724f3437ac70d8330968379148c954ca34c7 Author: Alexander Beregalov Date: Sun Apr 12 05:04:43 2009 +0400 ASoC: n810: replace BUG() with BUG_ON() Signed-off-by: Alexander Beregalov Signed-off-by: Mark Brown commit cf9972a921470b0a2da7906104bcd540b20e33bf Author: H. Peter Anvin Date: Sat Apr 11 22:24:05 2009 -0700 x86, setup: fix comment in the "glove box" code Impact: Comment change only The glove box is about avoiding problems with *registers* being touched, not *memory*. Signed-off-by: H. Peter Anvin commit 8d1c3c0746098bee8ad116073120166347f21719 Author: Tony Breeds Date: Thu Apr 9 22:29:10 2009 +0000 ixgbe: Be explict with what we are !'ing in ixgbe_sfp_config_module_task() GCC warns: drivers/net/ixgbe/ixgbe_main.c: In function 'ixgbe_sfp_config_module_task': drivers/net/ixgbe/ixgbe_main.c:3920: warning: suggest parantheses around operand of '!' or change '&' to '&&' or '!' to '~' Which I think is right. Bracket to remove ambiguity. Signed-off-by: Tony Breeds Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04193058c1005551af93f04a4b975fbd7f95cad5 Author: Peter P Waskiewicz Jr Date: Thu Apr 9 22:28:50 2009 +0000 ixgbe: Update get_physical_layer() calls, plus a version bump Not all physical connection types are being correctly identified. This fixes that issue, and cleans up the logic to make it more maintainable. Also clean up the code for device capabilities from the EEPROM to support multiple SKUs of the same hardware. Bump the version to reflect all the updates since the 82599 merge. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1eb99d5ac44e2a9ac0b2856c579ba4d7cc349ada Author: PJ Waskiewicz Date: Thu Apr 9 22:28:33 2009 +0000 ixgbe: Update the usage of orig_autoc to be more consistent The orig_autoc variable tracks the original setting of the autonegotiate state prior to trying a new speed. The usage is inconsistent and not very maintainable. This patch updates the usage to make it more consistent. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 553b449784e27bb7244c41aa27397d29f213e5a3 Author: PJ Waskiewicz Date: Thu Apr 9 22:28:15 2009 +0000 ixgbe: Remove unnecessary PHY reset, properly identify multispeed fiber modules This patch does two things: 1) On 82599, the PHY is emedded in the MAC. On 82598, the SFP+ NIC has an external PHY. The reset in the SFP+ setup patch for 82598 is unnecessary on 82599, and adds extra dead time to device initialization. This removes that PHY reset for 82599 only. 2) On 82599, the SFP+ modules are multispeed fiber modules (10G/1G). We need to make sure to identify them properly for the remaining init sections to properly set them up. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04f165ef4f18444854865d44a3359618480060af Author: PJ Waskiewicz Date: Thu Apr 9 22:27:57 2009 +0000 ixgbe: Move PHY ops initialization to centralize bus accesses When PHY operations are determined, the PHY must be identified. This identification causes bus access, and should be contained within its own routines. This also helps the 82599 PHY init paths for both SFP+ and KX/KX4 devices to be easier to maintain. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d3e9c56cafb98040c8601dcc784a773ac86da18b Author: PJ Waskiewicz Date: Thu Apr 9 22:27:39 2009 +0000 ixgbe: Don't return error in flow control configuration if FC is off When flow control is disabled, an invalid low/high watermark configuration should not matter. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e80e887a959ca41066412582c5f79aae5ffd5821 Author: Don Skidmore Date: Thu Apr 9 22:27:19 2009 +0000 ixgbe: add define to support 82599 64 IVAR registers 82599 supports 64 IVAR registers this patch adds a define to allow us to access them. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e4e87d68a89028204fe744a8eda8f74bff5b6a9 Author: Don Skidmore Date: Thu Apr 9 22:27:00 2009 +0000 ixgbe: add support for addition VT_CTL defines These defines allow for definition of target pool for packets that pass L2 filtering but didn't pass any of the pool filters. They are needed to reset the default pool. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d988eadbe2d93b5a2d4aa4ec46264e0f6213a71c Author: Don Skidmore Date: Thu Apr 9 22:26:40 2009 +0000 ixgbe: fix IXGBE_MTQC values IXGBE_MTQC_64VF was wrong and 32VF not defined at all. This patch corrects that. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2132d38133f48ef51d28252bb9c0b792f5b57019 Author: PJ Waskiewicz Date: Thu Apr 9 22:26:21 2009 +0000 ixgbe: Enable another bit for flow control operation The discard pause frames bit was not enabled, so flow control frames could be passed up to the host. Enabled DPF to keep the frames off the stack. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a5a2a0c7fa039c59619bc908b3b1ed24734d442a Author: Darren Hart Date: Fri Apr 10 09:50:05 2009 -0700 futex: fix futex_wait_setup key handling If the get_futex_key() call were to fail, the existing code would try and put_futex_key() prior to returning. This patch makes sure we only put_futex_key() if get_futex_key() succeeded. Reported-by: Clark Williams Signed-off-by: Darren Hart LKML-Reference: <20090410165005.14342.16973.stgit@Aeon> Signed-off-by: Thomas Gleixner commit 47f16ca7631f9c6bad8e6d968cfb1433029b09ec Author: Ingo Molnar Date: Fri Apr 10 14:58:05 2009 +0200 x86, irqinit: preempt merge conflicts To make the topic merge life easier for tip:perfcounters/core, include two (inactive in this topic) IRQ vector initializations here. Also fix build bug - missing kprobes.h inclusion. Signed-off-by: Ingo Molnar commit 6265ff19ca08df0d96c859ae5e4dc2d9ad07070e Author: Andreas Herrmann Date: Thu Apr 9 15:47:10 2009 +0200 x86: cacheinfo: complete L2/L3 Cache and TLB associativity field definitions See "CPUID Specification" (AMD Publication #: 25481, Rev. 2.28, April 2008) Signed-off-by: Andreas Herrmann Cc: Mark Langsdorf LKML-Reference: <20090409134710.GA8026@alberich.amd.com> Signed-off-by: Ingo Molnar commit abdb5a5713330e17dfe91ab0d3e29c4744d95162 Author: Pekka Enberg Date: Thu Apr 9 11:52:30 2009 +0300 x86: remove some ifdefs from native_init_IRQ() Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit ac3048dfd4740becf8d768844cf47ebee363c9f8 Author: Pekka Enberg Date: Thu Apr 9 11:52:29 2009 +0300 x86: define IA32_SYSCALL_VECTOR on 32-bit to reduce ifdefs Impact: cleanup We can remove some #ifdefs if we define IA32_SYSCALL_VECTOR on 32-bit. Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 31cb45ef2600d47191d51253ec94b5e3f689260d Author: Pekka Enberg Date: Thu Apr 9 11:52:28 2009 +0300 x86: unify irqinit_{32,64}.c into irqinit.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit ab19c25abd14db28d7454f00805ea59f22ed6057 Author: Pekka Enberg Date: Thu Apr 9 11:52:27 2009 +0300 x86: unify apic_intr_init() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 778838600eb6973bdb6fd11e7f91b43cea4d6f45 Author: Pekka Enberg Date: Thu Apr 9 11:52:26 2009 +0300 x86: unify trivial differences in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 320fd99672a44ece6d1cd0d838ba31c8ebbf5979 Author: Pekka Enberg Date: Thu Apr 9 11:52:25 2009 +0300 x86: unify native_init_IRQ() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 598c73d250ffb112715aa48fb325d79e255be23b Author: Pekka Enberg Date: Thu Apr 9 11:52:24 2009 +0300 x86: unify init_ISA_irqs() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit b0096bb0b640d0a7713618b3472fd0f4adf30a96 Author: Pekka Enberg Date: Thu Apr 9 11:52:23 2009 +0300 x86: unify smp_intr_init() in irqinit_{32,64}.h Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit d3496c85cae22fb7713af6ed542a6aeae8ee4210 Author: Pekka Enberg Date: Thu Apr 9 11:52:22 2009 +0300 x86: use identical loop constructs in 32-bit and 64-bit native_init_IRQ() Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 22813c45228160b07244a7c4ed7580388ac0f33d Author: Pekka Enberg Date: Thu Apr 9 11:52:21 2009 +0300 x86: introduce apic_intr_init() in irqinit_32.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 36290d87f5abf260a543e5b711be4ceed03e6b1a Author: Pekka Enberg Date: Thu Apr 9 11:52:20 2009 +0300 x86: introduce smp_intr_init() in irqinit_32.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 7371d9fcb88dc9185be9719f64744a339c537a92 Author: Pekka Enberg Date: Thu Apr 9 11:52:19 2009 +0300 x86: move init_ISA_irqs() in irqinit_32.c to match ordering in irqinit_64.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit f465145235313c451164bdfa9037ac254bf00c9a Author: Pekka Enberg Date: Thu Apr 9 11:52:18 2009 +0300 x86: move x86_quirk_pre_intr_init() to irqinit_32.c Impact: cleanup In preparation for unifying irqinit_{32,64}.c, make x86_quirk_pre_intr_init() local to irqinit_32.c. Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 2fad2d9bb8310889f3261035b594b4e068b6eb8b Author: Mark Langsdorf Date: Thu Apr 9 15:31:53 2009 +0200 x86/docs: add description for cache_disable sysfs interface Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409133153.GL31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit ba518bea2db21c72d44a6cbfd825b026ef9cdcb6 Author: Mark Langsdorf Date: Thu Apr 9 15:24:06 2009 +0200 x86: cacheinfo: disable L3 ECC scrubbing when L3 cache index is disabled (Use correct mask to zero out bits 24-28 by Andreas) Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409132406.GK31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit f8b201fc7110c3673437254e8ba02451461ece0b Author: Mark Langsdorf Date: Thu Apr 9 15:18:49 2009 +0200 x86: cacheinfo: replace sysfs interface for cache_disable feature Impact: replace sysfs attribute Current interface violates against "one-value-per-sysfs-attribute rule". This patch replaces current attribute with two attributes -- one for each L3 Cache Index Disable register. Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409131849.GJ31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit afd9fceec55225d33be878927056a548c2eef26c Author: Andreas Herrmann Date: Thu Apr 9 15:16:17 2009 +0200 x86: cacheinfo: use cached K8 NB_MISC devices instead of scanning for it Impact: avoid code duplication Signed-off-by: Andreas Herrmann Cc: Andrew Morton Cc: Mark Langsdorf LKML-Reference: <20090409131617.GI31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit 845d8c761ec763871936c62b837c4a9ea6d0fbdb Author: Andreas Herrmann Date: Thu Apr 9 15:07:29 2009 +0200 x86: cacheinfo: correct return value when cache_disable feature is not active Impact: bug fix If user writes to "cache_disable" attribute on a CPU that does not support this feature, the process hangs due to an invalid return value in store_cache_disable(). Signed-off-by: Andreas Herrmann Cc: Andrew Morton Cc: Mark Langsdorf LKML-Reference: <20090409130729.GH31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit bda869c614c937c318547c3ee1d65a316b693c21 Author: Andreas Herrmann Date: Thu Apr 9 15:05:10 2009 +0200 x86: cacheinfo: use L3 cache index disable feature only for CPUs that support it AMD family 0x11 CPU doesn't support the feature. Some AMD family 0x10 CPUs do not support it or have an erratum, see erratum #382 in "Revision Guide for AMD Family 10h Processors, 41322 Rev. 3.40 February 2009". Signed-off-by: Andreas Herrmann CC: Mark Langsdorf Cc: Andrew Morton LKML-Reference: <20090409130510.GG31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit 5cb3d1d9d34ac04bcaa2034139345b2a5fea54c1 Author: Zhaolei Date: Thu Apr 9 14:08:18 2009 +0800 tracing, net, skb tracepoint: make skb tracepoint use the TRACE_EVENT() macro TRACE_EVENT is a more generic way to define a tracepoint. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Signed-off-by: Zhao Lei Acked-by: Neil Horman Cc: "David S. Miller" Cc: Arnaldo Carvalho de Melo Cc: "Steven Rostedt ;" Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DD90D2.5020604@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e71e99c294058a61b7a8b9bb6da2f745ac51aa4f Author: Steven Rostedt Date: Wed Mar 25 14:30:04 2009 -0400 x86, function-graph: only save return values on x86_64 Impact: speed up The return to handler portion of the function graph tracer should only need to save the return values. The caller already saved off the registers that the callee can modify. The returning function already saved the registers it modified. When we call our own trace function it too will save the registers that the callee must restore. There's no reason to save off anything more that the registers used to return the values. Note, I did a complete kernel build with this modification and the function graph tracer running on x86_64. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2062501ae6505dbc5bff3a792246c2661d114050 Author: Frederic Weisbecker Date: Mon Apr 6 01:49:33 2009 +0200 tracing/lockdep: report the time waited for a lock While trying to optimize the new lock on reiserfs to replace the bkl, I find the lock tracing very useful though it lacks something important for performance (and latency) instrumentation: the time a task waits for a lock. That's what this patch implements: bash-4816 [000] 202.652815: lock_contended: lock_contended: &sb->s_type->i_mutex_key bash-4816 [000] 202.652819: lock_acquired: &rq->lock (0.000 us) <...>-4787 [000] 202.652825: lock_acquired: &rq->lock (0.000 us) <...>-4787 [000] 202.652829: lock_acquired: &rq->lock (0.000 us) bash-4816 [000] 202.652833: lock_acquired: &sb->s_type->i_mutex_key (16.005 us) As shown above, the "lock acquired" field is followed by the time it has been waiting for the lock. Usually, a lock contended entry is followed by a near lock_acquired entry with a non-zero time waited. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Steven Rostedt LKML-Reference: <1238975373-15739-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3 Merge: dcef788 93cfb3c Author: Ingo Molnar Date: Fri Apr 10 12:46:28 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: pick up both v2.6.30-rc1 [which includes tracing/urgent fixes] and pick up the current lineup of tracing/urgent fixes as well Signed-off-by: Ingo Molnar commit fbb5a5583034e98f87fcff94183637486d7ada18 Author: Kyle McMartin Date: Thu Apr 9 14:09:47 2009 +0000 MAINTAINERS: rds list is moderated Signed-off-by: Kyle McMartin Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 94713bab649736177a1c33a39b7bb33cbd5af3a5 Author: Dan Carpenter Date: Thu Apr 9 14:09:46 2009 +0000 ERR_PTR() dereference in net/rds/ib.c rdma_create_id() doesn't return NULL, only ERR_PTR(). Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 5d57eeb52ae71a03c8e083a9b0a818a9b63ca440 Author: Dan Carpenter Date: Thu Apr 9 14:09:45 2009 +0000 ERR_PTR() dereference in net/rds/iw.c rdma_create_id() returns ERR_PTR() not null. Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 05a178ecdc7396b78dfbb5d8bda65108b37b8672 Author: Wei Yongjun Date: Thu Apr 9 14:09:44 2009 +0000 rds: use kmem_cache_zalloc instead of kmem_cache_alloc/memset Use kmem_cache_zalloc instead of kmem_cache_alloc/memset. Signed-off-by: Wei Yongjun Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9c56a84478b708e5d8d34d28cc3a8e71842d5b05 Author: Huang Weiyi Date: Thu Apr 9 14:09:43 2009 +0000 RDS: remove unused #include Remove unused #include in net/rds/af_rds.c. Signed-off-by: Huang Weiyi Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 830eb7d56c18ff4c29acd8b0bb48db404660321f Author: Andy Grover Date: Thu Apr 9 14:09:42 2009 +0000 RDS: use get_user_pages_fast() Use the new function that is simpler and faster. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 49f696914100780f6bf8e652d3468de0015d6172 Author: Andy Grover Date: Thu Apr 9 14:09:41 2009 +0000 RDS: Establish connection before parsing CMSGs The first message to a remote node should prompt a new connection. Even an RDMA op via CMSG. Therefore move CMSG parsing to after connection establishment. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7acd4a794c1530af063e51f3f7171e75556458f3 Author: Andy Grover Date: Thu Apr 9 14:09:40 2009 +0000 RDS: Fix ordering in a conditional Putting the constant first is a supposed "best practice" that actually makes the code harder to read. Thanks to Roland Dreier for finding a bug in this "simple, obviously correct" patch. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7b70d0336da777c00395cc7a503497c2cdabd1a8 Author: Steve Wise Date: Thu Apr 9 14:09:39 2009 +0000 RDS/IW+IB: Allow max credit advertise window. Fix hack that restricts the credit advertisement to 127. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit d39e0602bb987133321d358d9b837d67c27b223d Author: Steve Wise Date: Thu Apr 9 14:09:38 2009 +0000 RDS/IW+IB: Set the RDS_LL_SEND_FULL bit when we're throttled. The RDS_LL_SEND_FULL bit should be set when we stop transmitted due to flow control. Otherwise the send worker will keep trying as opposed to sleeping until we unthrottle. Saves CPU. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 11bc9421da3040c71fc96da1a31e95217e8cf2af Author: Andy Grover Date: Thu Apr 9 14:09:37 2009 +0000 RDS: Correct some iw references in rdma_transport.c Had some lingering instances of _iw_ variable names from when the listen code was centralized into rdma_transport.c Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 5cd2fe6d54c91aa76893b3034f5f3473063c0202 Author: Steve Wise Date: Thu Apr 9 14:09:36 2009 +0000 RDS/IW+IB: Set recv ring low water mark to 1/2 full. Currently the recv ring low water mark is 1/4 the depth. Performance measurements show that this limits iWARP throughput by flow controlling the rds-stress senders. Setting it to 1/2 seems to max the T3 performance. I tried even higher levels but that didn't help and it started to increase the rds thread cpu utilization. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit cf06de7b9cdd3efee7a59dced1977b3c21d43732 Author: H. Peter Anvin Date: Wed Apr 1 18:20:11 2009 -0700 x86, setup: "glove box" BIOS interrupts in the video code Impact: BIOS proofing "Glove box" off BIOS interrupts in the video code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Pavel Machek Cc: Rafael J. Wysocki commit 0a706db320768f8f6e43bbf73b58d2aabdc93354 Author: H. Peter Anvin Date: Wed Apr 1 18:19:00 2009 -0700 x86, setup: "glove box" BIOS interrupts in the MCA code Impact: BIOS proofing "Glove box" off BIOS interrupts in the MCA code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: James Bottomley commit 3435d3476c5ed955d56a6216ed2d156847b3a575 Author: H. Peter Anvin Date: Wed Apr 1 18:17:17 2009 -0700 x86, setup: "glove box" BIOS interrupts in the EDD code Impact: BIOS proofing "Glove box" off BIOS interrupts in the EDD code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin commit d54ea252e4c92357226992cf65d94616a96e6fce Author: H. Peter Anvin Date: Wed Apr 1 18:14:26 2009 -0700 x86, setup: "glove box" BIOS interrupts in the APM code Impact: BIOS proofing "Glove box" off BIOS interrupts in the APM code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Stephen Rothwell commit df7699c56421c0476704f24a43409ac8c505f3d2 Author: H. Peter Anvin Date: Wed Apr 1 18:13:46 2009 -0700 x86, setup: "glove box" BIOS interrupts in the core boot code Impact: BIOS proofing "Glove box" off BIOS interrupts in the core boot code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin commit 7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac Author: H. Peter Anvin Date: Wed Apr 1 18:08:28 2009 -0700 x86, setup: "glove box" BIOS calls -- infrastructure Impact: new interfaces (not yet used) For all the platforms out there, there is an infinite number of buggy BIOSes. This adds infrastructure to treat BIOS interrupts more like toxic waste and "glove box" them -- we switch out the register set, perform the BIOS interrupt, and then restore the previous state. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Pavel Machek Cc: Rafael J. Wysocki commit e7c064889606aab3569669078c69b87b2c527e72 Author: Jeremy Fitzhardinge Date: Sat Mar 7 23:48:41 2009 -0800 xen: add FIX_TEXT_POKE to fixmap FIX_TEXT_POKE[01] are used to map kernel addresses, so they're mapping pfns, not mfns. Signed-off-by: Jeremy Fitzhardinge commit 894bf92fdec9909fefcfe907786c6c6944a22052 Author: Peter Ujfalusi Date: Thu Apr 9 12:34:40 2009 +0300 ASoC: tlv320aic23: add DSP_A format support Add DSP_A interface format support by setting the LRP bit in DSP mode. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d3d21c412d8525eb2e208d990ab5eee5fb0fe03d Author: Peter Zijlstra Date: Thu Apr 9 10:53:46 2009 +0200 perf_counter: log full path names Impact: fix perf-report output for /home mounted binaries, etc. dentry_path() only provide path-names up to the mount root, which is unsuited for out purpose, use d_path() instead. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.601794134@chello.nl> Signed-off-by: Ingo Molnar commit 1ccd15497869f3ed83b5225d410df53a96e52757 Author: Peter Zijlstra Date: Thu Apr 9 10:53:45 2009 +0200 perf_counter: sysctl for system wide perf counters Impact: add sysctl for paranoid/relaxed perfcounters policy Allow the use of system wide perf counters to everybody, but provide a sysctl to disable it for the paranoid security minded. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.514046352@chello.nl> Signed-off-by: Ingo Molnar commit 9ee318a7825929bc3734110b83ae8e20e53d9de3 Author: Peter Zijlstra Date: Thu Apr 9 10:53:44 2009 +0200 perf_counter: optimize mmap/comm tracking Impact: performance optimization The mmap/comm tracking code does quite a lot of work before it discovers there's no interest in it, avoid that by keeping a counter. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.427173196@chello.nl> Signed-off-by: Ingo Molnar commit b3828ebb3901adfe989d8d4157ed28247aeec132 Author: Ingo Molnar Date: Thu Apr 9 09:50:04 2009 +0200 perf_counter tools: include PID in perf-report output, tweak user/kernel printut It's handier than an entry. Also replace the kernel/user column with a more compact version: 0.52 cc1 [k] page_fault 0.57 :0 [k] _spin_lock 0.59 :7506 [.] 0.69 as [.] /usr/bin/as: 0.76 cc1 [.] /lib64/libc-2.8.so: _int_free 0.92 cc1 [k] clear_page_c 1.00 :7465 [.] 1.43 cc1 [.] /lib64/libc-2.8.so: memset 1.86 cc1 [.] /lib64/libc-2.8.so: _int_malloc 70.33 cc1 [.] /usr/libexec/gcc/x86_64-redhat-linux/4.3.2/cc1: Signed-off-by: Ingo Molnar commit 888fcee066a2f4abd0d0bc9418c0535f9b01e6e5 Author: Ingo Molnar Date: Thu Apr 9 09:48:22 2009 +0200 perf_counter: fix off task->comm by one strlen() does not include the \0. Signed-off-by: Ingo Molnar commit 002f128b473fb82f454654be5081b0919ee01ab2 Author: Paul Turner Date: Wed Apr 8 15:29:43 2009 -0700 sched: remove redundant hierarchy walk in check_preempt_wakeup Impact: micro-optimization Under group scheduling we traverse up until we are at common siblings to make the wakeup comparison on. At this point however, they should have the same parent so continuing to check up the tree is redundant. Signed-off-by: Paul Turner Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d2de688891909b148efe83a6fc9520a9cd6015f0 Author: Stephen Rothwell Date: Thu Apr 9 15:17:22 2009 +1000 sparc64: extend TI_RESTART_BLOCK space by 8 bytes Impact: build fix Today's linux-next build (sparc64 defconfig) failed like this: arch/sparc/kernel/built-in.o: In function `trap_init': (.init.text+0x4): undefined reference to `thread_info_offsets_are_bolixed_dave' Caused by commit 52400ba946759af28442dee6265c5c0180ac7122 ("futex: add requeue_pi functionality") (from the tip-core tree) which changed the size of struct restart_block. Shift TI_KUNA_REGS and TI_KUNA_INSN up by 8 bytes to make space for the larger restart block. Signed-off-by: Stephen Rothwell Acked-by: "David S. Miller" Cc: Darren Hart LKML-Reference: <20090409151722.c8eabb56.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit ca8f2d7f019a8547f39ddb9ed0144932f12807f2 Author: Paul Mackerras Date: Thu Apr 9 14:42:56 2009 +1000 perf_counter: powerpc: add nmi_enter/nmi_exit calls Impact: fix potential deadlocks on powerpc Now that the core is using in_nmi() (added in e30e08f6, "perf_counter: fix NMI race in task clock"), we need the powerpc perf_counter_interrupt to call nmi_enter() and nmi_exit() in those cases where the interrupt happens when interrupts are soft-disabled. If interrupts were soft-enabled, we can treat it as a regular interrupt and do irq_enter/irq_exit around the whole routine. This lets us get rid of the test_perf_counter_pending() call at the end of perf_counter_interrupt, thus simplifying things a little. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18909.31952.873098.336615@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6c0b324435ff49fb3c68fe808a93853d81c7fb97 Author: Paul Mackerras Date: Thu Apr 9 09:27:37 2009 +1000 perf_counter: add MAINTAINERS entry This adds an entry in MAINTAINERS for the perf_counter subsystem. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <18909.13033.345975.434902@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit e85abf8f432bb2a13733ab7609fbb8e1500af51d Author: Gary Hade Date: Wed Apr 8 14:07:25 2009 -0700 x86: consolidate SMP code in io_apic.c Impact: Cleanup Reorganizes the code in arch/x86/kernel/io_apic.c by combining two '#ifdef CONFIG_SMP' regions. In addition to making the code easier to understand the first '#ifdef CONFIG_SMP' region is moved to a location later in the file which will reduce the need for function forward declarations when the code subsequently revised. The only changes other than relocating code to a different position in the file were the removal of the assign_irq_vector() forward declaration which was no longer needed and some line length reduction formatting changes. Signed-off-by: Gary Hade Cc: lcm@us.ibm.com LKML-Reference: <20090408210725.GC11159@us.ibm.com> Signed-off-by: Ingo Molnar commit a0c31fdfb7f158780faa43ab83cc08b414bebd7e Author: Tilman Schmidt Date: Wed Apr 8 16:01:16 2009 -0700 ISDN: update Documentation/isdn/00-INDEX After the merging of mISDN, state which files refer only to the old isdn4linux subsystem. Also add a few missing files and sort alphabetically. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 8509500ac4c82c1e31515ffda6028f88693f49fd Author: Jean Delvare Date: Wed Apr 8 15:59:53 2009 -0700 sfc: Don't specify unexistent IRQ Neither the lm90 driver nor the lm87 driver do support interrupts, so there is no point in specifying one when declaring the devices. Signed-off-by: Jean Delvare Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ea7eaa39ffadffaa8f1dd1a1f85fa38bf8ae9d39 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:48 2009 +0000 netxen: cache align register map table Aligning register offset translation table imporves performance on rx side. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a92e9e65f0068a291a677c627a747fae1f230284 Author: Amit Kumar Salecha Date: Tue Apr 7 22:50:47 2009 +0000 netxen: enable GRO support Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f6d21f44122630cc9549b8ffbab23ea8c68254e0 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:46 2009 +0000 netxen: enable rss for NX2031 Enable multiple rx rings for older NX2031 chip, firmware 3.4.336 or newer supports this feature. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f98a9f693b5f4919d9c4085a2fd8d67c7e152f3e Author: Dhananjay Phadke Date: Tue Apr 7 22:50:45 2009 +0000 netxen: sanitize function names Replace superfluous wrapper functions with two macros: NXWR32 replaces netxen_nic_reg_write, netxen_nic_write_w0, netxen_nic_read_w1, netxen_crb_writelit_adapter. NXRD32 replaces netxen_nic_reg_read, netxen_nic_read_w0, netxen_nic_read_w1. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1fbe63235893e5dce28fe91d8465dd231b0cb3d9 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:44 2009 +0000 netxen: annotate register access functions o remove unnecessary length parameter since register access width is fixed 4 byte. o remove superfluous pci_read_normalize and pci_write_normalize functions. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 71dcddbdd35487eb931aa8aab28a2df474008754 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:43 2009 +0000 netxen: allocate status rings dynamically This reduces netxen_adapter footprint when rss (msi-x) is disabled. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3bf26ce3f4cc3c9e0d0478b4016c6113a16faaf1 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:42 2009 +0000 netxen: async link event handling Add support for asynchronous events from firmware, received over one of the rx rings. Add support for event based phy interrupts, enhanced links status reporting from firmware. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 56a007871a6689db80e19f63fe6dc3692daa2a6f Author: Dhananjay Phadke Date: Tue Apr 7 22:50:41 2009 +0000 netxen: defer firmware handshake Removed duplicate firmware handshake, defer it until first port (interface) is brought up. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d877f1e344f5515988d9dcd6db5d4285911778a3 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:40 2009 +0000 netxen: refactor transmit code o move tx stuff into nx_host_tx_ring structure, this will help managing multiple tx rings in future. o sanitize some variable names Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1b1f789818c6be9437cfe199932ee13faafca60f Author: Dhananjay Phadke Date: Tue Apr 7 22:50:39 2009 +0000 netxen: refactor netxen_adapter Rearrange members to align them at right offset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit e98e3350c03af4187e1d5fe007c7b460e378990c Author: Dhananjay Phadke Date: Tue Apr 7 22:50:38 2009 +0000 netxen: code cleanup o remove unused structure defs. o remove unnecessary includes. o replace enums with specific #defines. o reduce footprint of stats structure. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7ebcfcf19723254ebe90cdf8718436b9955a9a01 Author: Jonas Larsson Date: Tue Mar 31 11:16:52 2009 +0200 avr32: Solves problem with inverted MCI detect pin on Merisc board Same patch as before, modified to use bool. This patch solves the problem with the inverted mci detect pin on Merisc boards. Signed-off-by: Jonas Larsson Signed-off-by: Haavard Skinnemoen commit 1c1452be2e9ae282a7316c3b23987811bd7acda6 Author: Jonas Larsson Date: Tue Mar 31 11:16:48 2009 +0200 atmel-mci: Add support for inverted detect pin Same patch as before, modified to use bool. Also adds description of the new field in struct atmel_mci that I missed in the first patch. This patch adds Atmel MCI support for inverted detect pins. Signed-off-by: Jonas Larsson Acked-by: Pierre Ossman Signed-off-by: Haavard Skinnemoen commit 78f13e9525ba777da25c4ddab89f28e9366a8b7c Author: Peter Zijlstra Date: Wed Apr 8 15:01:33 2009 +0200 perf_counter: allow for data addresses to be recorded Paul suggested we allow for data addresses to be recorded along with the traditional IPs as power can provide these. For now, only the software pagefault events provide data addresses, but in the future power might as well for some events. x86 doesn't seem capable of providing this atm. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.394816925@chello.nl> Signed-off-by: Ingo Molnar commit 4d855457d84b819fefcd1cd1b0a2a0a0ec475c07 Author: Peter Zijlstra Date: Wed Apr 8 15:01:32 2009 +0200 perf_counter: move PERF_RECORD_TIME Move PERF_RECORD_TIME so that all the fixed length items come before the variable length ones. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.307926436@chello.nl> Signed-off-by: Ingo Molnar commit de9ac07bbf8f51e0ce40e5428c3a8f627bd237c2 Author: Peter Zijlstra Date: Wed Apr 8 15:01:31 2009 +0200 perf_counter: some simple userspace profiling # perf-record make -j4 kernel/ # perf-report | tail -15 0.39 cc1 [kernel] lock_acquired 0.42 cc1 [kernel] lock_acquire 0.51 cc1 [ user ] /lib64/libc-2.8.90.so: _int_free 0.51 as [kernel] clear_page_c 0.53 cc1 [ user ] /lib64/libc-2.8.90.so: memcpy 0.56 cc1 [ user ] /lib64/libc-2.8.90.so: _IO_vfprintf 0.63 cc1 [kernel] lock_release 0.67 cc1 [ user ] /lib64/libc-2.8.90.so: strlen 0.68 cc1 [kernel] debug_smp_processor_id 1.38 cc1 [ user ] /lib64/libc-2.8.90.so: _int_malloc 1.55 cc1 [ user ] /lib64/libc-2.8.90.so: memset 1.77 cc1 [kernel] __lock_acquire 1.88 cc1 [kernel] clear_page_c 3.61 as [ user ] /usr/bin/as: 59.16 cc1 [ user ] /usr/libexec/gcc/x86_64-redhat-linux/4.3.2/cc1: Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090408130409.220518450@chello.nl> Signed-off-by: Ingo Molnar commit 8d1b2d9361b494bfc761700c348c65ebbe3deb5b Author: Peter Zijlstra Date: Wed Apr 8 15:01:30 2009 +0200 perf_counter: track task-comm data Similar to the mmap data stream, add one that tracks the task COMM field, so that the userspace reporting knows what to call a task. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.127422406@chello.nl> Signed-off-by: Ingo Molnar commit 8740f9418c78dcad694b46ab25d1645d5aef1f5e Author: Peter Zijlstra Date: Wed Apr 8 15:01:29 2009 +0200 perf_counter: add some comments Add a few comments because I was forgetting what field what for what functionality. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.036984214@chello.nl> Signed-off-by: Ingo Molnar commit 808382b33bb4c60df6379ec2db39f332cc56b82a Author: Peter Zijlstra Date: Wed Apr 8 15:01:28 2009 +0200 perf_counter: kerneltop: keep up with ABI changes Update kerneltop to use PERF_EVENT_MISC_OVERFLOW Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.947197470@chello.nl> Signed-off-by: Ingo Molnar commit 6b6e5486b3a168f0328c82a8d4376caf901472b1 Author: Peter Zijlstra Date: Wed Apr 8 15:01:27 2009 +0200 perf_counter: use misc field to widen type Push the PERF_EVENT_COUNTER_OVERFLOW bit into the misc field so that we can have the full 32bit for PERF_RECORD_ bits. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.891867663@chello.nl> Signed-off-by: Ingo Molnar commit 6fab01927e8bdbbc77bafba2abb4810c5591ad52 Author: Peter Zijlstra Date: Wed Apr 8 15:01:26 2009 +0200 perf_counter: provide misc bits in the event header Limit the size of each record to 64k (or should we count in multiples of u64 and have a 512K limit?), this gives 16 bits or spare room in the header, which we can use for misc bits, so as to not have to grow the record with u64 every time we have a few bits to report. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.769271806@chello.nl> Signed-off-by: Ingo Molnar commit e30e08f65c7ef6c230424264f09c3d53f117f58b Author: Peter Zijlstra Date: Wed Apr 8 15:01:25 2009 +0200 perf_counter: fix NMI race in task clock We should not be updating ctx->time from NMI context, work around that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.681326666@chello.nl> Signed-off-by: Ingo Molnar commit e1b9aa3f47242e757c776a3771bb6613e675bf9c Author: Christoph Lameter Date: Thu Apr 2 13:21:44 2009 +0900 percpu: remove rbtree and use page->index instead Impact: use page->index for addr to chunk mapping instead of dedicated rbtree The rbtree is used to determine the chunk from the virtual address. However, we can already determine the page struct from a virtual address and there are several unused fields in page struct used by vmalloc. Use the index field to store a pointer to the chunk. Then there is no need anymore for an rbtree. tj: * s/(set|get)_chunk/pcpu_\1_page_chunk/ * Drop inline from the above two functions and moved them upwards so that they are with other simple helpers. * Initial pages might not (actually most of the time don't) live in the vmalloc area. With the previous patch to manually reverse-map both first chunks, this is no longer an issue. Removed pcpu_set_chunk() call on initial pages. Signed-off-by: Christoph Lameter Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: rusty@rustcorp.com.au Cc: Paul Mundt Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: ralf@linux-mips.org Cc: davem@davemloft.net Cc: cooloney@kernel.org Cc: kyle@mcmartin.ca Cc: matthew@wil.cx Cc: grundler@parisc-linux.org Cc: takata@linux-m32r.org Cc: benh@kernel.crashing.org Cc: rth@twiddle.net Cc: ink@jurassic.park.msu.ru Cc: heiko.carstens@de.ibm.com Cc: Linus Torvalds Cc: Nick Piggin LKML-Reference: <49D43D58.4050102@kernel.org> Signed-off-by: Ingo Molnar commit ae9e6bc9f74f8247cbca50a6a93c80e0d686fa19 Author: Tejun Heo Date: Thu Apr 2 13:19:54 2009 +0900 percpu: don't put the first chunk in reverse-map rbtree Impact: both first chunks don't use rbtree, no functional change There can be two first chunks - reserved and dynamic with the former one being optional. Dynamic first chunk was linked on reverse-mapping rbtree while the reserved one was mapped manually using the start address and reserved offset limit. This patch makes both first chunks to be looked up manually without using the rbtree. This is to help getting rid of the rbtree. Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: rusty@rustcorp.com.au Cc: Paul Mundt Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: ralf@linux-mips.org Cc: davem@davemloft.net Cc: cooloney@kernel.org Cc: kyle@mcmartin.ca Cc: matthew@wil.cx Cc: grundler@parisc-linux.org Cc: takata@linux-m32r.org Cc: benh@kernel.crashing.org Cc: rth@twiddle.net Cc: ink@jurassic.park.msu.ru Cc: heiko.carstens@de.ibm.com Cc: Linus Torvalds Cc: Nick Piggin Cc: Christoph Lameter LKML-Reference: <49D43CEA.3040609@kernel.org> Signed-off-by: Ingo Molnar commit 7333a8003cdc0470e8c0ae8b949cbc44f3165ff3 Author: Hidetoshi Seto Date: Wed Mar 25 10:50:34 2009 +0900 x86: smarten /proc/interrupts output for new counters Now /proc/interrupts of tip tree has new counters: CNT: Performance counter interrupts Format change of output, as like that by commit: commit 7a81d9a7da03d2f27840d659f97ef140d032f609 x86: smarten /proc/interrupts output should be applied to these new counters too. Signed-off-by: Hidetoshi Seto Cc: Jan Beulich LKML-Reference: <49C98DEA.8060208@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit a4e94ef0dd391eae05bdeacd12b8da3510957a97 Author: Zhaolei Date: Fri Mar 27 17:07:05 2009 +0800 printk: add support of hh length modifier for printk Impact: new feature, extend vsprintf format strings hh is used as length modifier for signed char or unsigned char. It is supported by glibc, we add kernel support now. Signed-off-by: Zhao Lei Acked-by: Lai Jiangshan Acked-by: Frederic Weisbecker Cc: torvalds@linux-foundation.org Cc: Steven Rostedt LKML-Reference: <49CC9739.30107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 42d7c5e353cef9062129b0de3ec9ddf10567b9ca Author: Becky Bruce Date: Wed Apr 8 09:09:21 2009 -0500 swiotlb: change swiotlb_bus_to[phys,virt] prototypes Add a hwdev argument that is needed on some architectures in order to access a per-device offset that is taken into account when producing a physical address (also needed to get from bus address to virtual address because the physical address is an intermediate step). Also make swiotlb_bus_to_virt weak so architectures can override it. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-8-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 380d687833aee098c4a2c3b35beaefe1c1f48d01 Author: Becky Bruce Date: Wed Apr 8 09:09:20 2009 -0500 swiotlb: use swiotlb_sync_single instead of duplicating code Right now both swiotlb_sync_single_range and swiotlb_sync_sg were duplicating the code in swiotlb_sync_single. Just call it instead. Also rearrange the sync_single code for readability. Note that the swiotlb_sync_sg code was previously doing a complicated comparison to determine if an addresses needed to be unmapped where a simple is_swiotlb_buffer() call would have sufficed. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-7-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 7fcebbd2d984eac3fdd6da2f4453e7c43d32de89 Author: Becky Bruce Date: Wed Apr 8 09:09:19 2009 -0500 swiotlb: rename unmap_single to do_unmap_single Previously, swiotlb_unmap_page and swiotlb_unmap_sg were duplicating very similar code. Refactor that code into a new unmap_single and unmap_single use do_unmap_single. Note that the swiotlb_unmap_sg code was previously doing a complicated comparison to determine if an addresses needed to be unmapped where a simple is_swiotlb_buffer() call would have sufficed. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-6-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit ef5722f698bde01cfec2b98fff733a48663ebf55 Author: Becky Bruce Date: Wed Apr 8 09:09:18 2009 -0500 swiotlb: allow arch override of address_needs_mapping Some architectures require additional checking to determine if a device can dma to an address and need to provide their own address_needs_mapping.. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-5-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit dd6b02fe427f30520d0adc94aa52352367227873 Author: Becky Bruce Date: Wed Apr 8 09:09:17 2009 -0500 swiotlb: map_page fix for highmem systems The current code calls virt_to_phys() on address that might be in highmem, which is bad. This wasn't needed, anyway, because we already have the physical address we need. Get rid of the now-unused virtual address as well. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-4-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 67131ad0514d7105b55003a0506209cf1bba3f00 Author: Becky Bruce Date: Wed Apr 8 09:09:16 2009 -0500 swiotlb: fix compile warning Squash a build warning seen on 32-bit powerpc caused by calling min() with 2 different types. Use min_t() instead. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-3-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit ceb5ac3264686e75e6951de6a18d4baa9bdecb92 Author: Becky Bruce Date: Wed Apr 8 09:09:15 2009 -0500 swiotlb: comment corrections Impact: cleanup swiotlb_map/unmap_single are now swiotlb_map/unmap_page; trivially change all the comments to reference new names. Also, there were some comments that should have been referring to just plain old map_single, not swiotlb_map_single; fix those as well. Also change a use of the word "pointer", when what is referred to is actually a dma/physical address. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-2-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 02421f98ec55c3ff118f358740ff640f096c7ad6 Author: Yinghai Lu Date: Fri Apr 3 17:15:53 2009 -0700 x86: consistent about warm_reset_vector for UN_NON_UNIQUE_APIC Impact: cleanup didn't set it for UV_NON_UNIQUE_APIC, so don't restore it Signed-off-by: Yinghai Lu LKML-Reference: <49D6A6B9.6060501@kernel.org> Signed-off-by: Ingo Molnar commit cdc1cb0d4445f39561a65204d26f89365f917550 Author: Yinghai Lu Date: Fri Apr 3 17:15:14 2009 -0700 x86: make wakeup_secondary_cpu_via_init static Impact: cleanup Signed-off-by: Yinghai Lu LKML-Reference: <49D6A692.6040400@kernel.org> Signed-off-by: Ingo Molnar commit a59dacfdc9ba06903652fa4883bf1106278b18ec Author: Ingo Molnar Date: Fri Oct 17 14:38:08 2008 +0200 x86 early quirks: eliminate unused function Impact: cleanup this warning: arch/x86/kernel/early-quirks.c:99: warning: ‘ati_ixp4x0_rev’ defined but not used triggers because ati_ixp4x0_rev() is only used in the ACPI && X86_IO_APIC case. Signed-off-by: Ingo Molnar commit 4ecf458492c2d97b3f9d850a5f92d79792e0a7e7 Author: Jiri Slaby Date: Wed Apr 8 13:32:00 2009 +0200 x86_64: fix incorrect comments Impact: cleanup The comments which fxrstor_checking and fxsave_uset refer to is now in fxsave. Change the comments appropriately. Signed-off-by: Jiri Slaby Cc: Jiri Slaby LKML-Reference: <1239190320-23952-3-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit 34ba476a01e128aad51e02f9be854584e9ec73cf Author: Jiri Slaby Date: Wed Apr 8 13:31:59 2009 +0200 x86: unify restore_fpu_checking Impact: cleanup On x86_32, separate f*rstor to an inline function which makes restore_fpu_checking the same on both platforms -> move it outside the ifdefs. Signed-off-by: Jiri Slaby LKML-Reference: <1239190320-23952-2-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit fcb2ac5bdfa3a7a04fb9749b916f64400f4c35a8 Author: Jiri Slaby Date: Wed Apr 8 13:31:58 2009 +0200 x86_32: introduce restore_fpu_checking() Impact: cleanup, prepare FPU code unificaton Like on x86_64, return an error from restore_fpu and kill the task if it fails. Also rename restore_fpu to restore_fpu_checking which allows ifdefs to be removed in math_state_restore(). Signed-off-by: Jiri Slaby LKML-Reference: <1239190320-23952-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit bab5bc9e857638880facef76e4b4c3fa807f8c73 Author: Darren Hart Date: Tue Apr 7 23:23:50 2009 -0700 futex: fixup unlocked requeue pi case Thomas's testing caught a problem when the requeue target futex is unowned and multiple tasks are requeued to it. This patch ensures the FUTEX_WAITERS bit gets set if futex_requeue() will requeue one or more tasks in addition to the one acquiring the lock. Signed-off-by: Darren Hart Signed-off-by: Thomas Gleixner commit f708223d49ac39f5af1643985056206c98033f5b Author: Paul Mackerras Date: Wed Apr 8 20:30:18 2009 +1000 perf_counter: powerpc: set sample enable bit for marked instruction events Impact: enable access to hardware feature POWER processors have the ability to "mark" a subset of the instructions and provide more detailed information on what happens to the marked instructions as they flow through the pipeline. This marking is enabled by the "sample enable" bit in MMCRA, and there are synchronization requirements around setting and clearing the bit. This adds logic to the processor-specific back-ends so that they know which events relate to marked instructions and set the sampling enable bit if any event that we want to put on the PMU is a marked instruction event. It also adds logic to the generic powerpc code to do the necessary synchronization if that bit is set. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18908.31930.1024.228867@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc66270b51a62b1a6888d5309229e638a305c47b Author: Paul Mackerras Date: Wed Apr 8 20:30:10 2009 +1000 perf_counter: fix powerpc build Commit 4af4998b ("perf_counter: rework context time") changed struct perf_counter_context to have a 'time' field instead of a 'time_now' field, but neglected to fix the place in the powerpc perf_counter.c where the time_now field was accessed. This fixes it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18908.31922.411398.147810@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a34b50ddc265bae058c66661b096ef6384c5a8b1 Author: Ingo Molnar Date: Wed Apr 8 10:56:54 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping, remove dead code Remove the unused free_locked_buffer() API. Signed-off-by: Ingo Molnar commit 44bc9dc729e33a4ec6ebed4d0b6c08e8d20b42cf Author: Ingo Molnar Date: Wed Apr 8 10:47:17 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping, cleanup Andrew Morton noticed that mm.h needlessly includes sched.h - remove it. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit 5ea472a77f8e4811ceee3f44a9deda6ad6e8b789 Merge: 6c009ec 577c9c4 Author: Ingo Molnar Date: Wed Apr 8 10:35:30 2009 +0200 Merge commit 'v2.6.30-rc1' into perfcounters/core Conflicts: arch/powerpc/include/asm/systbl.h arch/powerpc/include/asm/unistd.h include/linux/init_task.h Merge reason: the conflicts are non-trivial: PowerPC placement of sys_perf_counter_open has to be mixed with the new preadv/pwrite syscalls. Signed-off-by: Ingo Molnar commit 169aafbc8d3f05431b5cfeb60294a12b8ef2bcee Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:37:26 2009 -0700 lguest: update lazy mmu changes to match lguest's use of kvm hypercalls Duplicate hcall -> kvm_hypercall0 convertion from "lguest: use KVM hypercalls". Signed-off-by: Jeremy Fitzhardinge Cc: Matias Zabaljauregui Cc: Rusty Russell commit 38f4b8c0da01ae7cd9b93386842ce272d6fde9ab Merge: a811454 8e2c4f2 Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:34:16 2009 -0700 Merge commit 'origin/master' into for-linus/xen/master * commit 'origin/master': (4825 commits) Fix build errors due to CONFIG_BRANCH_TRACER=y parport: Use the PCI IRQ if offered tty: jsm cleanups Adjust path to gpio headers KGDB_SERIAL_CONSOLE check for module Change KCONFIG name tty: Blackin CTS/RTS Change hardware flow control from poll to interrupt driven Add support for the MAX3100 SPI UART. lanana: assign a device name and numbering for MAX3100 serqt: initial clean up pass for tty side tty: Use the generic RS485 ioctl on CRIS tty: Correct inline types for tty_driver_kref_get() splice: fix deadlock in splicing to file nilfs2: support nanosecond timestamp nilfs2: introduce secondary super block nilfs2: simplify handling of active state of segments nilfs2: mark minor flag for checkpoint created by internal operation nilfs2: clean up sketch file nilfs2: super block operations fix endian bug ... Conflicts: arch/x86/include/asm/thread_info.h arch/x86/lguest/boot.c drivers/xen/manage.c commit a811454027352c762e0d5bba1b1d8f7d26bf96ae Merge: 1943689 53152f9 Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:16:04 2009 -0700 Merge branch 'for-linus/xen/core' into for-linus/xen/master * for-linus/xen/core: xen: honour VCPU availability on boot commit 299a75920379e75069b5c8ef9954408f2085f051 Merge: 5409fb4 80fbe6a Author: Mark Brown Date: Tue Apr 7 18:51:34 2009 +0100 Merge branch 's6000' into for-2.6.31 commit 5409fb4e327a84972483047ecf4fb41f279453e2 Author: Mark Brown Date: Tue Apr 7 18:45:21 2009 +0100 ASoC: Add WM8988 CODEC driver The WM8988 is a low power, high quality stereo CODEC designed for portable digital audio applications. The device integrates complete interfaces to 2 stereo headphone or line out ports. External component requirements are drastically reduced as no separate headphone amplifiers are required. Advanced on-chip digital signal processing performs graphic equaliser, 3-D sound enhancement and automatic level control for the microphone or line input. The WM8988 can operate as a master or a slave, with various master clock frequencies including 12 or 24MHz for USB devices, or standard 256fs rates like 12.288MHz and 24.576MHz. Different audio sample rates such as 96kHz, 48kHz, 44.1kHz are generated directly from the master clock without the need for an external PLL. Signed-off-by: Mark Brown commit 06f409d76f1d382167eb1cadde2e23a73272865d Author: Mark Brown Date: Tue Apr 7 18:10:13 2009 +0100 ASoC: Provide core support for symmetric sample rates Many devices require symmetric configurations of capture and playback data formats, often due to shared clocking but sometimes also due to other shared playback and record configuration in the device. Start providing core support for this by allowing the DAIs or the machine to specify that the sample rates used should be kept symmetric. A flag symmetric_rates is provided in the snd_soc_dai and snd_soc_dai_link structures. If this is set in either of the DAIs or in the machine then a constraint will be applied when a stream is already open preventing any changes in sample rate. Signed-off-by: Mark Brown commit 6553e192d48af88184029066c30c9464516ea0b7 Author: Mark Brown Date: Mon Apr 6 16:59:32 2009 +0100 ASoC: Display return code when failing to add a DAPM kcontrol Signed-off-by: Mark Brown commit 9c83633ad38138855181af6936e8ac570ef7e2cb Author: Dan Carpenter Date: Tue Apr 7 14:48:16 2009 +0300 missing unlock in jfs_quota_write() We should unlock &inode->i_mutex on the error path. This bug was in ext2_quota_write(). I sent a patch to them today as well. Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Dave Kleikamp commit dcef788eb9659b61a2110284fcce3ca6e63480d2 Author: Zhaolei Date: Tue Mar 31 15:26:14 2009 +0800 ftrace: clean up enable logic for sched_switch Unify sched_switch and sched_wakeup's action to following logic: Do record_cmdline when start_cmdline_record() is called. Start tracing events when the tracer is started. Signed-off-by: Zhao Lei LKML-Reference: <49D1C596.5050203@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 597af81537654097b67fd7a0c92775e66d4a86fe Author: Steven Rostedt Date: Fri Apr 3 15:24:12 2009 -0400 function-graph: use int instead of atomic for ftrace_graph_active Impact: cleanup The variable ftrace_graph_active is only modified under the ftrace_lock mutex, thus an atomic is not necessary for modification. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 5452af664f6fba26b80eb2c8c4ceae2999d5cf56 Author: Frederic Weisbecker Date: Fri Mar 27 00:25:38 2009 +0100 tracing/ftrace: factorize the tracing files creation Impact: cleanup Most of the tracing files creation follow the same pattern: ret = debugfs_create_file(...) if (!ret) pr_warning("Couldn't create ... entry\n") Unify it! Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1238109938-11840-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Steven Rostedt commit a5dec5573f3c7e63f2f9b5852b9759ea342a5ff9 Author: Li Zefan Date: Fri Mar 27 14:55:44 2009 +0800 tracing: use macros to denote usec and nsec per second Impact: cleanup Use USEC_PER_SEC and NSEC_PER_SEC instead of 1000000 and 1000000000. Signed-off-by: Li Zefan LKML-Reference: <49CC7870.9000309@cn.fujitsu.com> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 86665c75da41889f92b774f31ea5a9a436f392a8 Merge: 93776a8 1bbe2a8 Author: Ingo Molnar Date: Tue Apr 7 14:41:14 2009 +0200 Merge branch 'tracing/urgent' into tracing/ftrace commit 93776a8ec746cf9d32c36e5a5b23d28d8be28826 Merge: 34886c8 d508afb Author: Ingo Molnar Date: Tue Apr 7 13:47:33 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: update to upstream tracing facilities Signed-off-by: Ingo Molnar commit 017bc617657c928cb9a0c45a7a7e9f4e66695347 Author: Markus Metzger Date: Fri Apr 3 16:43:52 2009 +0200 x86, ds: support Core i7 Add debug store support for Core i7. Core i7 adds a reset value for each performance counter and a new PEBS record format. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144607.088997000@intel.com> Signed-off-by: Ingo Molnar commit 150f5164c1258e05b7dea16f29e592f354c48f34 Author: Markus Metzger Date: Fri Apr 3 16:43:51 2009 +0200 x86, ds: allow small debug store buffers Check the buffer size more precisely to allow buffers for exactly one element provided the base address is already properly aligned. Add a debug store selftest. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144606.139137000@intel.com> Signed-off-by: Ingo Molnar commit 608780a9048efa3e85fbc4d8649b26805cc588aa Author: Markus Metzger Date: Fri Apr 3 16:43:50 2009 +0200 x86, ds: fix bad ds_reset_pebs() Ds_reset_pebs() passed the wrong qualifier to a shared function resulting in a reset of bts, rather than pebs. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144605.206510000@intel.com> Signed-off-by: Ingo Molnar commit 6047550d3d26fed88b18a208b31f8b90b5ef3e9b Author: Markus Metzger Date: Fri Apr 3 16:43:49 2009 +0200 x86, ds: dont use TIF_DEBUGCTLMSR Debug store already uses TIF_DS_AREA_MSR to trigger debug store context switch handling. No need to use TIF_DEBUGCTLMSR, as well. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144604.256645000@intel.com> Signed-off-by: Ingo Molnar commit 0f4814065ff8c24ca8bfd75c9b73502be152c287 Author: Markus Metzger Date: Fri Apr 3 16:43:48 2009 +0200 x86, ptrace: add bts context unconditionally Add the ptrace bts context field to task_struct unconditionally. Initialize the field directly in copy_process(). Remove all the unneeded functionality used to initialize that field. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144603.292754000@intel.com> Signed-off-by: Ingo Molnar commit ee811517a5604aa63fae803b7c044712699e1303 Author: Markus Metzger Date: Fri Apr 3 16:43:47 2009 +0200 x86, ds: use single debug store cpu configuration Use a single configuration for all cpus. Reported-by: Ingo Molnar Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144602.191165000@intel.com> Signed-off-by: Ingo Molnar commit 2311f0de21c17b2a8b960677a9cccfbfa52beb35 Author: Markus Metzger Date: Fri Apr 3 16:43:46 2009 +0200 x86, ds: add leakage warning Add a warning in case a debug store context is not removed before the task it is attached to is freed. Remove the old warning at thread exit. It is too early. Declare the debug store context field in thread_struct unconditionally. Remove ds_copy_thread() and ds_exit_thread() and do the work directly in process*.c. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144601.254472000@intel.com> Signed-off-by: Ingo Molnar commit 3a68eef945b234f286406d96dc690fe17863c203 Author: Markus Metzger Date: Fri Apr 3 16:43:45 2009 +0200 x86, ds: add task tracing selftest Add selftests to cover per-task branch tracing. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144600.329346000@intel.com> Signed-off-by: Ingo Molnar commit 01f6569ece6915616f6cae1d7d8b46ab8da9c1bd Author: Markus Metzger Date: Fri Apr 3 16:43:44 2009 +0200 x86, ds: selftest each cpu Perform debug store selftests on each cpu. Cover both the normal and the _noirq variant of the debug store interface. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144559.394583000@intel.com> Signed-off-by: Ingo Molnar commit 84f201139245c30777ff858e71b8d7e134b8c3ed Author: Markus Metzger Date: Fri Apr 3 16:43:43 2009 +0200 x86, ds: fix bounds check in ds selftest Fix a bad bounds check in the debug store selftest. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144558.450027000@intel.com> Signed-off-by: Ingo Molnar commit 353afeea24cc51aafc0ff21a72ec740b6f0af50c Author: Markus Metzger Date: Fri Apr 3 16:43:42 2009 +0200 x86, ds: fix compiler warning Size_t is defined differently on i386 and x86_64. Change type to avoid compiler warning. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144557.523964000@intel.com> Signed-off-by: Ingo Molnar commit 4d657e51dfc042216febd4a007c6f36881f9256d Author: Markus Metzger Date: Fri Apr 3 16:43:41 2009 +0200 x86, hw-branch-tracer: allocate selftest iterator on heap Allocate the trace_iterator for the hw-branch-tracer selftest on the heap. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144556.578777000@intel.com> Signed-off-by: Ingo Molnar commit de79f54f5347ad7ec6ff55ccbb6d4ab2a21f6a93 Author: Markus Metzger Date: Fri Apr 3 16:43:40 2009 +0200 x86, bts, hw-branch-tracer: add _noirq variants to the debug store interface The hw-branch-tracer uses debug store functions from an on_each_cpu() context, which is simply wrong since the functions may sleep. Add _noirq variants for most functions, which may be called with interrupts disabled. Separate per-cpu and per-task tracing and allow per-cpu tracing to be controlled from any cpu. Make the hw-branch-tracer use the new debug store interface, synchronize with hotplug cpu event using get/put_online_cpus(), and remove the unnecessary spinlock. Make the ptrace bts and the ds selftest code use the new interface. Defer the ds selftest. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144555.658136000@intel.com> Signed-off-by: Ingo Molnar commit 35bb7600c17762bb129588c1877d2717fe325289 Author: Markus Metzger Date: Fri Apr 3 16:43:39 2009 +0200 x86, debugctlmsr: add _on_cpu variants to debugctlmsr functions Add functions to get and set the debugctlmsr on different cpus. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144554.738772000@intel.com> Signed-off-by: Ingo Molnar commit 15879d042164650b93d83281ad5f87ad323bfbfe Author: Markus Metzger Date: Fri Apr 3 16:43:38 2009 +0200 x86, bts: use trace_clock_global() for timestamps Rename the bts_struct timestamp field to event. Use trace_clock_global() for time measurement. Reported-by: Ingo Molnar Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144553.773216000@intel.com> Signed-off-by: Ingo Molnar commit 38f801129ad07b9afa7f9bd3779f61b805416d8c Author: Markus Metzger Date: Fri Apr 3 16:43:37 2009 +0200 x86, bts: fix race between per-task and per-cpu branch tracing Per-task branch tracing installs a debug store context with the traced task. This immediately results in the branch trace control bits to be cleared for the next context switch of that task, if not set before. Either per-cpu or per-task tracing are allowed at the same time. An active per-cpu tracing would be disabled even if the per-task tracing request is rejected and the task debug store context removed. Check the tracing type (per-cpu or per-task) before installing a task debug store context. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144552.856000000@intel.com> Signed-off-by: Ingo Molnar commit 8d99b3ac2726e5edd97ad147fa5c1f2acb63a745 Author: Markus Metzger Date: Fri Apr 3 16:43:36 2009 +0200 x86, bts: wait until traced task has been scheduled out In order to stop branch tracing for a running task, we need to first clear the branch tracing control bits before we may free the tracing buffer. If the traced task is running, the cpu might still trace that task after the branch trace control bits have cleared. Wait until the traced task has been scheduled out before proceeding. A similar problem affects the task debug store context. We first remove the context, then we need to wait until the task has been scheduled out before we can free the context memory. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144551.919636000@intel.com> Signed-off-by: Ingo Molnar commit e2b371f00a6f529f6362654239bdec8dcd510760 Author: Markus Metzger Date: Fri Apr 3 16:43:35 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping When a ptraced task is unlinked, we need to stop branch tracing for that task. Since the unlink is called with interrupts disabled, and we need interrupts enabled to stop branch tracing, we defer the work. Collect all branch tracing related stuff in a branch tracing context. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: Andrew Morton Cc: Peter Zijlstra Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144550.712401000@intel.com> Signed-off-by: Ingo Molnar commit a26b89f05d194413c7238e0bea071054f6b5d3c8 Author: Markus Metzger Date: Fri Apr 3 16:43:34 2009 +0200 sched, hw-branch-tracer: add wait_task_context_switch() function to sched.h Add a function to wait until some other task has been switched out at least once. This differs from wait_task_inactive() subtly, in that the latter will wait until the task has left the CPU. 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 Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144549.794157000@intel.com> Signed-off-by: Ingo Molnar commit cac94f979326212831c0ea44ed9ea1622b4f4e93 Author: Markus Metzger Date: Fri Apr 3 16:43:33 2009 +0200 x86, bts: fix race when bts tracer is removed When the bts tracer is removed while the traced task is running, the write to clear the bts tracer pointer races with context switch code. Read the tracer once during a context switch. When a new tracer is installed, the bts tracer is set in the ds context before the tracer is initialized in order to claim the context for that tracer. This may result in write accesses using an uninitialized trace configuration when scheduling timestamps have been requested. Store active tracing flags separately and only set active flags after the tracing configuration has been initialized. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144548.881338000@intel.com> Signed-off-by: Ingo Molnar commit 2e8844e13ab73f1107aea4317a53ff5879f2e1d7 Merge: c78a395 d508afb Author: Ingo Molnar Date: Tue Apr 7 13:34:26 2009 +0200 Merge branch 'linus' into tracing/hw-branch-tracing Merge reason: update to latest tracing and ptrace APIs Signed-off-by: Ingo Molnar commit 6c009ecef8cca28c7c09eb16d0802e37915a76e1 Merge: 98c2aaf d508afb Author: Ingo Molnar Date: Tue Apr 7 12:05:21 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: need the upstream facility added by: 7f1e2ca: hrtimer: fix rq->lock inversion (again) Signed-off-by: Ingo Molnar commit 98c2aaf8be5baf7193be37fb28bce8e7327158bc Author: Ingo Molnar Date: Tue Apr 7 11:30:17 2009 +0200 x86, perfcounters: add atomic64_xchg() Complete atomic64_t support on the 32-bit side by adding atomic64_xch(). Cc: Peter Zijlstra LKML-Reference: <20090406094518.445450972@chello.nl> Signed-off-by: Ingo Molnar commit 6278af660ff83fbafb18e53fc2747eb2ee6780fa Author: Mike Galbraith Date: Thu Apr 2 10:40:28 2009 +0200 perf_counter tools: kerneltop: display per function percentage along with event count ------------------------------------------------------------------------------ KernelTop: 90551 irqs/sec kernel:15.0% [NMI, 100000 CPU cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ events pcnt RIP kernel function ______ ______ _____ ________________ _______________ 16871.00 - 19.1% - ffffffff80328e20 : clear_page_c 8810.00 - 9.9% - ffffffff8048ce80 : page_fault 4746.00 - 5.4% - ffffffff8048cae2 : _spin_lock 4428.00 - 5.0% - ffffffff80328e70 : copy_page_c 3340.00 - 3.8% - ffffffff80329090 : copy_user_generic_string! 2679.00 - 3.0% - ffffffff8028a16b : get_page_from_freelist 2254.00 - 2.5% - ffffffff80296f19 : unmap_vmas 2082.00 - 2.4% - ffffffff80297e19 : handle_mm_fault 1754.00 - 2.0% - ffffffff80288dc8 : __rmqueue_smallest 1553.00 - 1.8% - ffffffff8048ca58 : _spin_lock_irqsave 1400.00 - 1.6% - ffffffff8028cdc8 : release_pages 1337.00 - 1.5% - ffffffff80285400 : find_get_page 1335.00 - 1.5% - ffffffff80225a23 : do_page_fault 1299.00 - 1.5% - ffffffff802ba8e7 : __d_lookup 1174.00 - 1.3% - ffffffff802b38f3 : __link_path_walk 1155.00 - 1.3% - ffffffff802843e1 : perf_swcounter_ctx_event! 1137.00 - 1.3% - ffffffff8028d118 : ____pagevec_lru_add 963.00 - 1.1% - ffffffff802a670b : kmem_cache_alloc 885.00 - 1.0% - ffffffff8024bc61 : __wake_up_bit Display per function percentage along with event count. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit bce379bf358738ab8efc8cda2594a299ac685085 Author: Peter Zijlstra Date: Mon Apr 6 11:45:13 2009 +0200 perf_counter: minimize context time updates Push the update_context_time() calls up the stack so that we get less invokations and thereby a less noisy output: before: # ./perfstat -e 1:0 -e 1:1 -e 1:1 -e 1:1 -l ls > /dev/null Performance counter stats for 'ls': 10.163691 cpu clock ticks (msecs) (scaled from 98.94%) 10.215360 task clock ticks (msecs) (scaled from 98.18%) 10.185549 task clock ticks (msecs) (scaled from 98.53%) 10.183581 task clock ticks (msecs) (scaled from 98.71%) Wall-clock time elapsed: 11.912858 msecs after: # ./perfstat -e 1:0 -e 1:1 -e 1:1 -e 1:1 -l ls > /dev/null Performance counter stats for 'ls': 9.316630 cpu clock ticks (msecs) 9.280789 task clock ticks (msecs) 9.280789 task clock ticks (msecs) 9.280789 task clock ticks (msecs) Wall-clock time elapsed: 9.574872 msecs Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.618876874@chello.nl> Signed-off-by: Ingo Molnar commit 849691a6cd40270ff5f4a8846d5f6bf8df663ffc Author: Peter Zijlstra Date: Mon Apr 6 11:45:12 2009 +0200 perf_counter: remove rq->lock usage Now that all the task runtime clock users are gone, remove the ugly rq->lock usage from perf counters, which solves the nasty deadlock seen when a software task clock counter was read from an NMI overflow context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.531137582@chello.nl> Signed-off-by: Ingo Molnar commit a39d6f2556c4a19f58f538c6aa28bf8faca4fcb8 Author: Peter Zijlstra Date: Mon Apr 6 11:45:11 2009 +0200 perf_counter: rework the task clock software counter Rework the task clock software counter to use the context time instead of the task runtime clock, this removes the last such user. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.445450972@chello.nl> Signed-off-by: Ingo Molnar commit 4af4998b8aa35600f4c4a4f3c3a23baca6081d02 Author: Peter Zijlstra Date: Mon Apr 6 11:45:10 2009 +0200 perf_counter: rework context time Since perf_counter_context is switched along with tasks, we can maintain the context time without using the task runtime clock. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.353552838@chello.nl> Signed-off-by: Ingo Molnar commit 4c9e25428ff46b968a30f1dfafdba550cb6e4141 Author: Peter Zijlstra Date: Mon Apr 6 11:45:09 2009 +0200 perf_counter: change event definition Currently the definition of an event is slightly ambiguous. We have wakeup events, for poll() and SIGIO, which are either generated when a record crosses a page boundary (hw_events.wakeup_events == 0), or every wakeup_events new records. Now a record can be either a counter overflow record, or a number of different things, like the mmap PROT_EXEC region notifications. Then there is the PERF_COUNTER_IOC_REFRESH event limit, which only considers counter overflows. This patch changes then wakeup_events and SIGIO notification to only consider overflow events. Furthermore it changes the SIGIO notification to report SIGHUP when the event limit is reached and the counter will be disabled. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.266679874@chello.nl> Signed-off-by: Ingo Molnar commit 0c593b3411341e3a05a61f5527df36ab02bd11e8 Author: Peter Zijlstra Date: Mon Apr 6 11:45:08 2009 +0200 perf_counter: comment the perf_event_type stuff Describe the event format. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.211174347@chello.nl> Signed-off-by: Ingo Molnar commit 79f146415623fe74f39af67c0f6adc208939a410 Author: Peter Zijlstra Date: Mon Apr 6 11:45:07 2009 +0200 perf_counter: counter overflow limit Provide means to auto-disable the counter after 'n' overflow events. Create the counter with hw_event.disabled = 1, and then issue an ioctl(fd, PREF_COUNTER_IOC_REFRESH, n); to set the limit and enable the counter. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.083139737@chello.nl> Signed-off-by: Ingo Molnar commit 339f7c90b8a2f3aa2dd4267e79f797999e8a3c59 Author: Peter Zijlstra Date: Mon Apr 6 11:45:06 2009 +0200 perf_counter: PERF_RECORD_TIME By popular request, provide means to log a timestamp along with the counter overflow event. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.024173282@chello.nl> Signed-off-by: Ingo Molnar commit ebb3c4c4cb81d64cc041356915ec015e2c57092a Author: Peter Zijlstra Date: Mon Apr 6 11:45:05 2009 +0200 perf_counter: fix the mlock accounting Reading through the code I saw I forgot the finish the mlock accounting. Do so now. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.899767331@chello.nl> Signed-off-by: Ingo Molnar commit f6c7d5fe58b4846ee0cb4b98b6042489705eced4 Author: Peter Zijlstra Date: Mon Apr 6 11:45:04 2009 +0200 perf_counter: theres more to overflow than writing events Prepare for more generic overflow handling. The new perf_counter_overflow() method will handle the generic bits of the counter overflow, and can return a !0 return value, in which case the counter should be (soft) disabled, so that it won't count until it's properly disabled. XXX: do powerpc and swcounter Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.812109629@chello.nl> Signed-off-by: Ingo Molnar commit b6276f353bf490add62dcf7db0ebd75baa3e1a37 Author: Peter Zijlstra Date: Mon Apr 6 11:45:03 2009 +0200 perf_counter: x86: self-IPI for pending work Implement set_perf_counter_pending() with a self-IPI so that it will run ASAP in a usable context. For now use a second IRQ vector, because the primary vector pokes the apic in funny ways that seem to confuse things. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.724626696@chello.nl> Signed-off-by: Ingo Molnar commit 671dec5daf3b3c43c5777be282f00120a44cf37f Author: Peter Zijlstra Date: Mon Apr 6 11:45:02 2009 +0200 perf_counter: generalize pending infrastructure Prepare the pending infrastructure to do more than wakeups. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.634732847@chello.nl> Signed-off-by: Ingo Molnar commit 3c446b3d3b38f991f97e9d2df0ad26a60a94dcff Author: Peter Zijlstra Date: Mon Apr 6 11:45:01 2009 +0200 perf_counter: SIGIO support Provide support for fcntl() I/O availability signals. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.579788800@chello.nl> Signed-off-by: Ingo Molnar commit 9c03d88e328d5f28f13191622c2ea1349c36b799 Author: Peter Zijlstra Date: Mon Apr 6 11:45:00 2009 +0200 perf_counter: add more context information Change the callchain context entries to u16, so as to gain some space. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.457320003@chello.nl> Signed-off-by: Ingo Molnar commit a2e87d06ddbe6e6fdb8d6d2e5e985efe4efb07dd Author: Peter Zijlstra Date: Mon Apr 6 11:44:59 2009 +0200 perf_counter: update mmap() counter read, take 2 Update the userspace read method. Paul noted that: - userspace cannot observe ->lock & 1 on the same cpu. - we need a barrier() between reading ->lock and ->index to ensure we read them in that prticular order. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.368446033@chello.nl> Signed-off-by: Ingo Molnar commit 7ba5779533819fc061b4afafcb4a609d55f37057 Author: Tetsuo Handa Date: Mon Apr 6 20:49:14 2009 +0900 tomoyo: remove "undelete domain" command. Since TOMOYO's policy management tools does not use the "undelete domain" command, we decided to remove that command. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 80fbe6ac9b47cbc11e174a9bf853834dc281da35 Author: Daniel Glöckner Date: Mon Apr 6 11:50:22 2009 +0200 ASoC: correct s6000 I2S clock polarity According to the data sheet data is clocked out on the falling edge and latched on the rising edge of the bit clock. While the left sample is transmitted the word clock line is low. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 52400ba946759af28442dee6265c5c0180ac7122 Author: Darren Hart Date: Fri Apr 3 13:40:49 2009 -0700 futex: add requeue_pi functionality PI Futexes and their underlying rt_mutex cannot be left ownerless if there are pending waiters as this will break the PI boosting logic, so the standard requeue commands aren't sufficient. The new commands properly manage pi futex ownership by ensuring a futex with waiters has an owner at all times. This will allow glibc to properly handle pi mutexes with pthread_condvars. The approach taken here is to create two new futex op codes: FUTEX_WAIT_REQUEUE_PI: Tasks will use this op code to wait on a futex (such as a non-pi waitqueue) and wake after they have been requeued to a pi futex. Prior to returning to userspace, they will acquire this pi futex (and the underlying rt_mutex). futex_wait_requeue_pi() is the result of a high speed collision between futex_wait() and futex_lock_pi() (with the first part of futex_lock_pi() being done by futex_proxy_trylock_atomic() on behalf of the top_waiter). FUTEX_REQUEUE_PI (and FUTEX_CMP_REQUEUE_PI): This call must be used to wake tasks waiting with FUTEX_WAIT_REQUEUE_PI, regardless of how many tasks the caller intends to wake or requeue. pthread_cond_broadcast() should call this with nr_wake=1 and nr_requeue=INT_MAX. pthread_cond_signal() should call this with nr_wake=1 and nr_requeue=0. The reason being we need both callers to get the benefit of the futex_proxy_trylock_atomic() routine. futex_requeue() also enqueues the top_waiter on the rt_mutex via rt_mutex_start_proxy_lock(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit f801073f87aa22ddf0e9146355fec3993163790f Author: Darren Hart Date: Fri Apr 3 13:40:40 2009 -0700 futex: split out futex value validation code Refactor the code to validate the expected futex value in order to reuse it with the requeue_pi code. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 9121e4783cd5c7e2a407763f3b61c2d573891133 Author: Darren Hart Date: Fri Apr 3 13:40:31 2009 -0700 futex: distangle futex_requeue() futex_requeue() is getting a bit long-winded, and will be getting more so after the requeue_pi patch. Factor out the actual requeueing into a nicely contained inline function to reduce function length and improve legibility. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit a72188d8a64ebe74722f1cf7ffac41b41ffdba21 Author: Darren Hart Date: Fri Apr 3 13:40:22 2009 -0700 futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags Currently restart is only used if there is a timeout. The requeue_pi functionality requires restarting to futex_lock_pi() on signal after wakeup in futex_wait_requeue_pi() regardless of if there was a timeout or not. Using 0 for the timeout value is confusing as that could indicate an expired timer. The flag makes this explicit. While the check is not technically needed in futex_wait_restart(), doing so makes the code consistent with and will avoid confusion should the need arise to restart wait without a timeout. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 8dac456a681bd94272ff50ecb31be6b669382c2b Author: Darren Hart Date: Fri Apr 3 13:40:12 2009 -0700 rt_mutex: add proxy lock routines This patch is a prerequisite for futex requeue_pi. It basically splits rt_mutex_slowlock() right down the middle, just before the first call to schedule(). It further adds helper functions which make use of the split and provide the rt-mutex preliminaries for futex requeue_pi. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit dd9739980b50c8cde33e1f8eb08b7e0140bcd61e Author: Darren Hart Date: Fri Apr 3 13:40:02 2009 -0700 futex: split out fixup owner logic from futex_lock_pi() Refactor the post lock acquisition logic from futex_lock_pi(). This code will be reused in futex_wait_requeue_pi(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 1a52084d0919c2799258737c21fb328a9de159b5 Author: Darren Hart Date: Fri Apr 3 13:39:52 2009 -0700 futex: split out atomic logic from futex_lock_pi() Refactor the atomic portion of futex_lock_pi() into futex_lock_pi_atomic(). This logic will be needed by requeue_pi, so modularize it to reduce code duplication. The only significant change is passing of the task to try and take the lock for. This simplifies the -EDEADLK test as if the lock is owned by task t, it's a deadlock, regardless of if we are doing requeue pi or not. This patch updates the corresponding comment accordingly. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 4b1c486b3587d2abf50bee4a05eb488cd4045f2c Author: Darren Hart Date: Fri Apr 3 13:39:42 2009 -0700 futex: add helper to find the top prio waiter of a futex Improve legibility by wrapping finding the top waiter in a function. This will be used by the follow-on patches for enabling requeue pi. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit ca5f9524d61f54b1f618293ab92fc6b49cac864d Author: Darren Hart Date: Fri Apr 3 13:39:33 2009 -0700 futex: separate futex_wait_queue_me() logic from futex_wait() Refactor futex_wait() in preparation for futex_wait_requeue_pi(). In order to reuse a good chunk of the futex_wait() code for the upcoming futex_wait_requeue_pi() function, this patch breaks out the queue-to-wakeup section of futex_wait() into futex_wait_queue_me(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 92f22a3865abe87eea2609a6f8e5be5123f7ce4f Author: Peter Zijlstra Date: Thu Apr 2 11:12:04 2009 +0200 perf_counter: update mmap() counter read Paul noted that we don't need SMP barriers for the mmap() counter read because its always on the same cpu (otherwise you can't access the hw counter anyway). So remove the SMP barriers and replace them with regular compiler barriers. Further, update the comment to include a race free method of reading said hardware counter. The primary change is putting the pmc_read inside the seq-loop, otherwise we can still race and read rubbish. Noticed-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.577951445@chello.nl> Signed-off-by: Ingo Molnar commit 5872bdb88a35fae7d224bd6b21e5f377e854ccfc Author: Peter Zijlstra Date: Thu Apr 2 11:12:03 2009 +0200 perf_counter: add more context information Put in counts to tell which ips belong to what context. ----- | | hv | -- nr | | kernel | -- | | user ----- Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.493101305@chello.nl> Signed-off-by: Ingo Molnar commit 3df70fd623bb109e0079e697c0276d220a4b7908 Author: Peter Zijlstra Date: Thu Apr 2 11:12:02 2009 +0200 perf_counter: kerneltop: update to new ABI Update to reflect the new record_type ABI changes. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.407283141@chello.nl> Signed-off-by: Ingo Molnar commit c457810ab4a825161aec6ef71b581e1bc8febd1a Author: Peter Zijlstra Date: Thu Apr 2 11:12:01 2009 +0200 perf_counter: per event wakeups By request, provide a way to request a wakeup every 'n' events instead of every page of output. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.323309784@chello.nl> Signed-off-by: Ingo Molnar commit 8a057d84912f36e53f970c4d177cb4bb6b2f9e08 Author: Peter Zijlstra Date: Thu Apr 2 11:11:59 2009 +0200 perf_counter: move the event overflow output bits to record_type Per suggestion from Paul, move the event overflow bits to record_type and sanitize the enums a bit. Breaks the ABI -- again ;-) Suggested-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.151921176@chello.nl> Signed-off-by: Ingo Molnar commit 9dd499889bdb12ac0e412ccdd718fe0d348258f2 Author: Mike Galbraith Date: Fri Mar 27 12:13:43 2009 +0100 perf_counter tools: kerneltop: add real-time data acquisition thread Decouple kerneltop display from event acquisition by introducing a separate data acquisition thread. This fixes annnoying kerneltop display refresh jitter and missed events. Also add a -r option, to switch the data acquisition thread to real-time priority. Signed-off-by: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Orig-LKML-Reference: Signed-off-by: Ingo Molnar commit 4e935e47177c3b26cf383e79849bae2a464d0160 Author: Peter Zijlstra Date: Mon Mar 30 19:07:16 2009 +0200 perf_counter: pmc arbitration Follow the example set by powerpc and try to play nice with oprofile and the nmi watchdog. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.459968444@chello.nl> Signed-off-by: Ingo Molnar commit d7d59fb323833682b117b528d77eeb8ef587036a Author: Peter Zijlstra Date: Mon Mar 30 19:07:15 2009 +0200 perf_counter: x86: callchain support Provide the x86 perf_callchain() implementation. Code based on the ftrace/sysprof code from Soeren Sandmann Pedersen. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: Soeren Sandmann Pedersen Cc: Frederic Weisbecker Cc: Steven Rostedt Orig-LKML-Reference: <20090330171024.341993293@chello.nl> Signed-off-by: Ingo Molnar commit 394ee07623cf556c8daae2b3c00cf5fea47f0811 Author: Peter Zijlstra Date: Mon Mar 30 19:07:14 2009 +0200 perf_counter: provide generic callchain bits Provide the generic callchain support bits. If hw_event->callchain is set the arch specific perf_callchain() function is called upon to provide a perf_callchain_entry structure filled with the current callchain. If it does so, it is added to the overflow output event. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.254266860@chello.nl> Signed-off-by: Ingo Molnar commit 023c54c42288416b4f43c67bfd5049a76926fad6 Author: Peter Zijlstra Date: Mon Mar 30 19:07:13 2009 +0200 perf_counter tools: kerneltop: update event_types Go along with the new perf_event_type ABI. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.133985461@chello.nl> Signed-off-by: Ingo Molnar commit 5ed00415e304203a0a9dcaef226d6d3f1106070e Author: Peter Zijlstra Date: Mon Mar 30 19:07:12 2009 +0200 perf_counter: re-arrange the perf_event_type Breaks ABI yet again :-) Change the event type so that [0, 2^31-1] are regular event types, but [2^31, 2^32-1] forms a bitmask for overflow events. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.047961770@chello.nl> Signed-off-by: Ingo Molnar commit 78d613eb129fc4edf0e2cabfcc6a4c5285482d21 Author: Peter Zijlstra Date: Mon Mar 30 19:07:11 2009 +0200 perf_counter: small cleanup of the output routines Move the nmi argument to the _begin() function, so that _end() only needs the handle. This allows the _begin() function to generate a wakeup on event loss. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.959404268@chello.nl> Signed-off-by: Ingo Molnar commit 31f004df8d14212f0a8a2fb12a8ed44a3d80e2fb Author: Paul Mackerras Date: Mon Mar 30 19:07:10 2009 +0200 perf_counter tools: optionally scale counter values in perfstat mode Impact: new functionality This adds add an option to the perfstat mode of kerneltop to scale the reported counter values according to the fraction of time that each counter gets to count. This is invoked with the -l option (I used 'l' because s, c, a and e were all taken already.) This uses the new PERF_RECORD_TOTAL_TIME_{ENABLED,RUNNING} read format options. With this, we get output like this: $ ./perfstat -l -e 0:0,0:1,0:2,0:3,0:4,0:5 ./spin Performance counter stats for './spin': 4016072055 CPU cycles (events) (scaled from 66.53%) 2005887318 instructions (events) (scaled from 66.53%) 1762849 cache references (events) (scaled from 66.69%) 165229 cache misses (events) (scaled from 66.85%) 1001298009 branches (events) (scaled from 66.78%) 41566 branch misses (events) (scaled from 66.61%) Wall-clock time elapsed: 2438.227446 msecs This also lets us detect when a counter is zero because the counter never got to go on the CPU at all. In that case we print rather than 0. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.871484899@chello.nl> Signed-off-by: Ingo Molnar commit 9ea98e191255ee642e64a5745014424fc63f83b0 Author: Peter Zijlstra Date: Mon Mar 30 19:07:09 2009 +0200 perf_counter: x86: proper error propagation for the x86 hw_perf_counter_init() Now that Paul cleaned up the error propagation paths, pass down the x86 error as well. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.792822360@chello.nl> Signed-off-by: Ingo Molnar commit d5d2bc0dd0379deddb9ede66fec90a3083eaec57 Author: Paul Mackerras Date: Mon Mar 30 19:07:08 2009 +0200 perf_counter: make it possible for hw_perf_counter_init to return error codes Impact: better error reporting At present, if hw_perf_counter_init encounters an error, all it can do is return NULL, which causes sys_perf_counter_open to return an EINVAL error to userspace. This isn't very informative for userspace; it means that userspace can't tell the difference between "sorry, oprofile is already using the PMU" and "we don't support this CPU" and "this CPU doesn't support the requested generic hardware event". This commit uses the PTR_ERR/ERR_PTR/IS_ERR set of macros to let hw_perf_counter_init return an error code on error rather than just NULL if it wishes. If it does so, that error code will be returned from sys_perf_counter_open to userspace. If it returns NULL, an EINVAL error will be returned to userspace, as before. This also adapts the powerpc hw_perf_counter_init to make use of this to return ENXIO, EINVAL, EBUSY, or EOPNOTSUPP as appropriate. It would be good to add extra error numbers in future to allow userspace to distinguish the various errors that are currently reported as EINVAL, i.e. irq_period < 0, too many events in a group, conflict between exclude_* settings in a group, and PMU resource conflict in a group. [ v2: fix a bug pointed out by Corey Ashford where error returns from hw_perf_counter_init were not handled correctly in the case of raw hardware events.] Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.682428180@chello.nl> Signed-off-by: Ingo Molnar commit 7595d63b3a9ce65d14c4fbd0e7de448a343d7215 Author: Paul Mackerras Date: Mon Mar 30 19:07:07 2009 +0200 perf_counter: powerpc: only reserve PMU hardware when we need it Impact: cooperate with oprofile At present, on PowerPC, if you have perf_counters compiled in, oprofile doesn't work. There is code to allow the PMU to be shared between competing subsystems, such as perf_counters and oprofile, but currently the perf_counter subsystem reserves the PMU for itself at boot time, and never releases it. This makes perf_counter play nicely with oprofile. Now we keep a count of how many perf_counter instances are counting hardware events, and reserve the PMU when that count becomes non-zero, and release the PMU when that count becomes zero. This means that it is possible to have perf_counters compiled in and still use oprofile, as long as there are no hardware perf_counters active. This also means that if oprofile is active, sys_perf_counter_open will fail if the hw_event specifies a hardware event. To avoid races with other tasks creating and destroying perf_counters, we use a mutex. We use atomic_inc_not_zero and atomic_add_unless to avoid having to take the mutex unless there is a possibility of the count going between 0 and 1. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.627912475@chello.nl> Signed-off-by: Ingo Molnar commit 3c1ba6fafecaed295017881f8863a18602f32c1d Author: Peter Zijlstra Date: Mon Mar 30 19:07:06 2009 +0200 perf_counter: kerneltop: parse the mmap data stream frob the kerneltop code to print the mmap data in the stream Better use would be collecting the IPs per PID and mapping them onto the provided userspace code.. TODO Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.501902515@chello.nl> Signed-off-by: Ingo Molnar commit 0a4a93919bdc5cee48fe4367591e8e0449c1086c Author: Peter Zijlstra Date: Mon Mar 30 19:07:05 2009 +0200 perf_counter: executable mmap() information Currently the profiling information returns userspace IPs but no way to correlate them to userspace code. Userspace could look into /proc/$pid/maps but that might not be current or even present anymore at the time of analyzing the IPs. Therefore provide means to track the mmap information and provide it in the output stream. XXX: only covers mmap()/munmap(), mremap() and mprotect() are missing. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: Andrew Morton Orig-LKML-Reference: <20090330171023.417259499@chello.nl> Signed-off-by: Ingo Molnar commit 195564390210977954fe4ef45b39cdee34f41b59 Author: Peter Zijlstra Date: Mon Mar 30 19:07:04 2009 +0200 perf_counter: kerneltop: simplify data_head read Now that the kernel side changed, match up again. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.327144324@chello.nl> Signed-off-by: Ingo Molnar commit 38ff667b321b00f5e6830e93fb4ab11a653a2920 Author: Peter Zijlstra Date: Mon Mar 30 19:07:03 2009 +0200 perf_counter: fix update_userpage() It just occured to me it is possible to have multiple contending updates of the userpage (mmap information vs overflow vs counter). This would break the seqlock logic. It appear the arch code uses this from NMI context, so we cannot possibly serialize its use, therefore separate the data_head update from it and let it return to its original use. The arch code needs to make sure there are no contending callers by disabling the counter before using it -- powerpc appears to do this nicely. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.241410660@chello.nl> Signed-off-by: Ingo Molnar commit 925d519ab82b6dd7aca9420d809ee83819c08db2 Author: Peter Zijlstra Date: Mon Mar 30 19:07:02 2009 +0200 perf_counter: unify and fix delayed counter wakeup While going over the wakeup code I noticed delayed wakeups only work for hardware counters but basically all software counters rely on them. This patch unifies and generalizes the delayed wakeup to fix this issue. Since we're dealing with NMI context bits here, use a cmpxchg() based single link list implementation to track counters that have pending wakeups. [ This should really be generic code for delayed wakeups, but since we cannot use cmpxchg()/xchg() in generic code, I've let it live in the perf_counter code. -- Eric Dumazet could use it to aggregate the network wakeups. ] Furthermore, the x86 method of using TIF flags was flawed in that its quite possible to end up setting the bit on the idle task, loosing the wakeup. The powerpc method uses per-cpu storage and does appear to be sufficient. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.153932974@chello.nl> Signed-off-by: Ingo Molnar commit 53cfbf593758916aac41db728f029986a62f1254 Author: Paul Mackerras Date: Wed Mar 25 22:46:58 2009 +1100 perf_counter: record time running and time enabled for each counter Impact: new functionality Currently, if there are more counters enabled than can fit on the CPU, the kernel will multiplex the counters on to the hardware using round-robin scheduling. That isn't too bad for sampling counters, but for counting counters it means that the value read from a counter represents some unknown fraction of the true count of events that occurred while the counter was enabled. This remedies the situation by keeping track of how long each counter is enabled for, and how long it is actually on the cpu and counting events. These times are recorded in nanoseconds using the task clock for per-task counters and the cpu clock for per-cpu counters. These values can be supplied to userspace on a read from the counter. Userspace requests that they be supplied after the counter value by setting the PERF_FORMAT_TOTAL_TIME_ENABLED and/or PERF_FORMAT_TOTAL_TIME_RUNNING bits in the hw_event.read_format field when creating the counter. (There is no way to change the read format after the counter is created, though it would be possible to add some way to do that.) Using this information it is possible for userspace to scale the count it reads from the counter to get an estimate of the true count: true_count_estimate = count * total_time_enabled / total_time_running This also lets userspace detect the situation where the counter never got to go on the cpu: total_time_running == 0. This functionality has been requested by the PAPI developers, and will be generally needed for interpreting the count values from counting counters correctly. In the implementation, this keeps 5 time values (in nanoseconds) for each counter: total_time_enabled and total_time_running are used when the counter is in state OFF or ERROR and for reporting back to userspace. When the counter is in state INACTIVE or ACTIVE, it is the tstamp_enabled, tstamp_running and tstamp_stopped values that are relevant, and total_time_enabled and total_time_running are determined from them. (tstamp_stopped is only used in INACTIVE state.) The reason for doing it like this is that it means that only counters being enabled or disabled at sched-in and sched-out time need to be updated. There are no new loops that iterate over all counters to update total_time_enabled or total_time_running. This also keeps separate child_total_time_running and child_total_time_enabled fields that get added in when reporting the totals to userspace. They are separate fields so that they can be atomic. We don't want to use atomics for total_time_running, total_time_enabled etc., because then we would have to use atomic sequences to update them, which are slower than regular arithmetic and memory accesses. It is possible to measure total_time_running by adding a task_clock counter to each group of counters, and total_time_enabled can be measured approximately with a top-level task_clock counter (though inaccuracies will creep in if you need to disable and enable groups since it is not possible in general to disable/enable the top-level task_clock counter simultaneously with another group). However, that adds extra overhead - I measured around 15% increase in the context switch latency reported by lat_ctx (from lmbench) when a task_clock counter was added to each of 2 groups, and around 25% increase when a task_clock counter was added to each of 4 groups. (In both cases a top-level task-clock counter was also added.) In contrast, the code added in this commit gives better information with no overhead that I could measure (in fact in some cases I measured lower times with this code, but the differences were all less than one standard deviation). [ v2: address review comments by Andrew Morton. ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Andrew Morton Orig-LKML-Reference: <18890.6578.728637.139402@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 7730d8655880f41f2ea519aca2ca6a1413dfd2c9 Author: Peter Zijlstra Date: Wed Mar 25 12:48:31 2009 +0100 perf_counter: allow and require one-page mmap on counting counters A brainfart stopped single page mmap()s working. The rest of the code should be perfectly fine with not having any data pages. Reported-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <1237981712.7972.812.camel@twins> Signed-off-by: Ingo Molnar commit 00f0ad73ac90e3fba8b4cbe4cf21b2fb9a56cb72 Author: Peter Zijlstra Date: Wed Mar 25 12:30:27 2009 +0100 perf_counter: kerneltop: output event support Teach kerneltop about the new output ABI. XXX: anybody fancy integrating the PID/TID data into the output? Bump the mmap_data pages a little because we bloated the output and have to be more careful about overruns with structured data. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.192910290@chello.nl> Signed-off-by: Ingo Molnar commit 4c4ba21d2c3659e4c0421533939b58a8fd9f06c9 Author: Peter Zijlstra Date: Wed Mar 25 12:30:26 2009 +0100 perf_counter: kerneltop: mmap_pages argument provide a knob to set the number of mmap data pages. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.104545398@chello.nl> Signed-off-by: Ingo Molnar commit ea5d20cf99db5d26d43b6d322d3ace17e08a6552 Author: Peter Zijlstra Date: Wed Mar 25 12:30:25 2009 +0100 perf_counter: optionally provide the pid/tid of the sampled task Allow cpu wide counters to profile userspace by providing what process the sample belongs to. This raises the first issue with the output type, lots of these options: group, tid, callchain, etc.. are non-exclusive and could be combined, suggesting a bitfield. However, things like the mmap() data stream doesn't fit in that. How to split the type field... Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.013775235@chello.nl> Signed-off-by: Ingo Molnar commit 63e35b25d6b5c3136d22ef249dbbf96716aa08bf Author: Peter Zijlstra Date: Wed Mar 25 12:30:24 2009 +0100 perf_counter: sanity check on the output API Ensure we never write more than we said we would. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.921433024@chello.nl> Signed-off-by: Ingo Molnar commit 5c1481943250ab65fa5130e05ec479c93216e9f7 Author: Peter Zijlstra Date: Wed Mar 25 12:30:23 2009 +0100 perf_counter: output objects Provide a {type,size} header for each output entry. This should provide extensible output, and the ability to mix multiple streams. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.831607932@chello.nl> Signed-off-by: Ingo Molnar commit b9cacc7bf193df16532bfa7d7ca77fe50fc3c2e6 Author: Peter Zijlstra Date: Wed Mar 25 12:30:22 2009 +0100 perf_counter: more elaborate write API Provide a begin, copy, end interface to the output buffer. begin() reserves the space, copy() copies the data over, considering page boundaries, end() finalizes the event and does the wakeup. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.740550870@chello.nl> Signed-off-by: Ingo Molnar commit c7138f37f905bb7987b1f9f5a8ee73667db39f25 Author: Peter Zijlstra Date: Tue Mar 24 13:18:16 2009 +0100 perf_counter: fix perf_poll() Impact: fix kerneltop 100% CPU usage Only return a poll event when there's actually been one, poll_wait() doesn't actually wait for the waitq you pass it, it only enqueues you on it. Only once all FDs have been iterated and none of thm returned a poll-event will it schedule(). Also make it return POLL_HUP when there's not mmap() area to read from. Further, fix a silly bug in the write code. Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Arjan van de Ven Orig-LKML-Reference: <1237897096.24918.181.camel@twins> Signed-off-by: Ingo Molnar commit f66c6b2066b44d4ab8e8ac1ee4cae543738fe2ac Author: Paul Mackerras Date: Mon Mar 23 10:29:36 2009 +1100 perf_counter: update documentation Impact: documentation fix This updates the perfcounter documentation to reflect recent changes. Signed-off-by: Paul Mackerras commit 0fd112e41cd6f6d4779cbe327c3632d087e31476 Author: Peter Zijlstra Date: Tue Mar 24 10:50:24 2009 +0100 perf_counter tools: remove glib dependency and fix bugs in kerneltop.c, fix poll() Paul Mackerras wrote: > I noticed the poll stuff is bogus - we have a 2D array of struct > pollfds (MAX_NR_CPUS x MAX_COUNTERS), we fill in a sub-array (with the > rest being uninitialized, since the array is on the stack) and then > pass the first nr_cpus elements to poll. Not what we really meant, I > suspect. :) Not even if we only have one counter, since it's the > counter dimension that varies fastest. This should fix the most obvious poll fubar.. not enough to fix the full problem though.. Reported-by: Paul Mackerras Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Arjan van de Ven Orig-LKML-Reference: <18888.29986.340328.540512@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit cbe46555dc4de6403cd757139d42289b5f21abb9 Author: Paul Mackerras Date: Tue Mar 24 16:52:34 2009 +1100 perf_counter tools: remove glib dependency and fix bugs in kerneltop.c The glib dependency in kerneltop.c is only for a little bit of list manipulation, and I find it inconvenient. This adds a 'next' field to struct source_line, which lets us link them together into a list. The code to do the linking ourselves turns out to be no longer or more difficult than using glib. This also fixes a few other problems: - We need to #include to get PATH_MAX on powerpc. - We need to #include rather than have our own definitions of __u64 and __s64; on powerpc the installed headers define them to be unsigned long and long respectively, and if we have our own, different definition here that causes a compile error. - This takes out the x86 setting of errno from -ret in sys_perf_counter_open. My experiments on x86 indicate that the glibc syscall() does this for us already. - We had two CPU migration counters in the default set, which seems unnecessary; I changed one of them to a context switch counter. - In perfstat mode we were printing CPU cycles and instructions as milliseconds, and the cpu clock and task clock counters as events. This fixes that. - In perfstat mode we were still printing a blank line after the first counter, which was a holdover from when a task clock counter was automatically included as the first counter. This removes the blank line. - On a test machine here, parse_symbols() and parse_vmlinux() were taking long enough (almost 0.5 seconds) for the mmap buffer to overflow before we got to the first mmap_read() call, so this moves them before we open all the counters. - The error message if sys_perf_counter_open fails needs to use errno, not -fd[i][counter]. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Acked-by: Mike Galbraith Cc: Arjan van de Ven Orig-LKML-Reference: <18888.29986.340328.540512@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 81cdbe0509542324ad7d3282ab67c2b6716df663 Author: Ingo Molnar Date: Mon Mar 23 22:29:50 2009 +0100 perf_counter tools: increase cpu-cycles again Commit b7368fdd7d decreased the CPU cycles interval 100-fold, but this is causig kerneltop failures on my Nehalem box: aldebaran:/home/mingo/linux/linux/Documentation/perf_counter> ./kerneltop KernelTop refresh period: 2 seconds ERROR: failed to keep up with mmap data 10,000 cycles is way too short. What we should do instead on mostly-idle systems is some sort of read/poll timeout, so that we display something every 2 seconds for sure. Cc: Wu Fengguang Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 193e8df1b465f206f8a286202680702e1c153367 Author: Ingo Molnar Date: Mon Mar 23 22:23:16 2009 +0100 perf_counter tools: fix build warning in kerneltop.c Fix: kerneltop.c: In function ‘record_ip’: kerneltop.c:1005: warning: format ‘%016llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ Cc: Wu Fengguang Cc: Paul Mackerras Acked-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit 383c5f8cd7d253be0017d8d5a39cbb78aaf70206 Author: Ingo Molnar Date: Mon Mar 23 21:49:25 2009 +0100 perf_counter tools: tidy up in-kernel dependencies Remove now unified perfstat.c and perf_counter.h, and link to the in-kernel perf_counter.h. Cc: Wu Fengguang Cc: Paul Mackerras Acked-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit bcbcb37cdb67d8100acfa66df40c4d636c28c4d1 Author: Peter Zijlstra Date: Mon Mar 23 18:22:12 2009 +0100 perf_counter tools: use mmap() output update kerneltop to use the mmap() output to gather overflow information Signed-off-by: Peter Zijlstra Cc: Wu Fengguang Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit 803d4f3980f6e220b27311a283aab0a4d68b6709 Author: Peter Zijlstra Date: Mon Mar 23 18:22:11 2009 +0100 perf_counter tools: update to new syscall ABI update the kerneltop userspace to work with the latest syscall ABI Signed-off-by: Peter Zijlstra Cc: Wu Fengguang Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.559643732@chello.nl> Signed-off-by: Ingo Molnar commit 7b732a75047738e4f85438ed2f9cd34bf5f2a19a Author: Peter Zijlstra Date: Mon Mar 23 18:22:10 2009 +0100 perf_counter: new output ABI - part 1 Impact: Rework the perfcounter output ABI use sys_read() only for instant data and provide mmap() output for all async overflow data. The first mmap() determines the size of the output buffer. The mmap() size must be a PAGE_SIZE multiple of 1+pages, where pages must be a power of 2 or 0. Further mmap()s of the same fd must have the same size. Once all maps are gone, you can again mmap() with a new size. In case of 0 extra pages there is no data output and the first page only contains meta data. When there are data pages, a poll() event will be generated for each full page of data. Furthermore, the output is circular. This means that although 1 page is a valid configuration, its useless, since we'll start overwriting it the instant we report a full page. Future work will focus on the output format (currently maintained) where we'll likey want each entry denoted by a header which includes a type and length. Further future work will allow to splice() the fd, also containing the async overflow data -- splice() would be mutually exclusive with mmap() of the data. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.470536358@chello.nl> Signed-off-by: Ingo Molnar commit b09d2501ed3d294619cbfbcf828ad39324d0e548 Author: H. Peter Anvin Date: Wed Apr 1 17:21:56 2009 -0700 mutex: drop "inline" from mutex_lock() inside kernel/mutex.c Impact: build fix mutex_lock() is was defined inline in kernel/mutex.c, but wasn't declared so not in . This didn't cause a problem until checkin 3a2d367d9aabac486ac4444c6c7ec7a1dab16267 added the atomic_dec_and_mutex_lock() inline in between declaration and definion. This broke building with CONFIG_ALLOW_WARNINGS=n, e.g. make allnoconfig. Either from the source code nor the allnoconfig binary output I cannot find any internal references to mutex_lock() in kernel/mutex.c, so presumably this "inline" is now-useless legacy. Cc: Eric Paris Cc: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: Signed-off-by: H. Peter Anvin commit 9ab772cd535c4b256a577eae516f9c7462346b2d Author: Eric Paris Date: Mon Mar 23 18:22:09 2009 +0100 mutex: add atomic_dec_and_mutex_lock() Much like the atomic_dec_and_lock() function in which we take an hold a spin_lock if we drop the atomic to 0 this function takes and holds the mutex if we dec the atomic to 0. Signed-off-by: Eric Paris Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.410913479@chello.nl> Signed-off-by: Ingo Molnar commit 37d81828385f8ff823caaaf1a83e72d065b6cfa1 Author: Paul Mackerras Date: Mon Mar 23 18:22:08 2009 +0100 perf_counter: add an mmap method to allow userspace to read hardware counters Impact: new feature giving performance improvement This adds the ability for userspace to do an mmap on a hardware counter fd and get access to a read-only page that contains the information needed to translate a hardware counter value to the full 64-bit counter value that would be returned by a read on the fd. This is useful on architectures that allow user programs to read the hardware counters, such as PowerPC. The mmap will only succeed if the counter is a hardware counter monitoring the current process. On my quad 2.5GHz PowerPC 970MP machine, userspace can read a counter and translate it to the full 64-bit value in about 30ns using the mmapped page, compared to about 830ns for the read syscall on the counter, so this does give a significant performance improvement. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.297057964@chello.nl> Signed-off-by: Ingo Molnar commit 96f6d4444302bb2ea2cf409529eef816462f6ce0 Author: Peter Zijlstra Date: Mon Mar 23 18:22:07 2009 +0100 perf_counter: avoid recursion Tracepoint events like lock_acquire and software counters like pagefaults can recurse into the perf counter code again, avoid that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.152096433@chello.nl> Signed-off-by: Ingo Molnar commit f4a2deb4860497f4332cf6a1acddab3dd628ddf0 Author: Peter Zijlstra Date: Mon Mar 23 18:22:06 2009 +0100 perf_counter: remove the event config bitfields Since the bitfields turned into a bit of a mess, remove them and rely on good old masks. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.059499915@chello.nl> Signed-off-by: Ingo Molnar commit af9522cf133e9be6da8525a46a9ed7e7659f0e1a Author: Wu Fengguang Date: Fri Mar 20 10:08:10 2009 +0800 perf_counter tools: when no command is feed to perfstat, display help and exit Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit dda7c02f33833bfa9412ba6f0e410b0a18b42c88 Author: Wu Fengguang Date: Fri Mar 20 10:08:09 2009 +0800 perf_counter tools: cut down default count for cpu-cycles In my system, it takes kerneltop dozens of minutes to show up usable numbers. Make the default count 100 times smaller fixed this long startup latency. I'm not sure if it's the right solution though. Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 3ab8d792b1348eaabfe550ba60902d781d160dd4 Author: Wu Fengguang Date: Fri Mar 20 10:08:08 2009 +0800 perf_counter tools: fix event_id type Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit ef45fa9e6c1694d3e8063f39749097a6e496b12c Author: Wu Fengguang Date: Fri Mar 20 10:08:07 2009 +0800 perf_counter tools: fix comment for sym_weight() Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit f7524bda8be8be98db356d6a83ac1da451ecdb2e Author: Wu Fengguang Date: Fri Mar 20 10:08:06 2009 +0800 perf_counter tools: move remaining code into kerneltop.c - perfstat.c can be safely removed now - perfstat: -s => -a for system wide accounting - kerneltop: add -S/--stat for perfstat mode - minor adjustments to kerneltop --help, perfstat --help Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit e3908612d93dff9d7746d85d37c42593254bf282 Author: Wu Fengguang Date: Fri Mar 20 10:08:05 2009 +0800 perf_counter tools: Reuse event_name() in kerneltop - can handle sw counters now - the outputs will look slightly different Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 95bb3be1b3ca4a71cc168787b675d5b7852fc6be Author: Wu Fengguang Date: Fri Mar 20 10:08:04 2009 +0800 perf_counter tools: support symbolic event names in kerneltop - kerneltop: --event_id => --event - kerneltop: can accept SW event types now - perfstat: it used to implicitly add event -2(task-clock), the new code no longer does this. Shall we? Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit f49012fad4ed2231c7380c0b1901122242b3eab0 Author: Wu Fengguang Date: Fri Mar 20 10:08:03 2009 +0800 perf_counter tools: Move perfstat supporting code into perfcounters.h Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit cea92ce5b07078cd62c4712d51390b09a43dba2e Author: Wu Fengguang Date: Fri Mar 20 10:08:02 2009 +0800 perf_counter tools: Merge common code into perfcounters.h kerneltop's MAX_COUNTERS is increased from 8 to 64(the value used by perfstat). Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit e0143bad9dbf2a8fad4c5430562bceba196b66ea Author: Ingo Molnar Date: Mon Mar 23 21:29:59 2009 +0100 perf_counter: add sample user-space to Documentation/perf_counter/ Initial version of kerneltop.c and perfstat.c. Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 6f9f791eb53b56097cd311a1a5517a8e89bdaf35 Author: Ingo Molnar Date: Mon Mar 23 21:26:52 2009 +0100 perf_counter: create Documentation/perf_counter/ and move perfcounters.txt there We'll have more files in that directory, prepare for that. Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 9aaa131a279834dff75c290c91f0058f62d72d46 Author: Paul Mackerras Date: Sat Mar 21 15:31:47 2009 +1100 perf_counter: fix type/event_id layout on big-endian systems Impact: build fix for powerpc Commit db3a944aca35ae61 ("perf_counter: revamp syscall input ABI") expanded the hw_event.type field into a union of structs containing bitfields. In particular it introduced a type field and a raw_type field, with the intention that the 1-bit raw_type field should overlay the most-significant bit of the 8-bit type field, and in fact perf_counter_alloc() now assumes that (or at least, assumes that raw_type doesn't overlay any of the bits that are 1 in the values of PERF_TYPE_{HARDWARE,SOFTWARE,TRACEPOINT}). Unfortunately this is not true on big-endian systems such as PowerPC, where bitfields are laid out from left to right, i.e. from most significant bit to least significant. This means that setting hw_event.type = PERF_TYPE_SOFTWARE will set hw_event.raw_type to 1. This fixes it by making the layout depend on whether or not __BIG_ENDIAN_BITFIELD is defined. It's a bit ugly, but that's what we get for using bitfields in a user/kernel ABI. Also, that commit didn't fix up some places in arch/powerpc/kernel/ perf_counter.c where hw_event.raw and hw_event.event_id were used. This fixes them too. Signed-off-by: Paul Mackerras commit db4fb5acf20295063d1d5105e67724eb51440207 Author: Paul Mackerras Date: Thu Mar 19 20:26:20 2009 +0100 perf_counter: powerpc: clean up perc_counter_interrupt Impact: cleanup This updates the powerpc perf_counter_interrupt following on from the "perf_counter: unify irq output code" patch. Since we now use the generic perf_counter_output code, which sets the perf_counter_pending flag directly, we no longer need the need_wakeup variable. This removes need_wakeup and makes perf_counter_interrupt use get_perf_counter_pending() instead. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Orig-LKML-Reference: <20090319194234.024464535@chello.nl> Signed-off-by: Ingo Molnar commit 0322cd6ec504b0bf08ca7b2c3d7f43bda37d79c9 Author: Peter Zijlstra Date: Thu Mar 19 20:26:19 2009 +0100 perf_counter: unify irq output code Impact: cleanup Having 3 slightly different copies of the same code around does nobody any good. First step in revamping the output format. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.929962222@chello.nl> Signed-off-by: Ingo Molnar commit b8e83514b64577b48bfb794fe85fcde40a9343ca Author: Peter Zijlstra Date: Thu Mar 19 20:26:18 2009 +0100 perf_counter: revamp syscall input ABI Impact: modify ABI The hardware/software classification in hw_event->type became a little strained due to the addition of tracepoint tracing. Instead split up the field and provide a type field to explicitly specify the counter type, while using the event_id field to specify which event to use. Raw counters still work as before, only the raw config now goes into raw_event. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.836807573@chello.nl> Signed-off-by: Ingo Molnar commit e077df4f439681e43f0db8255b2d215b342ebdc6 Author: Peter Zijlstra Date: Thu Mar 19 20:26:17 2009 +0100 perf_counter: hook up the tracepoint events Impact: new perfcounters feature Enable usage of tracepoints as perf counter events. tracepoint event ids can be found in /debug/tracing/event/*/*/id and (for now) are represented as -65536+id in the type field. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.744044174@chello.nl> Signed-off-by: Ingo Molnar commit f16009527595ee562308653bc3d0039166d2ab15 Author: Peter Zijlstra Date: Thu Mar 19 20:26:16 2009 +0100 perf_counter: fix up counter free paths Impact: fix crash during perfcounters use I found another counter free path, create a free_counter() call to accomodate generic tear-down. Fixes an RCU bug. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.652078652@chello.nl> Signed-off-by: Ingo Molnar commit 4a0deca657f3dbb8a707b5dc8f173beec01e7ed2 Author: Peter Zijlstra Date: Thu Mar 19 20:26:12 2009 +0100 perf_counter: generic context switch event Impact: cleanup Use the generic software events for context switches. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.283522645@chello.nl> Signed-off-by: Ingo Molnar commit 01ef09d9ffb5ce9f8d62d1e5206da3d5ca612acc Author: Peter Zijlstra Date: Thu Mar 19 20:26:11 2009 +0100 perf_counter: fix uninitialized usage of event_list Impact: fix boot crash When doing the generic context switch event I ran into some early boot hangs, which were caused by inf func recursion (event, fault, event, fault). I eventually tracked it down to event_list not being initialized at the time of the first event. Fix this. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.195392657@chello.nl> Signed-off-by: Ingo Molnar commit b6c5a71da1477d261bc36254fe1f20d32b57598d Author: Paul Mackerras Date: Mon Mar 16 21:00:00 2009 +1100 perf_counter: abstract wakeup flag setting in core to fix powerpc build Impact: build fix for powerpc Commit bd753921015e7905 ("perf_counter: software counter event infrastructure") introduced a use of TIF_PERF_COUNTERS into the core perfcounter code. This breaks the build on powerpc because we use a flag in a per-cpu area to signal wakeups on powerpc rather than a thread_info flag, because the thread_info flags have to be manipulated with atomic operations and are thus slower than per-cpu flags. This fixes the by changing the core to use an abstracted set_perf_counter_pending() function, which is defined on x86 to set the TIF_PERF_COUNTERS flag and on powerpc to set the per-cpu flag (paca->perf_counter_pending). It changes the previous powerpc definition of set_perf_counter_pending to not take an argument and adds a clear_perf_counter_pending, so as to simplify the definition on x86. On x86, set_perf_counter_pending() is defined as a macro. Defining it as a static inline in arch/x86/include/asm/perf_counters.h causes compile failures because gets included early in , and the definitions of set_tsk_thread_flag etc. are therefore not available in . (On powerpc this problem is avoided by defining set_perf_counter_pending etc. in .) Signed-off-by: Paul Mackerras commit 7bb497bd885eedd0f56dfe3cc1b5ff20710d33b9 Author: Ingo Molnar Date: Wed Mar 18 08:59:21 2009 +0100 perf_counter: fix crash on perfmon v1 systems Impact: fix boot crash on Intel Perfmon Version 1 systems Intel Perfmon v1 does not support the global MSRs, nor does it offer the generalized MSR ranges. So support v2 and later CPUs only. Also mark pmc_ops as read-mostly - to avoid false cacheline sharing. Cc: Paul Mackerras Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4e193bd4dfdc983d12969b51439b4a1fbaf2daad Author: Tim Blechmann Date: Sat Mar 14 14:29:25 2009 +0100 perf_counter: include missing header Impact: build fix In order to compile a kernel with performance counter patches, has to be included to provide the declaration of struct pt_regs *get_irq_regs(void); [ This bug was masked by unrelated x86 header file changes in the x86 tree, but occurs in the tip:perfcounters/core standalone tree. ] Signed-off-by: Tim Blechmann Orig-LKML-Reference: <20090314142925.49c29c17@thinkpad> Signed-off-by: Ingo Molnar commit 039fc91e064b81c2820ff16c304be5aba35fd126 Author: Peter Zijlstra Date: Fri Mar 13 16:43:47 2009 +0100 perf_counter: fix hrtimer sampling Impact: fix deadlock with perfstat Fix for the perfstat fubar.. We cannot unconditionally call hrtimer_cancel() without ever having done hrtimer_init() on the thing. Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <1236959027.22447.149.camel@twins> Signed-off-by: Ingo Molnar commit 592903cdcbf606a838056bae6d03fc557806c914 Author: Peter Zijlstra Date: Fri Mar 13 12:21:36 2009 +0100 perf_counter: add an event_list I noticed that the counter_list only includes top-level counters, thus perf_swcounter_event() will miss sw-counters in groups. Since perf_swcounter_event() also wants an RCU safe list, create a new event_list that includes all counters and uses RCU list ops and use call_rcu to free the counter structure. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d6d020e9957745c61285ef3da9f294c5e6801f0f Author: Peter Zijlstra Date: Fri Mar 13 12:21:35 2009 +0100 perf_counter: hrtimer based sampling for software time events Use hrtimers to profile timer based sampling for the software time counters. This allows platforms without hardware counter support to still perform sample based profiling. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ac17dc8e58f3069ea895cfff963adf98ff3cf6b2 Author: Peter Zijlstra Date: Fri Mar 13 12:21:34 2009 +0100 perf_counter: provide major/minor page fault software events Provide separate sw counters for major and minor page faults. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7dd1fcc258b65da718f01e4684a7b9244501a9fb Author: Peter Zijlstra Date: Fri Mar 13 12:21:33 2009 +0100 perf_counter: provide pagefault software events We use the generic software counter infrastructure to provide page fault events. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 15dbf27cc18559a14e99609f78678aa86b9c6ff1 Author: Peter Zijlstra Date: Fri Mar 13 12:21:32 2009 +0100 perf_counter: software counter event infrastructure Provide generic software counter infrastructure that supports software events. This will be used to allow sample based profiling based on software events such as pagefaults. The current infrastructure can only provide a count of such events, no place information. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 82bae4f8c2fd64a2bb1e2e72c508853ed2b4a299 Author: Peter Zijlstra Date: Fri Mar 13 12:21:31 2009 +0100 perf_counter: x86: use ULL postfix for 64bit constants Fix a build warning on 32bit machines by explicitly marking the constants as 64-bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 60b3df9c1e24a18aabb412da9905208c5f04ebea Author: Peter Zijlstra Date: Fri Mar 13 12:21:30 2009 +0100 perf_counter: add comment to barrier We need to ensure the enabled=0 write happens before we start disabling the actual counters, so that a pcm_amd_enable() will not enable one underneath us. I think the race is impossible anyway, we always balance the ops within any one context and perform enable() with IRQs disabled. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 755642322aa66fbc5421a35fd3e1733f73e20083 Author: Peter Zijlstra Date: Fri Mar 13 12:21:29 2009 +0100 perf_counter: use list_move_tail() Instead of del/add use a move list-op. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 595258aaeac4cc6e187b98b1bf29bb176febe763 Author: Peter Zijlstra Date: Fri Mar 13 12:21:28 2009 +0100 perf_counter: x86: fix 32-bit irq_period assumption No need to assume the irq_period is 32bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f541ae326fa120fa5c57433e4d9a133df212ce41 Merge: e255357 0221c81 Author: Ingo Molnar Date: Mon Apr 6 09:02:57 2009 +0200 Merge branch 'linus' into perfcounters/core-v2 Merge reason: we have gathered quite a few conflicts, need to merge upstream Conflicts: arch/powerpc/kernel/Makefile arch/x86/ia32/ia32entry.S arch/x86/include/asm/hardirq.h arch/x86/include/asm/unistd_32.h arch/x86/include/asm/unistd_64.h arch/x86/kernel/cpu/common.c arch/x86/kernel/irq.c arch/x86/kernel/syscall_table_32.S arch/x86/mm/iomap_32.c include/linux/sched.h kernel/Makefile Signed-off-by: Ingo Molnar commit 2b7dbbe0c9491e62b50978d1615193bec33a8291 Author: Daniel Glöckner Date: Sat Mar 28 19:47:02 2009 +0100 ASoC: s6105 IP camera machine specific ASoC code This patch adds machine specific code for the audio part of the Stretch s6105 IP camera reference design. The device uses the tlv320aic31(01) codec to generate the clock for both I2S ports of the soc. While the master clock is generated by a configurable PLL chip, the code assumes the factory default settings. An additional kcontrol has been added to handle the special routing of the board, connecting both HPLCOM and HPROUT to the same pin of the audio jack. One of these should always be switched off. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 4b166da939012905f4c36fedada62067db31948e Author: Daniel Glöckner Date: Sat Mar 28 19:47:01 2009 +0100 ASoC: Add driver for s6000 I2S interface This patch adds a driver for the I2S interface found on Stretch s6000 family processors. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 31c9a24ec82926fcae49483e53566d231e705057 Author: Paul E. McKenney Date: Thu Apr 2 21:06:25 2009 -0700 RCU: make treercu be default Impact: switch default config from CLASSIC_RCU to TREE_RCU Given that I have not gotten any complaints or bug reports on treercu recently, this patch makes it be the default. There are a number of other defconfig files that explicitly call out CLASSIC_RCU, but which have comment headers saying not to edit them. Probably holdovers from one of the flavors of "make config", but... Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: niv@us.ibm.com Cc: manfred@colorfullife.com Cc: peterz@infradead.org LKML-Reference: <20090403040625.GA9473@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b5f22a59c0356655a501190959db9f7f5dd07e3f Author: Serge E. Hallyn Date: Thu Apr 2 18:47:14 2009 -0500 don't raise all privs on setuid-root file with fE set (v2) Distributions face a backward compatibility problem with starting to use file capabilities. For instance, removing setuid root from ping and doing setcap cap_net_raw=pe means that booting with an older kernel or one compiled without file capabilities means ping won't work for non-root users. In order to replace the setuid root bit on a capability-unaware program, one has to set the effective, or legacy, file capability, which makes the capability effective immediately. This patch uses the legacy bit as a queue to not automatically add full privilege to a setuid-root program. So, with this patch, an ordinary setuid-root program will run with privilege. But if /bin/ping has both setuid-root and cap_net_raw in fP and fE, then ping (when run by non-root user) will not run with only cap_net_raw. Changelog: Apr 2 2009: Print a message once when such a binary is loaded, as per James Morris' suggestion. Apr 2 2009: Fix the condition to only catch uid!=0 && euid==0. Signed-off-by: Serge E. Hallyn Acked-by: Casey Schaufler Signed-off-by: James Morris commit 3d43321b7015387cfebbe26436d0e9d299162ea1 Author: Kees Cook Date: Thu Apr 2 15:49:29 2009 -0700 modules: sysctl to block module loading Implement a sysctl file that disables module-loading system-wide since there is no longer a viable way to remove CAP_SYS_MODULE after the system bounding capability set was removed in 2.6.25. Value can only be set to "1", and is tested only if standard capability checks allow CAP_SYS_MODULE. Given existing /dev/mem protections, this should allow administrators a one-way method to block module loading after initial boot-time module loading has finished. Signed-off-by: Kees Cook Acked-by: Serge Hallyn Signed-off-by: James Morris commit 53152f957d4a5dfd537d17c823afeb1a2c03753e Author: Ian Campbell Date: Thu Apr 2 13:24:28 2009 +0100 xen: honour VCPU availability on boot If a VM is booted with offline VCPUs then unplug them during boot. Determining the availability of a VCPU requires access to XenStore which is not available at the point smp_prepare_cpus() is called, therefore we bring up all VCPUS initially and unplug the offline ones as soon as XenStore becomes available. Signed-off-by: Ian Campbell commit 8a6f83afd0c5355db6d11394a798e94950306239 Author: KaiGai Kohei Date: Wed Apr 1 10:07:57 2009 +0900 Permissive domain in userspace object manager This patch enables applications to handle permissive domain correctly. Since the v2.6.26 kernel, SELinux has supported an idea of permissive domain which allows certain processes to work as if permissive mode, even if the global setting is enforcing mode. However, we don't have an application program interface to inform what domains are permissive one, and what domains are not. It means applications focuses on SELinux (XACE/SELinux, SE-PostgreSQL and so on) cannot handle permissive domain correctly. This patch add the sixth field (flags) on the reply of the /selinux/access interface which is used to make an access control decision from userspace. If the first bit of the flags field is positive, it means the required access control decision is on permissive domain, so application should allow any required actions, as the kernel doing. This patch also has a side benefit. The av_decision.flags is set at context_struct_compute_av(). It enables to check required permissions without read_lock(&policy_rwlock). Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Acked-by: Eric Paris -- security/selinux/avc.c | 2 +- security/selinux/include/security.h | 4 +++- security/selinux/selinuxfs.c | 4 ++-- security/selinux/ss/services.c | 30 +++++------------------------- 4 files changed, 11 insertions(+), 29 deletions(-) Signed-off-by: James Morris commit 1943689c47acaad7fc7f3dae8d35ef82de5d48f4 Merge: 6d02c42 0a4666b c6a960c 818fd20 f078370 Author: Jeremy Fitzhardinge Date: Mon Mar 30 10:00:45 2009 -0700 Merge branches 'for-linus/xen/dev-evtchn', 'for-linus/xen/xenbus', 'for-linus/xen/xenfs' and 'for-linus/xen/sys-hypervisor' into for-linus/xen/master * for-linus/xen/dev-evtchn: xen/dev-evtchn: clean up locking in evtchn xen: export ioctl headers to userspace xen: add /dev/xen/evtchn driver xen: add irq_from_evtchn * for-linus/xen/xenbus: xen/xenbus: export xenbus_dev_changed xen: use device model for suspending xenbus devices xen: remove suspend_cancel hook * for-linus/xen/xenfs: xen: add "capabilities" file * for-linus/xen/sys-hypervisor: xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet xen/sys/hypervisor: change writable_pt to features xen: add /sys/hypervisor support Conflicts: drivers/xen/Makefile commit 818fd20673df82031e604bb784d836f1fc2e2451 Author: Jeremy Fitzhardinge Date: Fri Feb 6 18:46:47 2009 -0800 xen: add "capabilities" file The xenfs capabilities file allows usermode to determine what capabilities the domain has. The only one at present is "control_d" in a privileged domain. Signed-off-by: Jeremy Fitzhardinge commit f0783708bf63a2827863cf2be57c08a24843e6bd Author: Ian Campbell Date: Wed Mar 11 10:19:54 2009 +0000 xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet I needed this to compile since there is no kexec yet in pvops kernel CC drivers/xen/sys-hypervisor.o drivers/xen/sys-hypervisor.c: In function 'hyper_sysfs_init': drivers/xen/sys-hypervisor.c:405: error: 'vmcoreinfo_size_xen' undeclared (first use in this function) drivers/xen/sys-hypervisor.c:405: error: (Each undeclared identifier is reported only once drivers/xen/sys-hypervisor.c:405: error: for each function it appears in.) drivers/xen/sys-hypervisor.c:406: error: implicit declaration of function 'xen_sysfs_vmcoreinfo_init' drivers/xen/sys-hypervisor.c: In function 'hyper_sysfs_exit': drivers/xen/sys-hypervisor.c:433: error: 'vmcoreinfo_size_xen' undeclared (first use in this function) drivers/xen/sys-hypervisor.c:434: error: implicit declaration of function 'xen_sysfs_vmcoreinfo_destroy' Signed-off-by: Ian Campbell commit a649b720614d5675dc402bef75a92576143fede7 Author: Jeremy Fitzhardinge Date: Tue Mar 10 17:17:41 2009 -0700 xen/sys/hypervisor: change writable_pt to features /sys/hypervisor/properties/writable_pt was misnamed. Rename to features, expressed as a bit array in hex. Signed-off-by: Jeremy Fitzhardinge commit cff7e81b3dd7c25cd2248cd7a04c5764552d5d55 Author: Jeremy Fitzhardinge Date: Tue Mar 10 14:39:59 2009 -0700 xen: add /sys/hypervisor support Adds support for Xen info under /sys/hypervisor. Taken from Novell 2.6.27 backport tree. Signed-off-by: Jeremy Fitzhardinge commit c6a960ce8858f20036cc3afc3b9422670d0d9021 Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:53 2009 -0800 xen/xenbus: export xenbus_dev_changed Signed-off-by: Jeremy Fitzhardinge commit de5b31bd47de7e6f41be2e271318dbc8f1af354d Author: Ian Campbell Date: Mon Feb 9 12:05:50 2009 -0800 xen: use device model for suspending xenbus devices Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit a1ce1be578365a4da7e7d7db4812539d2d5da763 Author: Ian Campbell Date: Mon Feb 9 12:05:50 2009 -0800 xen: remove suspend_cancel hook Remove suspend_cancel hook from xenbus_driver, in preparation for using the device model for suspending. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 0a4666b539a0e896ec4e8396a034a479e3573125 Author: Jeremy Fitzhardinge Date: Thu Feb 12 13:03:24 2009 -0800 xen/dev-evtchn: clean up locking in evtchn Define a new per_user_data mutex to serialize bind/unbind operations to prevent them from racing with each other. Fix error returns and don't do a bind while holding a spinlock. Signed-off-by: Jeremy Fitzhardinge commit c5cfef0f79cacc3aa438fc28f4747f0d10c54d0d Author: Ian Campbell Date: Fri Feb 6 19:21:19 2009 -0800 xen: export ioctl headers to userspace Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit f7116284c734f3a47180cd9c907944a1837ccb3c Author: Ian Campbell Date: Fri Feb 6 19:21:19 2009 -0800 xen: add /dev/xen/evtchn driver This driver is used by application which wish to receive notifications from the hypervisor or other guests via Xen's event channel mechanism. In particular it is used by the xenstore daemon in domain 0. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit d4c045364d3107603187f21a56ec231e74d26441 Author: Ian Campbell Date: Fri Feb 6 19:20:31 2009 -0800 xen: add irq_from_evtchn Given an evtchn, return the corresponding irq. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 6d02c42698f99eccb290ac53d4f10ca883b9f90c Author: Jeremy Fitzhardinge Date: Sun Mar 29 22:57:15 2009 -0700 xen: clean up gate trap/interrupt constants Use GATE_INTERRUPT/TRAP rather than 0xe/f. Signed-off-by: Jeremy Fitzhardinge commit 707ebbc81c61eb480d8a51ca61e355e240df1d32 Author: Jeremy Fitzhardinge Date: Fri Mar 27 11:29:02 2009 -0700 xen: set _PAGE_NX in __supported_pte_mask before pagetable construction Some 64-bit machines don't support the NX flag in ptes. Check for NX before constructing the kernel pagetables. Signed-off-by: Jeremy Fitzhardinge commit 1e6fcf840e11ceff8a656a678c6e4b0560a98e08 Author: Ian Campbell Date: Wed Mar 25 17:46:42 2009 +0000 xen: resume interrupts before system devices. Impact: bugfix Xen domain restore Otherwise the first timer interrupt after resume is missed and we never get another. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 8de07bbdede03598801cf33ab23dcbcd28a918d2 Author: Jeremy Fitzhardinge Date: Wed Mar 4 17:36:57 2009 -0800 xen/mmu: weaken flush_tlb_other test Impact: fixes crashing bug There's no particular problem with getting an empty cpu mask, so just shortcut-return if we get one. Avoids crash reported by Christophe Saout Signed-off-by: Jeremy Fitzhardinge commit 4185f35404dc96f8525298c7c548aee419f3b3f4 Author: Jeremy Fitzhardinge Date: Tue Mar 17 13:30:55 2009 -0700 xen/mmu: some early pagetable cleanups 1. make sure early-allocated ptes are pinned, so they can be later unpinned 2. don't pin pmd+pud, just make them RO 3. scatter some __inits around Signed-off-by: Jeremy Fitzhardinge commit 5f241e65f2be4661a33e1937e1c829252a80b2b8 Author: Jeremy Fitzhardinge Date: Mon Mar 16 17:08:48 2009 -0700 x86-64: non-paravirt systems always has PSE and PGE A paravirtualized system may not have PSE or PGE available to guests, so they are not required features. However, without paravirt we can assume that any x86-64 implementation will have them available. Signed-off-by: Jeremy Fitzhardinge commit 1e7449730853e7c9ae9a2458b2ced7ba12559a0e Author: Alex Nixon Date: Mon Feb 9 12:05:46 2009 -0800 Xen: Add virt_to_pfn helper function Signed-off-by: Alex Nixon commit 68509cdcde6583ee1a9542899d1270449c7d5903 Author: Jeremy Fitzhardinge Date: Sun Mar 8 03:59:04 2009 -0700 x86-64: remove PGE from must-have feature list PGE may not be available when running paravirtualized, so test the cpuid bit before using it. Signed-off-by: Jeremy Fitzhardinge commit e826fe1ba1563a9272345da8e3279a930ac160a7 Author: Jeremy Fitzhardinge Date: Sat Mar 7 17:09:27 2009 -0800 xen: mask XSAVE from cpuid Xen leaves XSAVE set in cpuid, but doesn't allow cr4.OSXSAVE to be set. This confuses the kernel and it ends up crashing on an xsetbv instruction. At boot time, try to set cr4.OSXSAVE, and mask XSAVE out of cpuid it we can't. This will produce a spurious error from Xen, but allows us to support XSAVE if/when Xen does. This also factors out the cpuid mask decisions to boot time. Signed-off-by: Jeremy Fitzhardinge commit e9e2d1ffcfdb38bed11a3064aa74bea9ee38ed80 Author: Hannes Eder Date: Thu Mar 5 20:13:57 2009 +0100 NULL noise: arch/x86/xen/smp.c Fix this sparse warnings: arch/x86/xen/smp.c:316:52: warning: Using plain integer as NULL pointer arch/x86/xen/smp.c:421:60: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: Jeremy Fitzhardinge commit b4b7e58590d0e94ed78bd6be1aa163caba7b6c74 Author: Jeremy Fitzhardinge Date: Wed Mar 4 16:34:27 2009 -0800 xen: remove xen_load_gdt debug Don't need the noise. Signed-off-by: Jeremy Fitzhardinge commit 3ce5fa7ebff74b6a4dc5fdcdc22e6979f5a4ff85 Author: Jeremy Fitzhardinge Date: Wed Mar 4 15:26:00 2009 -0800 xen: make xen_load_gdt simpler Remove use of multicall machinery which is unused (gdt loading is never performance critical). This removes the implicit use of percpu variables, which simplifies understanding how the percpu code's use of load_gdt interacts with this code. Signed-off-by: Jeremy Fitzhardinge commit 6ed6bf428aff64fe37cdc54b239d598fee6016f1 Author: Jeremy Fitzhardinge Date: Wed Mar 4 13:02:18 2009 -0800 xen: clean up xen_load_gdt Makes the logic a bit clearer. Signed-off-by: Jeremy Fitzhardinge commit 7571a60446030d2576d881438447e86a0755a83b Author: Jeremy Fitzhardinge Date: Fri Feb 27 15:34:59 2009 -0800 xen: split construction of p2m mfn tables from registration Build the p2m_mfn_list_list early with the rest of the p2m table, but register it later when the real shared_info structure is in place. Signed-off-by: Jeremy Fitzhardinge commit a2bcd4731f77cb77ae4b5e4a3d7f5471cf346c33 Author: Ingo Molnar Date: Sun Mar 29 23:47:48 2009 +0200 x86/mm: further cleanups of fault.c's include file section Impact: cleanup Eliminate more than 20 unnecessary #include lines in fault.c Also fix include file dependency bug in asm/traps.h. (this was masked before, by implicit inclusion) Signed-off-by: Ingo Molnar LKML-Reference: Acked-by: H. Peter Anvin commit 59d7187142bbe9b404a403ed0f874d3227305f26 Author: Jeremy Fitzhardinge Date: Thu Feb 26 15:48:33 2009 -0800 xen: separate p2m allocation from setting When doing very early p2m setting, we need to separate setting from allocation, so split things up accordingly. Signed-off-by: Jeremy Fitzhardinge commit 5caecb9432428241d0c641897f07ff4003f1b55f Author: Jeremy Fitzhardinge Date: Fri Feb 20 23:01:26 2009 -0800 xen: disable preempt for leave_lazy_mmu xen_mc_flush() requires preemption to be disabled for its own sanity, so disable it while we're flushing. Signed-off-by: Jeremy Fitzhardinge commit ab2f75f0b760d2b0c9a875b669a1b51dce02c85a Author: Jeremy Fitzhardinge Date: Wed Feb 18 00:18:50 2009 -0800 x86/paravirt: use percpu_ rather than __get_cpu_var Impact: minor optimisation percpu_read/write is a slightly more direct way of getting to percpu data. Signed-off-by: Jeremy Fitzhardinge commit 252a6bf2a3a7e7add56b17d48aecf3f3ef213103 Author: Jeremy Fitzhardinge Date: Wed Feb 18 00:11:28 2009 -0800 mm: allow preemption in apply_to_pte_range Impact: allow preemption in apply_to_pte_range updates to init_mm Preemption is now allowed for lazy mmu mode, so don't disable it for the inner loop of apply_to_pte_range. This only applies when doing updates to init_mm; user pagetables are still modified under the pte lock, so preemption is disabled anyway. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 2829b449276aed45f3d649efb21e3418e39dd5d1 Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:53:19 2009 -0800 x86/paravirt: allow preemption with lazy mmu mode Impact: remove obsolete checks, simplification Lift restrictions on preemption with lazy mmu mode, as it is now allowed. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 224101ed69d3fbb486868e0f6e0f9fa37302efb4 Author: Jeremy Fitzhardinge Date: Wed Feb 18 11:18:57 2009 -0800 x86/paravirt: finish change from lazy cpu to context switch start/end Impact: fix lazy context switch API Pass the previous and next tasks into the context switch start end calls, so that the called functions can properly access the task state (esp in end_context_switch, in which the next task is not yet completely current). Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit b407fc57b815b2016186220baabc76cc8264206e Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:46:21 2009 -0800 x86/paravirt: flush pending mmu updates on context switch Impact: allow preemption during lazy mmu updates If we're in lazy mmu mode when context switching, leave lazy mmu mode, but remember the task's state in TIF_LAZY_MMU_UPDATES. When we resume the task, check this flag and re-enter lazy mmu mode if its set. This sets things up for allowing lazy mmu mode while preemptible, though that won't actually be active until the next change. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 7fd7d83d49914f03aefffba6aee09032fcd54cce Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:24:03 2009 -0800 x86/pvops: replace arch_enter_lazy_cpu_mode with arch_start_context_switch Impact: simplification, prepare for later changes Make lazy cpu mode more specific to context switching, so that it makes sense to do more context-switch specific things in the callbacks. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit b8bcfe997e46150fedcc3f5b26b846400122fdd9 Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:05:19 2009 -0800 x86/paravirt: remove lazy mode in interrupts Impact: simplification, robustness Make paravirt_lazy_mode() always return PARAVIRT_LAZY_NONE when in an interrupt. This prevents interrupt code from accidentally inheriting an outer lazy state, and instead does everything synchronously. Outer batched operations are left deferred. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra Cc: Thomas Gleixner commit a8a93f3f03b7a8008d720e8d91798efe599d416c Author: Jeremy Fitzhardinge Date: Thu Feb 12 13:45:34 2009 -0800 mm: disable preemption in apply_to_pte_range Impact: bugfix Lazy mmu mode needs preemption disabled, so if we're apply to init_mm (which doesn't require any pte locks), then explicitly disable preemption. (Do it unconditionally after checking we've successfully done the allocation to simplify the error handling.) Signed-off-by: Jeremy Fitzhardinge commit 34886c8bc590f078d4c0b88f50d061326639198d Author: Steven Rostedt Date: Wed Mar 25 21:00:47 2009 -0400 tracing: add average time in function to function profiler Show the average time in the function (Time / Hit) Function Hit Time Avg -------- --- ---- --- mwait_idle 51 140326.6 us 2751.503 us smp_apic_timer_interrupt 47 3517.735 us 74.845 us schedule 10 2738.754 us 273.875 us __schedule 10 2732.857 us 273.285 us hrtimer_interrupt 47 1896.104 us 40.342 us irq_exit 56 1711.833 us 30.568 us __run_hrtimer 47 1315.589 us 27.991 us tick_sched_timer 47 1138.690 us 24.227 us do_softirq 56 1116.829 us 19.943 us __do_softirq 56 1066.932 us 19.052 us do_IRQ 9 926.153 us 102.905 us Signed-off-by: Steven Rostedt commit 318e0a73c9e41b9a17241829bcd0605a39b87cb9 Author: Steven Rostedt Date: Wed Mar 25 20:06:34 2009 -0400 tracing: remove on the fly allocator from function profiler Impact: safer code The on the fly allocator for the function profiler was to save memory. But at the expense of stability. Although it survived several tests, allocating from the function tracer is just too risky, just to save space. This patch removes the allocator and simply allocates enough entries at start up. Each function gets a profiling structure of 40 bytes. With an average of 20K functions, and this is for each CPU, we have 800K per online CPU. This is not too bad, at least for non-embedded. Signed-off-by: Steven Rostedt commit fb9fb015e92123fa3a8e0c2e2fff491d4a56b470 Author: Steven Rostedt Date: Wed Mar 25 13:26:41 2009 -0400 tracing: clean up tracing profiler Ingo Molnar suggested clean ups for the profiling code. This patch makes those updates. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit a2a16d6a3156ef7309ca7328a20c35df9418e670 Author: Steven Rostedt Date: Tue Mar 24 23:17:58 2009 -0400 function-graph: add option to calculate graph time or not graph time is the time that a function is executing another function. Thus if function A calls B, if graph-time is set, then the time for A includes B. This is the default behavior. But if graph-time is off, then the time spent executing B is subtracted from A. Signed-off-by: Steven Rostedt commit cafb168a1c92e4c9e1731fe3d666c39611762c49 Author: Steven Rostedt Date: Tue Mar 24 20:50:39 2009 -0400 tracing: make the function profiler per cpu Impact: speed enhancement By making the function profiler record in per cpu data we not only get better readings, avoid races, we also do not have to take any locks. Signed-off-by: Steven Rostedt commit 0706f1c48ca8a7ab478090b4e38f2e578ae2bfe0 Author: Steven Rostedt Date: Mon Mar 23 23:12:58 2009 -0400 tracing: adding function timings to function profiler If the function graph trace is enabled, the function profiler will use it to take the timing of the functions. cat /debug/tracing/trace_stat/functions Function Hit Time -------- --- ---- mwait_idle 127 183028.4 us schedule 26 151997.7 us __schedule 31 151975.1 us sys_wait4 2 74080.53 us do_wait 2 74077.80 us sys_newlstat 138 39929.16 us do_path_lookup 179 39845.79 us vfs_lstat_fd 138 39761.97 us user_path_at 153 39469.58 us path_walk 179 39435.76 us __link_path_walk 189 39143.73 us [...] Note the times are skewed due to the function graph tracer not taking into account schedules. Signed-off-by: Steven Rostedt commit 493762fc534c71d11d489f872c4b4a2c61173668 Author: Steven Rostedt Date: Mon Mar 23 17:12:36 2009 -0400 tracing: move function profiler data out of function struct Impact: reduce size of memory in function profiler The function profiler originally introduces its counters into the function records itself. There is 20 thousand different functions on a normal system, and that is adding 20 thousand counters for profiling event when not needed. A normal run of the profiler yields only a couple of thousand functions executed, depending on what is being profiled. This means we have around 18 thousand useless counters. This patch rectifies this by moving the data out of the function records used by dynamic ftrace. Data is preallocated to hold the functions when the profiling begins. Checks are made during profiling to see if more recorcds should be allocated, and they are allocated if it is safe to do so. This also removes the dependency from using dynamic ftrace, and also removes the overhead by having it enabled. Signed-off-by: Steven Rostedt commit bac429f037f1a51a74d62bad6d1518c3be065df3 Author: Steven Rostedt Date: Fri Mar 20 12:50:56 2009 -0400 tracing: add function profiler Impact: new profiling feature This patch adds a function profiler. In debugfs/tracing/ two new files are created. function_profile_enabled - to enable or disable profiling trace_stat/functions - the profiled functions. For example: echo 1 > /debugfs/tracing/function_profile_enabled ./hackbench 50 echo 0 > /debugfs/tracing/function_profile_enabled yields: cat /debugfs/tracing/trace_stat/functions Function Hit -------- --- _spin_lock 10106442 _spin_unlock 10097492 kfree 6013704 _spin_unlock_irqrestore 4423941 _spin_lock_irqsave 4406825 __phys_addr 4181686 __slab_free 4038222 dput 4030130 path_put 4023387 unroll_tree_refs 4019532 [...] The most hit functions are listed first. Functions that are not hit are not listed. This feature depends on and uses dynamic function tracing. When the function profiling is disabled, no overhead occurs. But it still takes up around 300KB to hold the data, thus it is not recomended to keep it enabled for systems low on memory. When a '1' is echoed into the function_profile_enabled file, the counters for is function is reset back to zero. Thus you can see what functions are hit most by different programs. Signed-off-by: Steven Rostedt commit 425480081e936d8725f0d44b8829d699bf088c6b Author: Steven Rostedt Date: Tue Mar 24 13:38:36 2009 -0400 tracing: add handler to trace_stat Currently, if a trace_stat user wants a handle to some private data, the trace_stat infrastructure does not supply a way to do that. This patch passes the trace_stat structure to the start function of the trace_stat code. Signed-off-by: Steven Rostedt commit c78a3956b982418186e40978a51636a2b43221bc Author: Markus Metzger Date: Wed Mar 18 19:27:00 2009 +0100 x86, bts: use atomic memory allocation Ds_request_bts() needs to allocate memory. It uses GFP_KERNEL. Hw-branch-tracer calls ds_request_bts() within on_each_cpu(). Use atomic memory allocation to allow it to be used in that context. Signed-off-by: Markus Metzger LKML-Reference: <20090318192700.A6038@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 79258a354e0c69be94ae2871809a195bf4a647b1 Author: Ingo Molnar Date: Fri Mar 13 12:02:08 2009 +0100 x86, bts: detect size of DS fields, fix Impact: build fix One usage site was missed in the sizeof_field -> sizeof_ptr_field rename. Cc: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit e9a22d1fb94050b7d600019c32e6b672d539054b Author: Ingo Molnar Date: Fri Mar 13 11:54:40 2009 +0100 x86, bts: cleanups Impact: cleanup, no code changed Cc: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 321bb5e1ac461c04b6a93f795010d6eb01d8c5ca Author: Markus Metzger Date: Fri Mar 13 10:50:27 2009 +0100 x86, hw-branch-tracer: add selftest Add a selftest for the hw-branch-tracer. Signed-off-by: Markus Metzger LKML-Reference: <20090313105027.A30183@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit ba9372a8f306c4e53a5f61dcbcd6c1e4a8c2e9ac Author: Markus Metzger Date: Fri Mar 13 10:48:52 2009 +0100 x86, hw-branch-tracer: keep resources on stop Distinguish init/reset and start/stop: init/reset will allocate and release bts tracing resources stop/start will suspend and resume bts tracing Return an error on init() if no cpu can be traced. Signed-off-by: Markus Metzger LKML-Reference: <20090313104852.A30168@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit b8e47195451c5d3f62620b2b1b5928669afd56eb Author: Markus Metzger Date: Fri Mar 13 10:46:42 2009 +0100 x86, bts: correct comment style in ds.c Correct the comment style in ds.c. Signed-off-by: Markus Metzger LKML-Reference: <20090313104642.A30149@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 8a327f6d1b05f5ce16572b4413a5df1d0e872283 Author: Markus Metzger Date: Fri Mar 13 10:45:07 2009 +0100 x86, bts: add selftest for BTS Perform a selftest of branch trace store when a cpu is initialized. WARN and disable branch trace store support if the selftest fails. Signed-off-by: Markus Metzger LKML-Reference: <20090313104507.A30125@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit bc44fb5f7d3e764ed7698c835a1a0f35aba2eb3d Author: Markus Metzger Date: Fri Mar 13 10:42:18 2009 +0100 x86, bts: detect size of DS fields Impact: more robust DS feature enumeration Detect the size of the pointer-type fields in the DS area configuration via the DTES64 features rather than based on the cpuid. Rename a variable to denote that size to reflect that it only covers the pointer-type fields. Add more boot-time diagnostics giving the detected size and the sizes of BTS and PEBS records. Use the size of the BTS/PEBS record to indicate that the respective feature is not available (if the record size is zero). Signed-off-by: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit e255357764f92afcafafbd4879b222b8c752065a Author: Jaswinder Singh Rajput Date: Sun Mar 8 17:09:49 2009 +0530 x86: perf_counter cleanup Remove unused variables and duplicate header file. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 184fe4ab1f2e4dfa45584889bb3820031648386b Author: Peter Zijlstra Date: Sun Mar 8 11:34:19 2009 +0100 x86: perf_counter cleanup Use and actual unsigned long bitmap instead of casting our way around. Signed-off-by: Peter Zijlstra Cc: Jaswinder Singh Rajput LKML-Reference: <1236508459.22914.3645.camel@twins> Signed-off-by: Ingo Molnar commit 880860e392d92c457e8116cdee39ec4d109174ee Author: Paul Mackerras Date: Fri Mar 6 16:30:52 2009 +1100 perfcounters/powerpc: add support for POWER4 processors Impact: more hardware support This adds the back-end for the PMU on the POWER4 and POWER4+ processors (GP and GQ). This is quite similar to the PPC970, with 8 PMCs, but has fewer events than the PPC970. Signed-off-by: Paul Mackerras commit aabbaa6036fd847c583f585c6bae82b5a033e6c7 Author: Paul Mackerras Date: Fri Mar 6 16:27:10 2009 +1100 perfcounters/powerpc: add support for POWER5+ processors Impact: more hardware support This adds the back-end for the PMU on the POWER5+ processors (i.e. GS, including GS DD3 aka POWER5++). This doesn't use the fixed-function PMC5 and PMC6 since they don't respect the freeze conditions and don't generate interrupts, as on POWER6. Signed-off-by: Paul Mackerras commit 86028598de16538f02519141756ccf4accfc29a6 Author: Paul Mackerras Date: Thu Mar 5 14:05:57 2009 +1100 perfcounters/powerpc: fix oops with multiple counters in a group Impact: fix oops-causing bug This fixes a bug in the powerpc hw_perf_counter_init where the code didn't initialize ctrs[n] before passing the ctrs array to check_excludes, leading to possible oopses and other incorrect behaviour. This fixes it by initializing ctrs[n] correctly. Signed-off-by: Paul Mackerras commit b5e8acf66ff5db707c7e08df49fdf6b415878442 Author: Peter Zijlstra Date: Thu Mar 5 20:34:21 2009 +0100 perfcounters: IRQ and NMI support on AMD CPUs, fix The BKGD suggests that counter width on AMD CPUs is 48 for all existing models (it certainly is for mine). Signed-off-by: Ingo Molnar commit b0f3f28e0f14eb335f67bfaae33ce8b8d74fd58b Author: Peter Zijlstra Date: Thu Mar 5 18:08:27 2009 +0100 perfcounters: IRQ and NMI support on AMD CPUs The below completes the K7+ performance counter support: - IRQ support - NMI support KernelTop output works now as well. Signed-off-by: Peter Zijlstra Cc: Jaswinder Singh Rajput Cc: Paul Mackerras LKML-Reference: <1236273633.5187.286.camel@laptop> Signed-off-by: Ingo Molnar commit 2485e5184452ccbda34ff83883883d9107800dff Author: Ingo Molnar Date: Thu Mar 5 12:33:16 2009 +0100 perfcounters: fix reserved bits sizing The sum of bits is 65 currently not 64 - so reduce the # of reserved bits from 55 to 54. Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 2b578459c3274941156093eba149745e43f93067 Merge: 8163d88 2743a5b Author: Ingo Molnar Date: Wed Mar 4 11:43:53 2009 +0100 Merge branch 'rfc' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 8163d88c79dca35478a2405c837733ac50ea4c39 Merge: a1ef58f fec6c6f Author: Ingo Molnar Date: Wed Mar 4 11:42:31 2009 +0100 Merge commit 'v2.6.29-rc7' into perfcounters/core Conflicts: arch/x86/mm/iomap_32.c commit 2743a5b0fa6f309da904f2190a9cc25deee34dbd Author: Paul Mackerras Date: Wed Mar 4 20:36:51 2009 +1100 perfcounters: provide expansion room in the ABI Impact: ABI change This expands several fields in the perf_counter_hw_event struct and adds a "flags" argument to the perf_counter_open system call, in order that features can be added in future without ABI changes. In particular the record_type field is expanded to 64 bits, and the space for flag bits has been expanded from 32 to 64 bits. This also adds some new fields: * read_format (64 bits) is intended to provide a way to specify what userspace wants to get back when it does a read() on a simple (non-interrupting) counter; * exclude_idle (1 bit) provides a way for userspace to ask that events that occur when the cpu is idle be excluded; * extra_config_len will provide a way for userspace to supply an arbitrary amount of extra machine-specific PMU configuration data immediately following the perf_counter_hw_event struct, to allow sophisticated users to program things such as instruction matching CAMs and address range registers; * __reserved_3 and __reserved_4 provide space for future expansion. Signed-off-by: Paul Mackerras commit a1ef58f442542d8b3e3b963339fbc522c36e827c Author: Jaswinder Singh Rajput Date: Sat Feb 28 18:45:39 2009 +0530 x86: use pr_info in perf_counter.c Impact: cleanup using pr_info in perf_counter.c fixes various 80 characters warnings and also indenting for conditional statement Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 169e41eb7f5464c077a7e0e129f025759d04cc54 Author: Jaswinder Singh Rajput Date: Sat Feb 28 18:37:49 2009 +0530 x86: decent declarations in perf_counter.c Impact: cleanup making decent declrations for struct pmc_x86_ops and fix checkpatch error: ERROR: Macros with complex values should be enclosed in parenthesis Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f87ad35d37fa543925210550f7db20a54c83ed70 Author: Jaswinder Singh Rajput Date: Fri Feb 27 20:15:14 2009 +0530 x86: AMD Support for perf_counter Supported basic performance counter for AMD K7 and later: $ perfstat -e 0,1,2,3,4,5,-1,-2,-3,-4,-5 ls > /dev/null Performance counter stats for 'ls': 12.298610 task clock ticks (msecs) 3298477 CPU cycles (events) 1406354 instructions (events) 749035 cache references (events) 16939 cache misses (events) 100589 branches (events) 11159 branch misses (events) 7.627540 cpu clock ticks (msecs) 12.298610 task clock ticks (msecs) 500 pagefaults (events) 6 context switches (events) 3 CPU migrations (events) Wall-clock time elapsed: 8.672290 msecs Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b56a3802dc6df29aa27d2c12edf420258091ad66 Author: Jaswinder Singh Rajput Date: Fri Feb 27 18:09:09 2009 +0530 x86: prepare perf_counter to add more cpus Introduced struct pmc_x86_ops to add more cpus. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 0c489c47d45ecac21059567c163f92138b2fbaa2 Merge: 8e81817 f3dfd26 Author: Ingo Molnar Date: Thu Feb 26 13:03:29 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 8e818179eb9e8f9e44d8410dd2a25077d026a08e Merge: 742bd95 ecc25fb Author: Ingo Molnar Date: Thu Feb 26 13:02:23 2009 +0100 Merge branch 'x86/core' into perfcounters/core Conflicts: arch/x86/kernel/apic/apic.c arch/x86/kernel/irqinit_32.c Signed-off-by: Ingo Molnar commit f3dfd2656deb81a0addee4f4ceff66b50a387388 Author: Paul Mackerras Date: Thu Feb 26 22:43:46 2009 +1100 perfcounters: fix a few minor cleanliness issues This fixes three issues noticed by Arnd Bergmann: - Add #ifdef __KERNEL__ and move some things around in perf_counter.h to make sure only the bits that userspace needs are exported to userspace. - Use __u64, __s64, __u32 types in the structs exported to userspace rather than u64, s64, u32. - Make the sys_perf_counter_open syscall available to the SPUs on Cell platforms. And one issue that I noticed in looking at the code again: - Wrap the perf_counter_open syscall with SYSCALL_DEFINE4 so we get the proper handling of int arguments on ppc64 (and some other 64-bit architectures). Reported-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 742bd95ba96e19b3f7196c3a0834ebc17c8ba006 Author: Paul Mackerras Date: Tue Feb 24 11:33:56 2009 +1100 perfcounters/powerpc: Add support for POWER5 processors This adds the back-end for the PMU on the POWER5 processor. This knows how to use the fixed-function PMC5 and PMC6 (instructions completed and run cycles). Unlike POWER6, PMC5/6 obey the freeze conditions and can generate interrupts, so their use doesn't impose any extra restrictions. POWER5+ is different and is not supported by this patch. Signed-off-by: Paul Mackerras commit d095cd46dac104e4d2a4967c7c19b55a12f78240 Author: Paul Mackerras Date: Mon Feb 23 23:01:28 2009 +1100 perfcounters/powerpc: Make exclude_kernel bit work on Apple G5 processors Currently, setting hw_event.exclude_kernel does nothing on the PPC970 variants used in Apple G5 machines, because they have the HV (hypervisor) bit in the MSR forced to 1, so as far as the PMU is concerned, the kernel runs in hypervisor mode. Thus we have to use the MMCR0_FCHV (freeze counters in hypervisor mode) bit rather than the MMCR0_FCS (freeze counters in supervisor mode) bit. This checks the MSR.HV bit at startup, and if it is set, we set the freeze_counters_kernel variable to MMCR0_FCHV (it was initialized to MMCR0_FCS). We then use that whenever we need to exclude kernel events. Signed-off-by: Paul Mackerras commit cebb469ba242f7ce476e378c8cd3b0c6c63a4c54 Merge: 0b6de00 9be1b56 Author: Ingo Molnar Date: Tue Feb 17 22:53:12 2009 +0100 Merge branch 'x86/apic' into perfcounters/core commit 0b6de0092244c98b5ba1abda34c92470a20e0d0c Merge: 37a2542 f62bae5 Author: Ingo Molnar Date: Tue Feb 17 17:20:11 2009 +0100 Merge branch 'x86/apic' into perfcounters/core Conflicts: arch/x86/kernel/cpu/perfctr-watchdog.c commit 37a25424252b6cff4dd4b1937ab6a1dbfcadabcc Author: Ingo Molnar Date: Mon Feb 16 15:32:23 2009 +0100 perfcounters: fix acpi_idle_do_entry() workaround Fix merge error in drivers/acpi/processor_idle.c. This resulted in non-working perfcounters on certain Nehalem systems. Signed-off-by: Ingo Molnar commit 73ca2f8380311115723c7afe811f3ed1f0ba945e Author: Ingo Molnar Date: Mon Feb 16 01:08:17 2009 +0100 perfcounters: remove duplicate definition of LOCAL_PERF_VECTOR Signed-off-by: Ingo Molnar commit c07c99b67233ccaad38a961c17405dc1e1542aa4 Author: Paul Mackerras Date: Fri Feb 13 22:10:34 2009 +1100 perfcounters: make context switch and migration software counters work again Jaswinder Singh Rajput reported that commit 23a185ca8abbeef caused the context switch and migration software counters to report zero always. With that commit, the software counters only count events that occur between sched-in and sched-out for a task. This is necessary for the counter enable/disable prctls and ioctls to work. However, the context switch and migration counts are incremented after sched-out for one task and before sched-in for the next. Since the increment doesn't occur while a task is scheduled in (as far as the software counters are concerned) it doesn't count towards any counter. Thus the context switch and migration counters need to count events that occur at any time, provided the counter is enabled, not just those that occur while the task is scheduled in (from the perf_counter subsystem's point of view). The problem though is that the software counter code can't tell the difference between being enabled and being scheduled in, and between being disabled and being scheduled out, since we use the one pair of enable/disable entry points for both. That is, the high-level disable operation simply arranges for the counter to not be scheduled in any more, and the high-level enable operation arranges for it to be scheduled in again. One way to solve this would be to have sched_in/out operations in the hw_perf_counter_ops struct as well as enable/disable. However, this takes a simpler approach: it adds a 'prev_state' field to the perf_counter struct that allows a counter's enable method to know whether the counter was previously disabled or just inactive (scheduled out), and therefore whether the enable method is being called as a result of a high-level enable or a schedule-in operation. This then allows the context switch, migration and page fault counters to reset their hw.prev_count value in their enable functions only if they are called as a result of a high-level enable operation. Although page faults would normally only occur while the counter is scheduled in, this changes the page fault counter code too in case there are ever circumstances where page faults get counted against a task while its counters are not scheduled in. Reported-by: Jaswinder Singh Rajput Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit b1864e9a1afef41709886072c6e6248def0386f4 Merge: e9c4ffb 7032e86 Author: Ingo Molnar Date: Fri Feb 13 09:49:38 2009 +0100 Merge branch 'x86/core' into perfcounters/core Conflicts: arch/x86/Kconfig arch/x86/kernel/apic.c arch/x86/kernel/setup_percpu.c commit e9c4ffb11f0b19005b5b9dc8481687a3637e5887 Merge: 4bcf349 071a0bc Author: Ingo Molnar Date: Fri Feb 13 09:34:07 2009 +0100 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/kernel/acpi/boot.c commit 4bcf349a0f90d1e69eb35c6df0fa285c886c1cd6 Author: Paul Mackerras Date: Wed Feb 11 13:53:19 2009 +0100 perfcounters: fix refcounting bug, take 2 Only free child_counter if it has a parent; if it doesn't, then it has a file pointing to it and we'll free it in perf_release. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5af759176cc767e7426f89764bde4996ebaaf419 Author: Mike Galbraith Date: Wed Feb 11 10:53:37 2009 +0100 perfcounters: fix use after free in perf_release() running... while true; do foo -d 1 -f 1 -c 100000 & sleep 1 kerneltop -d 1 -f 1 -e 1 -c 25000 -p `pidof foo` done while true; do killall foo; killall kerneltop; sleep 2 done ...in two shells with SLUB_DEBUG enabled produces flood of: BUG task_struct: Poison overwritten. Fix the use-after-free bug in perf_release(). Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit ffc046729381ec039a87dc2c00d2899fcc8785e3 Merge: 95fd484 0475f9e Author: Ingo Molnar Date: Wed Feb 11 09:22:14 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 95fd4845ed0ffcab305b4f30ce1c12dc34f1b56c Merge: d278c48 8e49215 Author: Ingo Molnar Date: Wed Feb 11 09:22:04 2009 +0100 Merge commit 'v2.6.29-rc4' into perfcounters/core Conflicts: arch/x86/kernel/setup_percpu.c arch/x86/mm/fault.c drivers/acpi/processor_idle.c kernel/irq/handle.c commit 0475f9ea8e2cc030298908949e0d5da9f2fc2cfe Author: Paul Mackerras Date: Wed Feb 11 14:35:35 2009 +1100 perf_counters: allow users to count user, kernel and/or hypervisor events Impact: new perf_counter feature This extends the perf_counter_hw_event struct with bits that specify that events in user, kernel and/or hypervisor mode should not be counted (i.e. should be excluded), and adds code to program the PMU mode selection bits accordingly on x86 and powerpc. For software counters, we don't currently have the infrastructure to distinguish which mode an event occurs in, so we currently fail the counter initialization if the setting of the hw_event.exclude_* bits would require us to distinguish. Context switches and CPU migrations are currently considered to occur in kernel mode. On x86, this changes the previous policy that only root can count kernel events. Now non-root users can count kernel events or exclude them. Non-root users still can't use NMI events, though. On x86 we don't appear to have any way to control whether hypervisor events are counted or not, so hw_event.exclude_hv is ignored. On powerpc, the selection of whether to count events in user, kernel and/or hypervisor mode is PMU-wide, not per-counter, so this adds a check that the hw_event.exclude_* settings are the same as other events on the PMU. Counters being added to a group have to have the same settings as the other hardware counters in the group. Counters and groups can only be enabled in hw_perf_group_sched_in or power_perf_enable if they have the same settings as any other counters already on the PMU. If we are not running on a hypervisor, the exclude_hv setting is ignored (by forcing it to 0) since we can't ever get any hypervisor events. Signed-off-by: Paul Mackerras commit d278c48435625cb6b7edcf6a547620768b175709 Author: Mike Galbraith Date: Mon Feb 9 07:38:50 2009 +0100 perf_counters: account NMI interrupts I noticed that kerneltop interrupts were accounted as NMI, but not their perf counter origin. Account NMI performance counter interrupts. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar arch/x86/kernel/cpu/perf_counter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 23a185ca8abbeef64b6ffc33059b1d630e43ec10 Author: Paul Mackerras Date: Mon Feb 9 22:42:47 2009 +1100 perf_counters: make software counters work as per-cpu counters Impact: kernel crash fix Yanmin Zhang reported that using a PERF_COUNT_TASK_CLOCK software counter as a per-cpu counter would reliably crash the system, because it calls __task_delta_exec with a null pointer. The page fault, context switch and cpu migration counters also won't function correctly as per-cpu counters since they reference the current task. This fixes the problem by redirecting the task_clock counter to the cpu_clock counter when used as a per-cpu counter, and by implementing per-cpu page fault, context switch and cpu migration counters. Along the way, this: - Initializes counter->ctx earlier, in perf_counter_alloc, so that sw_perf_counter_init can use it - Adds code to kernel/sched.c to count task migrations into each cpu, in rq->nr_migrations_in - Exports the per-cpu context switch and task migration counts via new functions added to kernel/sched.c - Makes sure that if sw_perf_counter_init fails, we don't try to initialize the counter as a hardware counter. Since the user has passed a negative, non-raw event type, they clearly don't intend for it to be interpreted as a hardware event. Reported-by: "Zhang Yanmin" Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit 82aa9a1829199233f9bdaf26e2ee271114f4701e Author: Ingo Molnar Date: Thu Feb 5 15:23:08 2009 +0100 perfcounters: fix "perf counters kills oprofile" bug, v2 Impact: fix kernel crash Both oprofile and perfcounters register an NMI die handler, but only one can handle the NMI. Conveniently, oprofile unregisters it's notifier when not actively in use, so setting it's notifier priority higher than perfcounter's allows oprofile to borrow the NMI for the duration of it's run. Tested/works both as module and built-in. While testing, I found that if kerneltop was generating NMIs at very high frequency, the kernel may panic when oprofile registered it's handler. This turned out to be because oprofile registers it's handler before reset_value has been allocated, so if an NMI comes in while it's still setting up, kabOom. Rather than try more invasive changes, I followed the lead of other places in op_model_ppro.c, and simply returned in that highly unlikely event. (debug warnings attached) Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5b75af0a02fcf3b8899f38ff6f22164c5d8e2fdd Author: Mike Galbraith Date: Wed Feb 4 17:11:34 2009 +0100 perfcounters: fix "perf counters kill oprofile" bug With oprofile as a module, and unloaded by profiling script, both oprofile and kerneltop work fine.. unless you leave kerneltop running when you start profiling, then you may see badness. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 15081c61362618a0c81cc8d04e45e7427bc1ed71 Author: Jaswinder Singh Rajput Date: Sun Feb 1 22:07:39 2009 +0530 x86: irqinit_32.c fix compilation warning Fix: arch/x86/kernel/irqinit_32.c:124: warning: 'smp_intr_init' defined but not used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 65d370862f64973611a271ced61864b5f9bb6fc0 Author: Mike Galbraith Date: Thu Jan 29 14:06:52 2009 +0100 perfcounters: fix refcounting bug don't kfree in use counters. Running... while true; do perfstat -e 1 -c true; done ...on all cores for a while doesn't seem to be eating ram, and my oops is gone. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit bb3f0b59ad005d2d2ecbbe9bd048eab6d1ecbd31 Author: Yinghai Lu Date: Sun Jan 25 02:38:09 2009 -0800 x86: make irqinit_32.c more like irqinit_64.c, v2 Impact: cleanup 1. add smp_intr_init and apic_intr_init for 32bit, the same as 64bit 2. move the apic_intr_init() call before set gate with interrupt[i] 3. for 64bit, if ia32_emulation is not used, will make per_cpu to use 0x80 vector. [ v2: should use !test_bit() instead of test_bit() with 32bit ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3415dd9146c574bffe8f012c096bfc2bc62b9508 Author: Mike Galbraith Date: Fri Jan 23 14:16:53 2009 +0100 perfcounters fix section mismatch warning in perf_counter.c::perf_counters_lapic_init() Fix: WARNING: arch/x86/kernel/built-in.o(.text+0xdd0f): Section mismatch in reference from the function pmc_generic_enable() to the function .cpuinit.text:perf_counters_lapic_init() The function pmc_generic_enable() references the function __cpuinit perf_counters_lapic_init(). This is often because pmc_generic_enable lacks a __cpuinit annotation or the annotation of perf_counters_lapic_init is wrong. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 4b39fd96855254a244f71245b41a91cdecb87d63 Author: Mike Galbraith Date: Fri Jan 23 14:36:16 2009 +0100 perfcounters: ratelimit performance counter interrupts Ratelimit performance counter interrupts to 100KHz per CPU. This replaces the irq-delta-time based method. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 1b023a96d9b44f50f4d8ff28c15f5b80e354760f Author: Mike Galbraith Date: Fri Jan 23 10:13:01 2009 +0100 perfcounters: throttle on too high IRQ rates Starting kerneltop with only -c 100 seems to be a bad idea, it can easily lock the system due to perfcounter IRQ overload. So add throttling: if a new IRQ arrives in a shorter than PERFMON_MIN_PERIOD_NS time, turn off perfcounters and untrottle them from the next timer tick. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 05e3423c8577126800841bc55de8a509f2433dca Merge: bfe2a3c 99d0000 Author: Ingo Molnar Date: Fri Jan 23 11:00:43 2009 +0100 Merge branch 'core/percpu' into perfcounters/core commit bfe2a3c3b5bf479788d5d5c5561346be6b169043 Merge: 7783549 35d266a Author: Ingo Molnar Date: Fri Jan 23 10:20:15 2009 +0100 Merge branch 'core/percpu' into perfcounters/core Conflicts: arch/x86/include/asm/hardirq_32.h arch/x86/include/asm/hardirq_64.h Semantic merge: arch/x86/include/asm/hardirq.h [ added apic_perf_irqs field. ] Signed-off-by: Ingo Molnar commit 77835492ed489c0b870f82f4c50687bd267acc0a Merge: af37501 1de9e8e Author: Ingo Molnar Date: Wed Jan 21 16:37:27 2009 +0100 Merge commit 'v2.6.29-rc2' into perfcounters/core Conflicts: include/linux/syscalls.h commit af37501c792107c2bde1524bdae38d9a247b841a Merge: d859e29 99937d6 Author: Ingo Molnar Date: Sun Jan 18 18:15:49 2009 +0100 Merge branch 'core/percpu' into perfcounters/core Conflicts: arch/x86/include/asm/pda.h We merge tip/core/percpu into tip/perfcounters/core because of a semantic and contextual conflict: the former eliminates the PDA, while the latter extends it with apic_perf_irqs field. Resolve the conflict by moving the new field to the irq_cpustat structure on 64-bit too. Signed-off-by: Ingo Molnar commit d859e29fe34cb833071b20aef860ee94fbad9bb2 Author: Paul Mackerras Date: Sat Jan 17 18:10:22 2009 +1100 perf_counter: Add counter enable/disable ioctls Impact: New perf_counter features This primarily adds a way for perf_counter users to enable and disable counters and groups. Enabling or disabling a counter or group also enables or disables all of the child counters that have been cloned from it to monitor children of the task monitored by the top-level counter. The userspace interface to enable/disable counters is via ioctl on the counter file descriptor. Along the way this extends the code that handles child counters to handle child counter groups properly. A group with multiple counters will be cloned to child tasks if and only if the group leader has the hw_event.inherit bit set - if it is set the whole group is cloned as a group in the child task. In order to be able to enable or disable all child counters of a given top-level counter, we need a way to find them all. Hence I have added a child_list field to struct perf_counter, which is the head of the list of children for a top-level counter, or the link in that list for a child counter. That list is protected by the perf_counter.mutex field. This also adds a mutex to the perf_counter_context struct. Previously the list of counters was protected just by the lock field in the context, which meant that perf_counter_init_task had to take that lock and then take whatever lock/mutex protects the top-level counter's child_list. But the counter enable/disable functions need to take that lock in order to traverse the list, then for each counter take the lock in that counter's context in order to change the counter's state safely, which will lead to a deadlock. To solve this, we now have both a mutex and a spinlock in the context, and taking either is sufficient to ensure the list of counters can't change - you have to take both before changing the list. Now perf_counter_init_task takes the mutex instead of the lock (which incidentally means that inherit_counter can use GFP_KERNEL instead of GFP_ATOMIC) and thus avoids the possible deadlock. Similarly the new enable/disable functions can take the mutex while traversing the list of child counters without incurring a possible deadlock when the counter manipulation code locks the context for a child counter. We also had an misfeature that the first counter added to a context would possibly not go on until the next sched-in, because we were using ctx->nr_active to detect if the context was running on a CPU. But nr_active is the number of active counters, and if that was zero (because the context didn't have any counters yet) it would look like the context wasn't running on a cpu and so the retry code in __perf_install_in_context wouldn't retry. So this adds an 'is_active' field that is set when the context is on a CPU, even if it has no counters. The is_active field is only used for task contexts, not for per-cpu contexts. If we enable a subsidiary counter in a group that is active on a CPU, and the arch code can't enable the counter, then we have to pull the whole group off the CPU. We do this with group_sched_out, which gets moved up in the file so it comes before all its callers. This also adds similar logic to __perf_install_in_context so that the "all on, or none" invariant of groups is preserved when adding a new counter to a group. Signed-off-by: Paul Mackerras commit 3b6f9e5cb21964b7ce12bf81076f830885563ec8 Author: Paul Mackerras Date: Wed Jan 14 21:00:30 2009 +1100 perf_counter: Add support for pinned and exclusive counter groups Impact: New perf_counter features A pinned counter group is one that the user wants to have on the CPU whenever possible, i.e. whenever the associated task is running, for a per-task group, or always for a per-cpu group. If the system cannot satisfy that, it puts the group into an error state where it is not scheduled any more and reads from it return EOF (i.e. 0 bytes read). The group can be released from error state and made readable again using prctl(PR_TASK_PERF_COUNTERS_ENABLE). When we have finer-grained enable/disable controls on counters we'll be able to reset the error state on individual groups. An exclusive group is one that the user wants to be the only group using the CPU performance monitor hardware whenever it is on. The counter group scheduler will not schedule an exclusive group if there are already other groups on the CPU and will not schedule other groups onto the CPU if there is an exclusive group scheduled (that statement does not apply to groups containing only software counters, which can always go on and which do not prevent an exclusive group from going on). With an exclusive group, we will be able to let users program PMU registers at a low level without the concern that those settings will perturb other measurements. Along the way this reorganizes things a little: - is_software_counter() is moved to perf_counter.h. - cpuctx->active_oncpu now records the number of hardware counters on the CPU, i.e. it now excludes software counters. Nothing was reading cpuctx->active_oncpu before, so this change is harmless. - A new cpuctx->exclusive field records whether we currently have an exclusive group on the CPU. - counter_sched_out moves higher up in perf_counter.c and gets called from __perf_counter_remove_from_context and __perf_counter_exit_task, where we used to have essentially the same code. - __perf_counter_sched_in now goes through the counter list twice, doing the pinned counters in the first loop and the non-pinned counters in the second loop, in order to give the pinned counters the best chance to be scheduled in. Note that only a group leader can be exclusive or pinned, and that attribute applies to the whole group. This avoids some awkwardness in some corner cases (e.g. where a group leader is closed and the other group members get added to the context list). If we want to relax that restriction later, we can, and it is easier to relax a restriction than to apply a new one. This doesn't yet handle the case where a pinned counter is inherited and goes into error state in the child - the error state is not propagated up to the parent when the child exits, and arguably it should. Signed-off-by: Paul Mackerras commit 01d0287f068de2934109ba9b989d8807526cccc2 Author: Paul Mackerras Date: Wed Jan 14 13:44:19 2009 +1100 powerpc/perf_counter: Make sure PMU gets enabled properly This makes sure that we call the platform-specific ppc_md.enable_pmcs function on each CPU before we try to use the PMU on that CPU. If the CPU goes off-line and then on-line, we need to do the enable_pmcs call again, so we use the hw_perf_counter_setup hook to ensure that. It gets called as each CPU comes online, but it isn't called on the CPU that is coming up, so this adds the CPU number as an argument to it (there were no non-empty instances of hw_perf_counter_setup before). This also arranges to set the pmcregs_in_use field of the lppaca (data structure shared with the hypervisor) on each CPU when we are using the PMU and clear it when we are not. This allows the hypervisor to optimize partition switches by not saving/restoring the PMU registers when we aren't using the PMU. Signed-off-by: Paul Mackerras commit dd0e6ba22ea21bcc2c420b385a170593c58f4c08 Author: Paul Mackerras Date: Mon Jan 12 15:11:00 2009 +1100 perf_counter: Always schedule all software counters in Software counters aren't subject to the limitations imposed by the fixed number of hardware counter registers, so there is no reason not to enable them all in __perf_counter_sched_in. Previously we used to break out of the loop when we got to a group that wouldn't fit on the PMU; with this we continue through the list but only schedule in software counters (or groups containing only software counters) from there on. Signed-off-by: Paul Mackerras commit c0d362a832ee70435fc4555a64f820893b1da0bd Merge: 506c10f f786283 Author: Ingo Molnar Date: Sun Jan 11 02:44:08 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 506c10f26c481b7f8ef27c1c79290f68989b2e9e Merge: e1df957 c597650 Author: Ingo Molnar Date: Sun Jan 11 02:42:53 2009 +0100 Merge commit 'v2.6.29-rc1' into perfcounters/core Conflicts: include/linux/kernel_stat.h commit f78628374a13bc150db77c6e02d4f2c0a7f932ef Author: Paul Mackerras Date: Fri Jan 9 21:05:35 2009 +1100 powerpc/perf_counter: Add support for POWER6 This adds the back-end for the PMU on the POWER6 processor. Fortunately, the event selection hardware is somewhat simpler on POWER6 than on other POWER family processors, so the constraints fit into only 32 bits. Signed-off-by: Paul Mackerras commit 16b067993dee3dfde61b20027e0b168dc06201ee Author: Paul Mackerras Date: Sat Jan 10 16:34:07 2009 +1100 powerpc/perf_counter: Add support for PPC970 family This adds the back-end for the PMU on the PPC970 family. The PPC970 allows events from the ISU to be selected in two different ways. Rather than use alternative event codes to express this, we instead use a single encoding for ISU events and express the resulting constraint (that you can't select events from all three of FPU/IFU/VPU, ISU and IDU/STS at the same time, since they all come in through only 2 multiplexers) using a NAND constraint field, and work out which multiplexer is used for ISU events at compute_mmcr time. Signed-off-by: Paul Mackerras commit 4574910e5087085a1f330ff8373cee4503f5c77c Author: Paul Mackerras Date: Fri Jan 9 20:21:55 2009 +1100 powerpc/perf_counter: Add generic support for POWER-family PMU hardware This provides the architecture-specific functions needed to access PMU hardware on the 64-bit PowerPC processors. It has been designed for the IBM POWER family (POWER 4/4+/5/5+/6 and PPC970) but will hopefully also suit other 64-bit PowerPC machines (although probably not Cell given how different it is in this area). This doesn't include back-ends for any specific processors. This implements a system which allows back-ends to express the constraints that their hardware has on what events can be counted simultaneously. The constraints are expressed as a 64-bit mask + 64-bit value for each event, and the encoding is capable of expressing the constraints arising from having a set of multiplexers feeding an event bus, with some events being available through multiple multiplexer settings, such as we get on POWER4 and PPC970. Furthermore, the back-end can supply alternative event codes for each event, and the constraint checking code will try all possible combinations of alternative event codes to try to find a combination that will fit. Signed-off-by: Paul Mackerras commit 93a6d3ce6962044fe9badf528fed46b455d58292 Author: Paul Mackerras Date: Fri Jan 9 16:52:19 2009 +1100 powerpc: Provide a way to defer perf counter work until interrupts are enabled Because 64-bit powerpc uses lazy (soft) interrupt disabling, it is possible for a performance monitor exception to come in when the kernel thinks interrupts are disabled (i.e. when they are soft-disabled but hard-enabled). In such a situation the performance monitor exception handler might have some processing to do (such as process wakeups) which can't be done in what is effectively an NMI handler. This provides a way to defer that work until interrupts get enabled, either in raw_local_irq_restore() or by returning from an interrupt handler to code that had interrupts enabled. We have a per-processor flag that indicates that there is work pending to do when interrupts subsequently get re-enabled. This flag is checked in the interrupt return path and in raw_local_irq_restore(), and if it is set, perf_counter_do_pending() is called to do the pending work. Signed-off-by: Paul Mackerras commit d662ed26734473d4cb5f3d78cebfec8f9126e97c Author: Paul Mackerras Date: Fri Jan 9 17:01:53 2009 +1100 powerpc/perf_counter: Add perf_counter system call on powerpc ... with an empty/dummy asm/perf_counter.h so it builds. Signed-off-by: Paul Mackerras commit 4eb96fcfe07b7f2a05577e57533840f8e26bea53 Author: Paul Mackerras Date: Fri Jan 9 17:24:34 2009 +1100 perf_counter: Add dummy perf_counter_print_debug function Impact: minimize requirements on architectures Currently, an architecture just enabling CONFIG_PERF_COUNTERS but not providing any extra functions will fail to build with perf_counter_print_debug being undefined, since we don't provide an empty dummy definition like we do with the hw_perf_* functions. This provides an empty dummy perf_counter_print_debug() to make it easier for architectures to turn on CONFIG_PERF_COUNTERS. Signed-off-by: Paul Mackerras commit 3cbed429a9ccdb7a243f733b1056fe5c39e9004c Author: Paul Mackerras Date: Fri Jan 9 16:43:42 2009 +1100 perf_counter: Add optional hw_perf_group_sched_in arch function Impact: extend perf_counter infrastructure This adds an optional hw_perf_group_sched_in() arch function that enables a whole group of counters in one go. It returns 1 if it added the group successfully, 0 if it did nothing (and therefore the core needs to add the counters individually), or a negative number if an error occurred. It should add all the counters and enable any software counters in the group, or else add none of them and return an error. There are a couple of related changes/improvements in the group handling here: * As an optimization, group_sched_out() and group_sched_in() now check the state of the group leader, and do nothing if the leader is not active or disabled. * We now call hw_perf_save_disable/hw_perf_restore around the complete set of counter enable/disable calls in __perf_counter_sched_in/out, to give the arch code the opportunity to defer updating the hardware state until the hw_perf_restore call if it wants. * We no longer stop adding groups after we get to a group that has more than one counter. We will ultimately add an option for a group to be exclusive. The current code doesn't really implement exclusive groups anyway, since a group could end up going on with other counters that get added before it. Signed-off-by: Paul Mackerras commit 9abf8a08bc8f18a3b125f834f00e2e71b49c15d2 Author: Paul Mackerras Date: Fri Jan 9 16:26:43 2009 +1100 perf_counter: Fix the cpu_clock software counter Impact: bug fix Currently if you do (e.g.) timec -e -1 ls, it will report 0 for the value of the cpu_clock counter. The reason is that the core assumes that a counter's count field is up-to-date when the counter is inactive, and doesn't call the counter's read function. However, the cpu_clock counter code only updates the count in the read function. This fixes it by making both the read and disable functions update the count. It also makes the counter ignore time passing while the counter is disabled, by making the enable function update the hw.prev_count field. Signed-off-by: Paul Mackerras commit ff6f05416ece2caec1a7a1f8180d6598e0ab9272 Author: Paul Mackerras Date: Fri Jan 9 16:19:25 2009 +1100 perf_counter: Fix return value from dummy hw_perf_counter_init Impact: fix oops-causing bug Currently, if you try to use perf_counters on an architecture that has no hardware support, and you select an event that doesn't map to any of the defined software counters, you get an oops rather than an error. This is because the dummy hw_perf_counter_init returns ERR_PTR(-EINVAL) but the caller (perf_counter_alloc) only tests for NULL. This makes the dummy hw_perf_counter_init return NULL instead. Signed-off-by: Paul Mackerras commit e1df957670aef74ffd9a4ad93e6d2c90bf6b4845 Merge: 2b583d8 3c92ec8 Author: Ingo Molnar Date: Mon Dec 29 09:45:15 2008 +0100 Merge branch 'linus' into perfcounters/core Conflicts: fs/exec.c include/linux/init_task.h Simple context conflicts. commit 2b583d8bc8d7105b58d7481a4a0ceb718dac49c6 Author: Jaswinder Singh Rajput Date: Sat Dec 27 19:15:43 2008 +0530 x86: perf_counter remove unwanted hw_perf_enable_all Impact: clean, reduce kernel size a bit, avoid sparse warnings Fixes sparse warnings: arch/x86/kernel/cpu/perf_counter.c:153:6: warning: symbol 'hw_perf_enable_all' was not declared. Should it be static? arch/x86/kernel/cpu/perf_counter.c:279:3: warning: returning void-valued expression arch/x86/kernel/cpu/perf_counter.c:206:3: warning: returning void-valued expression arch/x86/kernel/cpu/perf_counter.c:206:3: warning: returning void-valued expression Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 01ea1ccaa24dea3552e103be13b7897211607a8b Author: Yinghai Lu Date: Fri Dec 26 21:05:06 2008 -0800 perf_counter: more barrier in blank weak function Impact: fix panic possible panic Some versions of GCC inline the weak global function if it's empty. Add a barrier() to work it around. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e44aef58ecfbe061eb4c53b939bcc35fb1bee82d Author: Ingo Molnar Date: Thu Dec 25 09:02:11 2008 +0100 perfcounters: include asm/perf_counter.h only if CONFIG_PERF_COUNTERS=y Impact: build fix on ia64 KOSAKI Motohiro reported that -tip doesnt build on ia64 because asm/perf_counter.h only exists on x86 for now. Fix it. Reported-by: KOSAKI Motohiro Tested-by: KOSAKI Motohiro Acked-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 2f18d1e8d07ae67dd0afce875287756d4bd31a46 Author: Ingo Molnar Date: Mon Dec 22 11:10:42 2008 +0100 x86, perfcounters: add support for fixed-function pmcs Impact: extend performance counter support on x86 Intel CPUs Modern Intel CPUs have 3 "fixed-function" performance counters, which count these hardware events: Instr_Retired.Any CPU_CLK_Unhalted.Core CPU_CLK_Unhalted.Ref Add support for them to the performance counters subsystem. Their use is transparent to user-space: the counter scheduler is extended to automatically recognize the cases where a fixed-function PMC can be utilized instead of a generic PMC. In such cases the generic PMC is kept available for more counters. The above fixed-function events map to these generic counter hw events: PERF_COUNT_INSTRUCTIONS PERF_COUNT_CPU_CYCLES PERF_COUNT_BUS_CYCLES (The 'bus' cycles are in reality often CPU-ish cycles, just with a fixed frequency.) Signed-off-by: Ingo Molnar commit f650a672359819454c3d8d4135ecd1558cde0b24 Author: Ingo Molnar Date: Tue Dec 23 12:17:29 2008 +0100 perfcounters: add PERF_COUNT_BUS_CYCLES Generalize "bus cycles" hw events - and map them to CPU_CLK_Unhalted.Ref on x86. (which is a good enough approximation) Signed-off-by: Ingo Molnar commit 235c7fc7c500e4fd1700c4ad01b5612bcdc1b449 Author: Ingo Molnar Date: Sun Dec 21 14:43:25 2008 +0100 perfcounters: generalize the counter scheduler Impact: clean up and refactor code refactor the counter scheduler: separate out in/out functions and introduce a counter-rotation function as well. Signed-off-by: Ingo Molnar commit 8fe91e61cdc407c7556d3cd71cf20141a25bbcea Author: Ingo Molnar Date: Tue Dec 23 12:29:25 2008 +0100 perfcounters: remove ->nr_inherited Impact: remove dead code nr_inherited was not maintained correctly (not decremented) - and also not used - remove it. Signed-off-by: Ingo Molnar commit 0dff86aa7b9ec65a6d07167b7afb050b5fc98ddc Author: Ingo Molnar Date: Tue Dec 23 12:28:12 2008 +0100 x86, perfcounters: print out the ->used bitmask Impact: extend debug printouts Signed-off-by: Ingo Molnar commit 95cdd2e7851cce79ab839cb0b3cbe68d7911d0f1 Author: Ingo Molnar Date: Sun Dec 21 13:50:42 2008 +0100 perfcounters: enable lowlevel pmc code to schedule counters Allow lowlevel ->enable() op to return an error if a counter can not be added. This can be used to handle counter constraints. Signed-off-by: Ingo Molnar commit 78b6084c907cea15bb40a564b974e072f5163781 Author: Ingo Molnar Date: Sun Dec 21 15:07:49 2008 +0100 perfcounters: fix init context lock Signed-off-by: Ingo Molnar commit eef6cbf5844c620d9db9be99e4908cdf92492fb9 Author: Ingo Molnar Date: Fri Dec 19 10:20:42 2008 +0100 perfcounters: pull inherited counters Change counter inheritance from a 'push' to a 'pull' model: instead of child tasks pushing their final counts to the parent, reuse the wait4 infrastructure to pull counters as child tasks are exit-processed, much like how cutime/cstime is collected. Signed-off-by: Ingo Molnar commit aa9c4c0f967fdb482ea95e8473ec3d201e6e0781 Author: Ingo Molnar Date: Wed Dec 17 14:10:57 2008 +0100 perfcounters: fix task clock counter Impact: fix per task clock counter precision Signed-off-by: Ingo Molnar commit 7671581f1666ef4b54a1c1e598c51ac44c060a9b Author: Ingo Molnar Date: Wed Dec 17 14:20:28 2008 +0100 perfcounters: hw ops rename Impact: rename field names Shorten them. Signed-off-by: Ingo Molnar commit 862a1a5f346fe7e9181ea51eaae48cf2cd70f746 Author: Ingo Molnar Date: Wed Dec 17 13:09:20 2008 +0100 x86, perfcounters: refactor code for fixed-function PMCs Impact: clean up Signed-off-by: Ingo Molnar commit 703e937c83bbad79075a7846e062e447c2fee6a4 Author: Ingo Molnar Date: Wed Dec 17 10:51:15 2008 +0100 perfcounters: add fixed-mode PMC enumeration Enumerate fixed-mode PMCs based on CPUID, and feed that into the perfcounter code. Does not use fixed-mode PMCs yet. Signed-off-by: Ingo Molnar commit eb2b861810d4ff72454c83996b891df4e0aaff9a Author: Ingo Molnar Date: Wed Dec 17 09:09:13 2008 +0100 x86, perfcounters: prepare for fixed-mode PMCs Impact: refactor the x86 code for fixed-mode PMCs Extend the data structures and rename the existing facilities to allow for a 'generic' versus 'fixed' counter distinction. Signed-off-by: Ingo Molnar commit 5c167b8585c8d91206b395d57011ead7711e322f Author: Ingo Molnar Date: Wed Dec 17 09:02:19 2008 +0100 x86, perfcounters: rename intel_arch_perfmon.h => perf_counter.h Impact: rename include file We'll be providing an asm/perf_counter.h to the generic perfcounter code, so use the already existing x86 file for this purpose and rename it. Signed-off-by: Ingo Molnar commit 7995888fcb0246543ee8027bf2835a250ba8c925 Author: Ingo Molnar Date: Wed Dec 17 08:54:56 2008 +0100 perfcounters: tweak group scheduling Impact: schedule in groups atomically If there are multiple groups in a task, make sure they are scheduled in and out atomically. Signed-off-by: Ingo Molnar commit 8fb9331391af95ca1f4e5c0a0da8120b13cbae01 Author: Ingo Molnar Date: Tue Dec 23 12:04:16 2008 +0100 perfcounters: remove warnings Impact: remove debug checks Signed-off-by: Ingo Molnar commit 94c46572a6d9bb497eda0a14099d9f1360d57d5d Author: Jaswinder Singh Date: Fri Dec 19 22:37:58 2008 +0530 x86: perf_counter.c intel_perfmon_event_map and max_intel_perfmon_events should be static Impact: cleanup, avoid sparse warnings, reduce kernel size a bit Fixes these sparse warnings: arch/x86/kernel/cpu/perf_counter.c:44:11: warning: symbol 'intel_perfmon_event_map' was not declared. Should it be static? arch/x86/kernel/cpu/perf_counter.c:54:11: warning: symbol 'max_intel_perfmon_events' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit a86ed50859d65a08beec9474df97b88438a996df Author: Ingo Molnar Date: Wed Dec 17 00:43:10 2008 +0100 perfcounters: use hw_event.disable flag Impact: implement default-off counters Make sure that counters that are created with counter.hw_event.disabled=1, get created in disabled state. They can be enabled via: prctl(PR_TASK_PERF_COUNTERS_ENABLE); Signed-off-by: Ingo Molnar commit f65cb45cba63f249458b669aa67069eabc37b2f5 Author: Ingo Molnar Date: Tue Dec 16 13:40:44 2008 +0100 perfcounters: flush on setuid exec Pavel Machek pointed out that performance counters should be flushed when crossing protection domains on setuid execution. Reported-by: Pavel Machek Acked-by: Pavel Machek Signed-off-by: Ingo Molnar commit 0cc0c027d4e028632933f1be2dc4cd730358183b Author: Ingo Molnar Date: Sun Dec 14 23:20:36 2008 +0100 perfcounters: release CPU context when exiting task counters If counters are exiting via do_exit() not via filp close, then the CPU context needs to be released - otherwise future percpu counter creations might fail. Signed-off-by: Ingo Molnar commit 029af8c753bb5a7432aa1ed38bf61fe2c2f66d17 Merge: 75f224c 5279585 Author: Ingo Molnar Date: Sun Dec 14 21:58:33 2008 +0100 Merge branch 'linus' into perfcounters/core commit 75f224cf7700ed6006574dc3f2efa29860727570 Author: Ingo Molnar Date: Sun Dec 14 21:58:46 2008 +0100 perfcounters: fix lapic initialization Fix non-working NMI sampling in certain bootup scenarios. Signed-off-by: Ingo Molnar commit 088e2852c858159d47f71ee8da38e0fb1b21f806 Author: Ingo Molnar Date: Sun Dec 14 20:21:00 2008 +0100 perfcounters, x86: fix sw counters on non-PMC CPUs Make perf_max_counters default to at least 1 - this allows the sw counters to be used. Signed-off-by: Ingo Molnar commit 2b9ff0db19b5e2c77000b7201525f9c3d6e8328d Author: Ingo Molnar Date: Sun Dec 14 18:36:30 2008 +0100 perfcounters: fix non-intel-perfmon CPUs Do not write MSR_CORE_PERF_GLOBAL_CTRL on CPUs where it does not exist. Signed-off-by: Ingo Molnar commit e06c61a879910869aa5bf3f8f634abfee1a7bebc Author: Ingo Molnar Date: Sun Dec 14 14:44:31 2008 +0100 perfcounters: add nr-of-faults counter Impact: add new feature, new sw counter Add a counter that counts the number of pagefaults a task is experiencing. Signed-off-by: Ingo Molnar commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 Author: Ingo Molnar Date: Sun Dec 14 12:34:15 2008 +0100 perfcounters: add task migrations counter Impact: add new feature, new sw counter Add a counter that counts the number of cross-CPU migrations a task is suffering. Signed-off-by: Ingo Molnar commit 5d6a27d8a096868ae313f71f563b06074a7e34fe Author: Ingo Molnar Date: Sun Dec 14 12:28:33 2008 +0100 perfcounters: add context switch counter Impact: add new feature, new sw counter Add a counter that counts the number of context-switches a task is doing. Signed-off-by: Ingo Molnar commit 8cb391e8786c8072367f0aeb90551903fef074ba Author: Ingo Molnar Date: Sun Dec 14 12:22:31 2008 +0100 perfcounters: fix task clock counter Impact: bugfix Update the task clock counter to the new math. Signed-off-by: Ingo Molnar commit 9b51f66dcb09ac5eb6bc68fc111d5c7a1e0131d6 Author: Ingo Molnar Date: Fri Dec 12 13:49:45 2008 +0100 perfcounters: implement "counter inheritance" Impact: implement new performance feature Counter inheritance can be used to run performance counters in a workload, transparently - and pipe back the counter results to the parent counter. Inheritance for performance counters works the following way: when creating a counter it can be marked with the .inherit=1 flag. Such counters are then 'inherited' by all child tasks (be they fork()-ed or clone()-ed). These counters get inherited through exec() boundaries as well (except through setuid boundaries). The counter values get added back to the parent counter(s) when the child task(s) exit - much like stime/utime statistics are gathered. So inherited counters are ideal to gather summary statistics about an application's behavior via shell commands, without having to modify that application. The timec.c command utilizes counter inheritance: http://redhat.com/~mingo/perfcounters/timec.c Sample output: $ ./timec -e 1 -e 3 -e 5 ls -lR /usr/include/ >/dev/null Performance counter stats for 'ls': 163516953 instructions 2295 cache-misses 2855182 branch-misses Signed-off-by: Ingo Molnar commit ee06094f8279e1312fc0a31591320cc7b6f0ab1e Author: Ingo Molnar Date: Sat Dec 13 09:00:03 2008 +0100 perfcounters: restructure x86 counter math Impact: restructure code Change counter math from absolute values to clear delta logic. We try to extract elapsed deltas from the raw hw counter - and put that into the generic counter. Signed-off-by: Ingo Molnar commit 9b194e831fb2c322ed81a373e49620f34edc2778 Author: Ingo Molnar Date: Sun Dec 14 20:22:35 2008 +0100 x86: implement atomic64_t on 32-bit Impact: new API Implement the atomic64_t APIs on 32-bit as well. Will be used by the performance counters code. Signed-off-by: Ingo Molnar commit 92bf73e90a35d40ebc1446488218f03833b36f86 Merge: 447557a 915b0d0 Author: Ingo Molnar Date: Fri Dec 12 12:00:02 2008 +0100 Merge branch 'x86/irq' into perfcounters/core ( with manual semantic merge of arch/x86/kernel/cpu/perf_counter.c ) commit 447557ac7ce120306b4a31d6003faef39cb1bf14 Author: Ingo Molnar Date: Thu Dec 11 20:40:18 2008 +0100 perf counters: update docs Impact: update docs Signed-off-by: Ingo Molnar commit 6a930700c8b655a9e25e42fc4adc0b225ebbcefc Author: Ingo Molnar Date: Thu Dec 11 15:17:03 2008 +0100 perf counters: clean up state transitions Impact: cleanup Introduce a proper enum for the 3 states of a counter: PERF_COUNTER_STATE_OFF = -1 PERF_COUNTER_STATE_INACTIVE = 0 PERF_COUNTER_STATE_ACTIVE = 1 and rename counter->active to counter->state and propagate the changes everywhere. Signed-off-by: Ingo Molnar commit 1d1c7ddbfab358445a542715551301b7fc363e28 Author: Ingo Molnar Date: Thu Dec 11 14:59:31 2008 +0100 perf counters: add prctl interface to disable/enable counters Add a way for self-monitoring tasks to disable/enable counters summarily, via a prctl: PR_TASK_PERF_COUNTERS_DISABLE 31 PR_TASK_PERF_COUNTERS_ENABLE 32 Signed-off-by: Ingo Molnar commit bae43c9945ebeef15e7952e317efb02393d3bfc7 Author: Ingo Molnar Date: Thu Dec 11 14:03:20 2008 +0100 perf counters: implement PERF_COUNT_TASK_CLOCK Impact: add new perf-counter type The 'task clock' counter counts the amount of time a task is executing, in nanoseconds. It stops ticking when a task is scheduled out either due to it blocking, sleeping or it being preempted. This counter type is a Linux kernel based abstraction, it is available even if the hardware does not support native hardware performance counters. Signed-off-by: Ingo Molnar commit 01b2838c4298c5e0d30b4993c195ac34dd9df61e Author: Ingo Molnar Date: Thu Dec 11 13:45:51 2008 +0100 perf counters: consolidate hw_perf save/restore APIs Impact: cleanup Rename them to better match up the usual IRQ disable/enable APIs: hw_perf_disable_all() => hw_perf_save_disable() hw_perf_restore_ctrl() => hw_perf_restore() Signed-off-by: Ingo Molnar commit 5c92d12411dfe5f0f3d1b1c1e2f756245e6f7249 Author: Ingo Molnar Date: Thu Dec 11 13:21:10 2008 +0100 perf counters: implement PERF_COUNT_CPU_CLOCK Impact: add new perf-counter type The 'CPU clock' counter counts the amount of CPU clock time that is elapsing, in nanoseconds. (regardless of how much of it the task is spending on a CPU executing) This counter type is a Linux kernel based abstraction, it is available even if the hardware does not support native hardware performance counters. Signed-off-by: Ingo Molnar commit 621a01eac89b5e2f81a4cf576568b31f40a02724 Author: Ingo Molnar Date: Thu Dec 11 12:46:46 2008 +0100 perf counters: hw driver API Impact: restructure code, introduce hw_ops driver abstraction Introduce this abstraction to handle counter details: struct hw_perf_counter_ops { void (*hw_perf_counter_enable) (struct perf_counter *counter); void (*hw_perf_counter_disable) (struct perf_counter *counter); void (*hw_perf_counter_read) (struct perf_counter *counter); }; This will be useful to support assymetric hw details, and it will also be useful to implement "software counters". (Counters that count kernel managed sw events such as pagefaults, context-switches, wall-clock time or task-local time.) Signed-off-by: Ingo Molnar commit ccff286d85098ba5438e22aa2ea807fc1e18cf2f Author: Ingo Molnar Date: Thu Dec 11 11:26:29 2008 +0100 perf counters: group counter, fixes Impact: bugfix Check that a group does not span outside the context of a CPU or a task. Also, do not allow deep recursive hierarchies. Signed-off-by: Ingo Molnar commit 04289bb9891882202d7e961c4c04d2376930e9f9 Author: Ingo Molnar Date: Thu Dec 11 08:38:42 2008 +0100 perf counters: add support for group counters Impact: add group counters This patch adds the "counter groups" abstraction. Groups of counters behave much like normal 'single' counters, with a few semantic and behavioral extensions on top of that. A counter group is created by creating a new counter with the open() syscall's group-leader group_fd file descriptor parameter pointing to another, already existing counter. Groups of counters are scheduled in and out in one atomic group, and they are also roundrobin-scheduled atomically. Counters that are member of a group can also record events with an (atomic) extended timestamp that extends to all members of the group, if the record type is set to PERF_RECORD_GROUP. Signed-off-by: Ingo Molnar commit 9f66a3810fe0d4100972db84290f3ae4a4d77025 Author: Ingo Molnar Date: Wed Dec 10 12:33:23 2008 +0100 perf counters: restructure the API Impact: clean up new API Thorough cleanup of the new perf counters API, we now get clean separation of the various concepts: - introduce perf_counter_hw_event to separate out the event source details - move special type flags into separate attributes: PERF_COUNT_NMI, PERF_COUNT_RAW - extend the type to u64 and reserve it fully to the architecture in the raw type case. And make use of all these changes in the core and x86 perfcounters code. Also change the syscall signature to: asmlinkage int sys_perf_counter_open( struct perf_counter_hw_event *hw_event_uptr __user, pid_t pid, int cpu, int group_fd); ( Note that group_fd is unused for now - it's reserved for the counter groups abstraction. ) Signed-off-by: Ingo Molnar commit dfa7c899b401d7dc5d85aca416aee64ac82812f2 Author: Thomas Gleixner Date: Mon Dec 8 19:35:37 2008 +0100 perf counters: expand use of counter->event Impact: change syscall, cleanup Make use of the new perf_counters event type. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eab656ae04b9d3b83265e3db01c0d2c46b748ef7 Author: Thomas Gleixner Date: Mon Dec 8 19:26:59 2008 +0100 perf counters: clean up 'raw' type API Impact: cleanup Introduce a separate hw_event type. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ac13294e44664bb7edf4daf52edb71e7c6bbe84 Author: Thomas Gleixner Date: Tue Dec 9 21:43:39 2008 +0100 perf counters: protect them against CSTATE transitions Impact: fix rare lost events problem There are CPUs whose performance counters misbehave on CSTATE transitions, so provide a way to just disable/enable them around deep idle methods. (hw_perf_enable_all() is cheap on x86.) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 43874d238d5f208854a73c3225ca2a22833eec8b Author: Ingo Molnar Date: Tue Dec 9 12:23:59 2008 +0100 perfcounters: consolidate global-disable codepaths Impact: cleanup Simplify global disable handling. Signed-off-by: Ingo Molnar commit 1e12567678054bc1d4c944ecfad17624b3e49345 Author: Ingo Molnar Date: Tue Dec 9 12:18:18 2008 +0100 perfcounters, x86: clean up debug code Impact: cleanup Get rid of unused debug code. Signed-off-by: Ingo Molnar commit 7e2ae34749edf19e76e594b9c4b2cdde1066afc5 Author: Ingo Molnar Date: Tue Dec 9 11:40:46 2008 +0100 perfcounters, x86: simplify disable/enable of counters Impact: fix spurious missed counter wakeups In the case of NMI events, close a race window that can occur if an NMI hits counter code that temporarily disables+enables a counter, and the NMI leaks into the disabled section. Signed-off-by: Ingo Molnar commit 4c59e4676dc95f6f58a2cff5390b2699fa5b5549 Author: Ingo Molnar Date: Mon Dec 8 19:38:33 2008 +0100 perfcounters: select ANON_INODES The perfcounters subsystem depends on CONFIG_ANON_INODES facilities, so make sure it's selected. Signed-off-by: Ingo Molnar commit 87b9cf4623ad4e5fc009e48c020593dffd5d3793 Author: Ingo Molnar Date: Mon Dec 8 14:20:16 2008 +0100 x86, perfcounters: read out MSR_CORE_PERF_GLOBAL_STATUS with counters disabled Impact: make perfcounter NMI and IRQ sequence more robust Make __smp_perf_counter_interrupt() a bit more conservative: first disable all counters, then read out the status. Most invocations are because there are real events, so there's no performance impact. Code flow gets a bit simpler as well this way. Signed-off-by: Ingo Molnar commit 241771ef016b5c0c83cd7a4372a74321c973c1e6 Author: Ingo Molnar Date: Wed Dec 3 10:39:53 2008 +0100 performance counters: x86 support Implement performance counters for x86 Intel CPUs. It's simplified right now: the PERFMON CPU feature is assumed, which is available in Core2 and later Intel CPUs. The design is flexible to be extended to more CPU types as well. Signed-off-by: Ingo Molnar commit e7bc62b6b3aeaa8849f8383e0cfb7ca6c003adc6 Author: Ingo Molnar Date: Thu Dec 4 20:13:45 2008 +0100 performance counters: documentation Add more documentation about performance counters. Signed-off-by: Ingo Molnar commit 0793a61d4df8daeac6492dbf8d2f3e5713caae5e Author: Thomas Gleixner Date: Thu Dec 4 20:12:29 2008 +0100 performance counters: core code Implement the core kernel bits of Performance Counters subsystem. The Linux Performance Counter subsystem provides an abstraction of performance counter hardware capabilities. It provides per task and per CPU counters, and it provides event capabilities on top of those. Performance counters are accessed via special file descriptors. There's one file descriptor per virtual counter used. The special file descriptor is opened via the perf_counter_open() system call: int perf_counter_open(u32 hw_event_type, u32 hw_event_period, u32 record_type, pid_t pid, int cpu); The syscall returns the new fd. The fd can be used via the normal VFS system calls: read() can be used to read the counter, fcntl() can be used to set the blocking mode, etc. Multiple counters can be kept open at a time, and the counters can be poll()ed. See more details in Documentation/perf-counters.txt. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b5aa97e83bcc31a96374d18f5452d53909a16c90 Merge: 218d11a 4217458 5b3eec0 Author: Ingo Molnar Date: Mon Dec 8 15:46:30 2008 +0100 Merge branches 'x86/signal' and 'x86/irq' into perfcounters/core Merge these pending x86 tree changes into the perfcounters tree to avoid conflicts.