linux-2.6
15 years ago/proc/pid/maps: don't show pgoff of pure ANON VMAs
KAMEZAWA Hiroyuki [Tue, 7 Apr 2009 02:00:30 +0000 (19:00 -0700)] 
/proc/pid/maps: don't show pgoff of pure ANON VMAs

Recently, it's argued that what proc/pid/maps shows is ugly when a 32bit
binary runs on 64bit host.

/proc/pid/maps outputs vma's pgoff member but vma->pgoff is of no use
information is the vma is for ANON.  With this patch, /proc/pid/maps shows
just 0 if no file backing store.

[akpm@linux-foundation.org: coding-style fixes]
[kamezawa.hiroyu@jp.fujitsu.com: coding-style fixes]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Mike Waychison <mikew@google.com>
Reported-by: Ying Han <yinghan@google.com>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm: add /proc controls for pdflush threads
Peter W Morreale [Tue, 7 Apr 2009 02:00:29 +0000 (19:00 -0700)] 
mm: add /proc controls for pdflush threads

Add /proc entries to give the admin the ability to control the minimum and
maximum number of pdflush threads.  This allows finer control of pdflush
on both large and small machines.

The rationale is simply one size does not fit all.  Admins on large and/or
small systems may want to tune the min/max pdflush thread count to best
suit their needs.  Right now the min/max is hardcoded to 2/8.  While
probably a fair estimate for smaller machines, large machines with large
numbers of CPUs and large numbers of filesystems/block devices may benefit
from larger numbers of threads working on different block devices.

Even if the background flushing algorithm is radically changed, it is
still likely that multiple threads will be involved and admins would still
desire finer control on the min/max other than to have to recompile the
kernel.

The patch adds '/proc/sys/vm/nr_pdflush_threads_min' and
'/proc/sys/vm/nr_pdflush_threads_max' with r/w permissions.

The minimum value for nr_pdflush_threads_min is 1 and the maximum value is
the current value of nr_pdflush_threads_max.  This minimum is required
since additional thread creation is performed in a pdflush thread itself.

The minimum value for nr_pdflush_threads_max is the current value of
nr_pdflush_threads_min and the maximum value can be 1000.

Documentation/sysctl/vm.txt is also updated.

[akpm@linux-foundation.org: fix comment, fix whitespace, use __read_mostly]
Signed-off-by: Peter W Morreale <pmorreale@novell.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm: fix pdflush thread creation upper bound
Peter W Morreale [Tue, 7 Apr 2009 02:00:28 +0000 (19:00 -0700)] 
mm: fix pdflush thread creation upper bound

Fix a race on creating pdflush threads.  Without the patch, it is possible
to create more than MAX_PDFLUSH_THREADS threads, and this has been
observed in practice on IO loaded SMP machines.

The fix involves moving the lock around to protect the check against the
thread count and correctly dealing with thread creation failure.

This fix also _mostly_ repairs a race condition on how quickly the threads
are created.  The original intent was to create a pdflush thread (up to
the max allowed) every second.  Without this patch is is possible to
create NCPUS pdflush threads concurrently.  The 'mostly' caveat is because
an assumption is made that thread creation will be successful.  If we fail
to create the thread, the miss is not considered fatal.  (we will try
again in 1 second)

Signed-off-by: Peter W Morreale <pmorreale@novell.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoesp: fix section mismatch warning
Randy Dunlap [Tue, 7 Apr 2009 02:00:26 +0000 (19:00 -0700)] 
esp: fix section mismatch warning

Not critical.

  WARNING: drivers/char/esp.o(.text+0x278): Section mismatch in reference from the function show_serial_version() to the variable .init.data:serial_version
  The function show_serial_version() references
  the variable __initdata serial_version.
  This is often because show_serial_version lacks a __initdata
  annotation or the annotation of serial_version is wrong.

  WARNING: drivers/char/esp.o(.text+0x27d): Section mismatch in reference from the function show_serial_version() to the variable .init.data:serial_name
  The function show_serial_version() references
  the variable __initdata serial_name.
  This is often because show_serial_version lacks a __initdata
  annotation or the annotation of serial_name is wrong.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Andrew J. Robinson <arobinso@nyx.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agobranch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER=y
Linus Torvalds [Tue, 7 Apr 2009 14:59:41 +0000 (07:59 -0700)] 
branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER=y

Fix the branch tracer barfing on comma statements within if ()
statements.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agobranch tracer: Fix for enabling branch profiling makes sparse unusable
Bart Van Assche [Sun, 5 Apr 2009 14:20:02 +0000 (16:20 +0200)] 
branch tracer: Fix for enabling branch profiling makes sparse unusable

One of the changes between kernels 2.6.28 and 2.6.29 is that a branch profiler
has been added for if() statements. Unfortunately this patch makes the sparse
output unusable with CONFIG_TRACE_BRANCH_PROFILING=y: when branch profiling is
enabled, sparse prints so much false positives that the real issues are no
longer visible. This behavior can be reproduced as follows:
* enable CONFIG_TRACE_BRANCH_PROFILING, e.g. by running make allyesconfig or
  make allmodconfig.
* run make C=2

Result: a huge number of the following sparse warnings.
...
include/linux/cpumask.h:547:2: warning: symbol '______r' shadows an earlier one
include/linux/cpumask.h:547:2: originally declared here
...

The patch below fixes this by disabling branch profiling while analyzing the
kernel code with sparse.

See also:
* http://lkml.org/lkml/2008/11/21/18
* http://bugzilla.kernel.org/show_bug.cgi?id=12925

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <srostedt@redhat.com>
LKML-Reference: <200904051620.02311.bart.vanassche@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoPCI: Fix oops in pci_vpd_truncate
Anton Vorontsov [Tue, 31 Mar 2009 22:23:41 +0000 (02:23 +0400)] 
PCI: Fix oops in pci_vpd_truncate

pci_vpd_truncate() should check for dev->vpd->attr, otherwise this might
happen:

  sky2 driver version 1.22
  Unable to handle kernel paging request for data at address 0x0000000c
  Faulting instruction address: 0xc01836fc
  Oops: Kernel access of bad area, sig: 11 [#1]
  [...]
  NIP [c01836fc] pci_vpd_truncate+0x38/0x40
  LR [c029be18] sky2_probe+0x14c/0x518
  Call Trace:
  [ef82bde0] [c029bda4] sky2_probe+0xd8/0x518 (unreliable)
  [ef82be20] [c018a11c] local_pci_probe+0x24/0x34
  [ef82be30] [c018a14c] pci_call_probe+0x20/0x30
  [ef82be50] [c018a330] __pci_device_probe+0x64/0x78
  [ef82be60] [c018a44c] pci_device_probe+0x30/0x58
  [ef82be80] [c01aa270] really_probe+0x78/0x1a0
  [ef82bea0] [c01aa460] __driver_attach+0xa4/0xa8
  [ef82bec0] [c01a96ac] bus_for_each_dev+0x60/0x9c
  [ef82bef0] [c01aa0b4] driver_attach+0x24/0x34
  [ef82bf00] [c01a9e08] bus_add_driver+0x12c/0x1cc
  [ef82bf20] [c01aa87c] driver_register+0x6c/0x110
  [ef82bf30] [c018a770] __pci_register_driver+0x4c/0x9c
  [ef82bf50] [c03782c8] sky2_init_module+0x30/0x40
  [ef82bf60] [c0001dbc] do_one_initcall+0x34/0x1a0
  [ef82bfd0] [c0362240] do_initcalls+0x38/0x58

This happens with CONFIG_SKY2=y, and "ip=on" kernel command line, so
pci_vpd_truncate() is called before late_initcall(pci_sysfs_init),
therefore ->attr isn't yet initialized.

Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 7 Apr 2009 15:02:02 +0000 (08:02 -0700)] 
Merge branch 'for-linus' of git://git./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:
  tomoyo: remove "undelete domain" command.

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param
Linus Torvalds [Tue, 7 Apr 2009 14:42:25 +0000 (07:42 -0700)] 
Merge git://git./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:
  Revert "module: remove the SHF_ALLOC flag on the __versions section."

15 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 7 Apr 2009 14:40:55 +0000 (07:40 -0700)] 
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (28 commits)
  powerpc: Fix oops when loading modules
  powerpc: Wire up preadv and pwritev
  powerpc/ftrace: Fix printf format warning
  powerpc/ftrace: Fix #if that should be #ifdef
  powerpc: Fix ptrace compat wrapper for FPU register access
  powerpc: Print information about mapping hw irqs to virtual irqs
  powerpc: Correct dependency of KEXEC
  powerpc: Disable VSX or current process in giveup_fpu/altivec
  powerpc/pseries: Enable relay in pseries_defconfig
  powerpc/pseries: Fix ibm,client-architecture comment
  powerpc/pseries: Scan for all events in rtasd
  powerpc/pseries: Add dispatch dispersion statistics
  powerpc: Clean up some prom printouts
  powerpc: Print progress of ibm,client-architecture method
  powerpc: Remove duplicated #include's
  powerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook
  powerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf
  fsl-diu-fb: Pass the proper device for dma mapping routines
  powerpc/pq2fads: Update device tree for use with device-tree-aware u-boot.
  cpm_uart: Disable CPM udbg when re-initing CPM uart, even if not the console.
  ...

15 years agoramfs: fix double freeing s_fs_info on failed mount
Ingo Molnar [Tue, 7 Apr 2009 06:16:50 +0000 (14:16 +0800)] 
ramfs: fix double freeing s_fs_info on failed mount

If ramfs mount fails, s_fs_info will be freed twice in ramfs_fill_super()
and ramfs_kill_sb(), leading to kernel oops.

Consolidate and beautify the code.
Make sure s_fs_info and s_root are in known good states.

Acked-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agohwmon: Add Asus ATK0110 support
Luca Tettamanti [Tue, 7 Apr 2009 13:32:59 +0000 (15:32 +0200)] 
hwmon: Add Asus ATK0110 support

Asus boards have an ACPI interface for interacting with the hwmon (fan,
temperatures, voltages) subsystem; this driver exposes the relevant
information via the standard sysfs interface.

There are two different ACPI interfaces:
- an old one (based on RVLT/RFAN/RTMP)
- a new one (GGRP/GITM)
Both may be present but there a few cases (my board, sigh) where the
new interface is just an empty stub; the driver defaults to the old one
when both are present.
The old interface has received a considerable testing, but I'm still
awaiting confirmation from my tester that the new one is working as
expected (hence the debug code is still enabled).

Currently all the attributes are read-only, though a (partial) control
should be possible with a bit more work.

Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
15 years agohwmon: (lm95241) Convert to new-style i2c driver
Jean Delvare [Tue, 7 Apr 2009 13:32:59 +0000 (15:32 +0200)] 
hwmon: (lm95241) Convert to new-style i2c driver

The legacy i2c binding model is going away really soon now, so convert
the lm95241 driver to the new binding model or it will break.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Davide Rizzo <elpa.rizzo@gmail.com>
15 years agoftrace: Correct a text align for event format output
Zhaolei [Fri, 3 Apr 2009 10:24:46 +0000 (18:24 +0800)] 
ftrace: Correct a text align for event format output

If we cat debugfs/tracing/events/ftrace/bprint/format, we'll see:
name: bprint
ID: 6
format:
field:unsigned char common_type; offset:0; size:1;
field:unsigned char common_flags; offset:1; size:1;
field:unsigned char common_preempt_count; offset:2; size:1;
field:int common_pid; offset:4; size:4;
field:int common_tgid; offset:8; size:4;

field:unsigned long ip; offset:12; size:4;
field:char * fmt; offset:16; size:4;
field: char buf; offset:20; size:0;

print fmt: "%08lx (%d) fmt:%p %s"

There is an inconsistent blank before char buf.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
LKML-Reference: <49D5E3EE.70201@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoUpdate /debug/tracing/README
Nikanth Karthikesan [Mon, 23 Mar 2009 06:28:31 +0000 (11:58 +0530)] 
Update /debug/tracing/README

Some of the tracers have been renamed, which was not updated in the in-kernel
run-time README file. Update it.

Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
LKML-Reference: <200903231158.32151.knikanth@suse.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agotracing/ftrace: alloc the started cpumask for the trace file
Frederic Weisbecker [Wed, 1 Apr 2009 20:53:08 +0000 (22:53 +0200)] 
tracing/ftrace: alloc the started cpumask for the trace file

Impact: fix a crash while cat trace file

Currently we are using a cpumask to remind each cpu where a
trace occured. It lets us notice the user that a cpu just had
its first trace.

But on latest -tip we have the following crash once we cat the trace
file:

IP: [<c0270c4a>] print_trace_fmt+0x45/0xe7
*pde = 00000000
Oops: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/class/net/eth0/carrier
Pid: 3897, comm: cat Not tainted (2.6.29-tip-02825-g0f22972-dirty #81)
EIP: 0060:[<c0270c4a>] EFLAGS: 00010297 CPU: 0
EIP is at print_trace_fmt+0x45/0xe7
EAX: 00000000 EBX: 00000000 ECX: c12d9e98 EDX: ccdb7010
ESI: d31f4000 EDI: 00322401 EBP: d31f3f10 ESP: d31f3efc
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process cat (pid: 3897, ti=d31f2000 task=d3b3cf20 task.ti=d31f2000)
Stack:
d31f4080 ccdb7010 d31f4000 d691fe70 ccdb7010 d31f3f24 c0270e5c d31f4000
d691fe70 d31f4000 d31f3f34 c02718e8 c12d9e98 d691fe70 d31f3f70 c02bfc33
00001000 09130000 d3b46e00 d691fe98 00000000 00000079 00000001 00000000
Call Trace:
[<c0270e5c>] ? print_trace_line+0x170/0x17c
[<c02718e8>] ? s_show+0xa7/0xbd
[<c02bfc33>] ? seq_read+0x24a/0x327
[<c02bf9e9>] ? seq_read+0x0/0x327
[<c02ab18b>] ? vfs_read+0x86/0xe1
[<c02ab289>] ? sys_read+0x40/0x65
[<c0202d8f>] ? sysenter_do_call+0x12/0x3c
Code: 00 00 00 89 45 ec f7 c7 00 20 00 00 89 55 f0 74 4e f6 86 98 10 00 00 02 74 45 8b 86 8c 10 00 00 8b 9e a8 10 00 00 e8 52 f3 ff ff <0f> a3 03 19 c0 85 c0 75 2b 8b 86 8c 10 00 00 8b 9e a8 10 00 00
EIP: [<c0270c4a>] print_trace_fmt+0x45/0xe7 SS:ESP 0068:d31f3efc
CR2: 0000000000000000
---[ end trace aa9cf38e5ebed9dd ]---

This is because we alloc the iter->started cpumask on tracing_pipe_open but
not on tracing_open.

It hadn't been noticed until now because we need to have ring buffer overruns
to activate the starting of cpu buffer detection.

Also, we need a check to not print the messagge for the first trace on the file.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1238619188-6109-1-git-send-email-fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agotracing, x86: remove duplicated #include
Huang Weiyi [Tue, 31 Mar 2009 12:41:31 +0000 (20:41 +0800)] 
tracing, x86: remove duplicated #include

Remove duplicated #include in arch/x86/kernel/ftrace.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
LKML-Reference: <1238503291-2532-1-git-send-email-weiyi.huang@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoftrace: Add check of sched_stopped for probe_sched_wakeup
Zhaolei [Tue, 31 Mar 2009 07:24:51 +0000 (15:24 +0800)] 
ftrace: Add check of sched_stopped for probe_sched_wakeup

The wakeup tracing in sched_switch does not stop when a user
disables tracing. This is because the probe_sched_wakeup() is missing
the check to prevent the wakeup from being traced.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
LKML-Reference: <49D1C543.3010307@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agofunction-graph: add proper initialization for init task
Steven Rostedt [Thu, 26 Mar 2009 00:55:00 +0000 (20:55 -0400)] 
function-graph: add proper initialization for init task

Impact: fix to crash going to kexec

The init task did not properly initialize the function graph pointers.
Altough these pointers are NULL, they can not be assumed to be NULL
for the init task, and must still be properly initialize.

This usually is not an issue since a problem only arises when a task
exits, and the init tasks do not usually exit. But when doing tests
with kexec, the init tasks do exit, and the bug appears.

This patch properly initializes the init tasks function graph data
structures.

Reported-and-Tested-by: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <alpine.DEB.2.00.0903252053080.5675@gandalf.stny.rr.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agotracing/ftrace: fix missing include string.h
Frederic Weisbecker [Fri, 27 Mar 2009 13:22:10 +0000 (14:22 +0100)] 
tracing/ftrace: fix missing include string.h

Building a kernel with tracing can raise the following warning on
tip/master:

kernel/trace/trace.c:1249: error: implicit declaration of function 'vbin_printf'

We are missing an include to string.h

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1238160130-7437-1-git-send-email-fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agotracing: fix incorrect return type of ns2usecs()
Lai Jiangshan [Mon, 30 Mar 2009 05:48:00 +0000 (13:48 +0800)] 
tracing: fix incorrect return type of ns2usecs()

Impact: fix time output bug in 32bits system

ns2usecs() returns 'long', it's incorrect.

(In i386)
...
          <idle>-0     [000]   521.442100: _spin_lock <-tick_do_update_jiffies64
          <idle>-0     [000]   521.442101: do_timer <-tick_do_update_jiffies64
          <idle>-0     [000]   521.442102: update_wall_time <-do_timer
          <idle>-0     [000]   521.442102: update_xtime_cache <-update_wall_time
....
(It always print the time less than 2200 seconds besides ...)
Because 'long' is 32bits in i386. ( (1<<31) useconds is about 2200 seconds)

...
          <idle>-0     [001] 4154502640.134759: rcu_bh_qsctr_inc <-__do_softirq
          <idle>-0     [001] 4154502640.134760: _local_bh_enable <-__do_softirq
          <idle>-0     [001] 4154502640.134761: idle_cpu <-irq_exit
...
(very large value)
Because 'long' is a signed type and it is 32bits in i386.

Changes in v2:
return 'unsigned long long' instead of 'cycle_t'

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
LKML-Reference: <49D05D10.4030009@cn.fujitsu.com>
Reported-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agotracing: remove CALLER_ADDR2 from wakeup tracer
Steven Rostedt [Fri, 3 Apr 2009 15:12:23 +0000 (11:12 -0400)] 
tracing: remove CALLER_ADDR2 from wakeup tracer

Maneesh Soni was getting a crash when running the wakeup tracer.
We debugged it down to the recording of the function with the
CALLER_ADDR2 macro.  This is used to get the location of the caller
to schedule.

But the problem comes when schedule is called by assmebly. In the case
that Maneesh had, retint_careful would call schedule. But retint_careful
does not set up a proper frame pointer. CALLER_ADDR2 is defined as
__builtin_return_address(2). This produces the following assembly in
the wakeup tracer code.

   mov    0x0(%rbp),%rcx  <--- get the frame pointer of the caller
   mov    %r14d,%r8d
   mov    0xf2de8e(%rip),%rdi

   mov    0x8(%rcx),%rsi  <-- this is __builtin_return_address(1)
   mov    0x28(%rdi,%rax,8),%rbx

   mov    (%rcx),%rax  <-- get the frame pointer of the caller's caller
   mov    %r12,%rcx
   mov    0x8(%rax),%rdx <-- this is __builtin_return_address(2)

At the reading of 0x8(%rax) Maneesh's machine would take a fault.
The reason is that retint_careful did not set up the return address
and the content of %rax here was zero.

To verify this, I sent Maneesh a patch to create a frame pointer
in retint_careful. He ran the test again but this time he would take
the same type of fault from sysret_careful. The retint_careful was no
longer an issue, but there are other callers that still have issues.

Instead of adding frame pointers for all callers to schedule (in possibly
all archs), it is much safer to simply not use CALLER_ADDR2. This
loses out on knowing what called schedule, but the function tracer
will help there if needed.

Reported-by: Maneesh Soni <maneesh@in.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoloop: mutex already unlocked in loop_clr_fd()
Alexander Beregalov [Tue, 7 Apr 2009 11:48:21 +0000 (13:48 +0200)] 
loop: mutex already unlocked in loop_clr_fd()

mount/1865 is trying to release lock (&lo->lo_ctl_mutex) at:
but there are no more locks to release!

mutex is already unlocked in loop_clr_fd(), we should not
try to unlock it in lo_release() again.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoMerge branch 'tracing/blktrace-fixes' into tracing/urgent
Ingo Molnar [Tue, 7 Apr 2009 11:40:49 +0000 (13:40 +0200)] 
Merge branch 'tracing/blktrace-fixes' into tracing/urgent

Merge reason: this used to be a tracing/blktrace-v2 devel topic still
              cooking during the merge window - has propagated to fixes

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoASoC: TWL4030: Compillation error fix
Peter Ujfalusi [Tue, 7 Apr 2009 06:14:00 +0000 (09:14 +0300)] 
ASoC: TWL4030: Compillation error fix

Fix for compillation error introduced by the constrain patch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agocfq-iosched: don't let idling interfere with plugging
Jens Axboe [Tue, 7 Apr 2009 09:38:31 +0000 (11:38 +0200)] 
cfq-iosched: don't let idling interfere with plugging

When CFQ is waiting for a new request from a process, currently it'll
immediately restart queuing when it sees such a request. This doesn't
work very well with streamed IO, since we then end up splitting IO
that would otherwise have been merged nicely. For a simple dd test,
this causes 10x as many requests to be issued as we should have.
Normally this goes unnoticed due to the low overhead of requests
at the device side, but some hardware is very sensitive to request
sizes and there it can cause big slow downs.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoi2c: imx: Make disable_delay a per-device variable
Wolfram Sang [Mon, 6 Apr 2009 14:27:45 +0000 (16:27 +0200)] 
i2c: imx: Make disable_delay a per-device variable

'disable_delay' was static which is wrong as it is calculated using the per-device
bus speed. This patch turns 'disable_delay' into a per-device variable.

Reported-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: xtensa s6000 i2c driver
Oskar Schirmer [Thu, 2 Apr 2009 11:19:07 +0000 (13:19 +0200)] 
i2c: xtensa s6000 i2c driver

Support for the s6000 on-chip i2c controller.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Daniel Glöckner <dg@emlix.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agopowerpc/85xx: i2c-mpc: use new I2C bindings for the Socates board
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:57 +0000 (10:20 +0200)] 
powerpc/85xx: i2c-mpc: use new I2C bindings for the Socates board

Preserve I2C clock settings for the Socrates MPC8544 board.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: make I2C bus speed configurable
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:55 +0000 (10:20 +0200)] 
i2c: i2c-mpc: make I2C bus speed configurable

This patch makes the I2C bus speed configurable by using the I2C node
property "clock-frequency". If the property is not defined, the old
fixed clock settings will be used for backward comptibility.

The generic I2C clock properties, especially the CPU-specific source
clock pre-scaler are defined via the OF match table:

  static const struct of_device_id mpc_i2c_of_match[] = {
...
{.compatible = "fsl,mpc8543-i2c",
 .data = &(struct fsl_i2c_match_data) {
.setclock = mpc_i2c_setclock_8xxx,
.prescaler = 2,
},
},

The "data" field defines the relevant I2C setclock function and the
relevant pre-scaler for the I2C source clock frequency.

It uses arch-specific tables and functions to determine resonable
Freqency Divider Register (fdr) values for MPC83xx, MPC85xx, MPC86xx,
MPC5200 and MPC5200B.

The i2c->flags field and the corresponding FSL_I2C_DEV_* definitions
have been removed as they are obsolete.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: use dev based printout function
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:54 +0000 (10:20 +0200)] 
i2c: i2c-mpc: use dev based printout function

This patch used the dev_dbg, dev_err, etc. functions for debug
and error output instead of printk and pr_debug.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: various coding style fixes
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:53 +0000 (10:20 +0200)] 
i2c: i2c-mpc: various coding style fixes

Fix errors reported by checkpatch (indention, long lines, trailing
white space, etc.).

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: imx: Add missing request_mem_region in probe()
Darius Augulis [Tue, 31 Mar 2009 11:52:54 +0000 (14:52 +0300)] 
i2c: imx: Add missing request_mem_region in probe()

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
[ben-linux@fluff.org: fix minor patch fault in remove]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-s3c2410: Initialise Samsung I2C controller early
Mark Brown [Thu, 26 Feb 2009 16:29:22 +0000 (16:29 +0000)] 
i2c: i2c-s3c2410: Initialise Samsung I2C controller early

This is required in order to ensure that core system devices such as
voltage regulators attached via I2C are avaiable early in boot.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c-s3c2410: Simplify bus frequency calculation
Daniel Silverstone [Fri, 13 Mar 2009 13:53:46 +0000 (13:53 +0000)] 
i2c-s3c2410: Simplify bus frequency calculation

The platform data for the i2c-s3c2410 driver used to allow a min,
max and desired frequency for the I2C bus. This patch reduces it
to simply a desired frequency ceiling and corrects all the uses
of the platform data appropriately.

This means, for example, that on a system with a 66MHz fclk, a
request for 100KHz will achieve 65KHz which is safe and
acceptable, rather than 378KHz which it would have achieved
without this change.

Signed-off-by: Simtec Linux Team <linux@simtec.co.uk>
Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk>
[ben-linux@fluff.org: tidy subject and description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c-s3c2410: sda_delay should be in ns, not clock ticks
Ben Dooks [Fri, 27 Mar 2009 10:52:13 +0000 (10:52 +0000)] 
i2c-s3c2410: sda_delay should be in ns, not clock ticks

The sda_delay field should be specified in ns, not in clock ticks
as when using cpufreq we could be changing the bus rate.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
15 years agoi2c: iMX/MXC support
Darius Augulis [Fri, 30 Jan 2009 08:32:28 +0000 (10:32 +0200)] 
i2c: iMX/MXC support

Implementation of I2C Adapter/Algorithm Driver for I2C Bus integrated
in Freescale's i.MX/MXC processors.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoMerge branch 'linus' into core/softlockup
Ingo Molnar [Tue, 7 Apr 2009 09:15:40 +0000 (11:15 +0200)] 
Merge branch 'linus' into core/softlockup

Conflicts:
kernel/sysctl.c

15 years agoRevert "module: remove the SHF_ALLOC flag on the __versions section."
Rusty Russell [Tue, 7 Apr 2009 07:42:43 +0000 (17:12 +0930)] 
Revert "module: remove the SHF_ALLOC flag on the __versions section."

This reverts commit 9cb610d8e35fe3ec95a2fe2030b02f85aeea83c1.

This was an impressively stupid patch.  Firstly, we reset the SHF_ALLOC
flag lower down in the same function, so the patch was useless.  Even
better, find_sec() ignores sections with SHF_ALLOC not set, so
it breaks CONFIG_MODVERSIONS=y with CONFIG_MODULE_FORCE_LOAD=n, which
refuses to load the module since it can't find the __versions section.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agoblock: remove unused REQ_UNPLUG
Jens Axboe [Tue, 7 Apr 2009 06:59:11 +0000 (08:59 +0200)] 
block: remove unused REQ_UNPLUG

The request inherits the unplug flag from the bio, but it isn't actually
used. The bio flag stops at __make_request(), which tells it to unplug
after submission. Passing it on to the request doesn't make any sense.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocfq-iosched: kill two unused cfqq flags
Jens Axboe [Tue, 7 Apr 2009 06:56:14 +0000 (08:56 +0200)] 
cfq-iosched: kill two unused cfqq flags

We only manipulate the must_dispatch and queue_new flags, they are not
tested anymore. So get rid of them.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agosoftlockup: make DETECT_HUNG_TASK default depend on DETECT_SOFTLOCKUP
Ingo Molnar [Tue, 7 Apr 2009 06:55:36 +0000 (08:55 +0200)] 
softlockup: make DETECT_HUNG_TASK default depend on DETECT_SOFTLOCKUP

Don't offer a default-y option when the user has turned off
CONFIG_DETECT_SOFTLOCKUP already.

Do offer it as 'y' only if DETECT_SOFTLOCKUP is on already.

This makes it match previous behavior - where the hung-task check was
embedded i CONFIG_DETECT_SOFTLOCKUP code.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agocfq-iosched: change dispatch logic to deal with single requests at the time
Jens Axboe [Tue, 7 Apr 2009 06:51:19 +0000 (08:51 +0200)] 
cfq-iosched: change dispatch logic to deal with single requests at the time

The IO scheduler core calls into the IO scheduler dispatch_request hook
to move requests from the IO scheduler and into the driver dispatch
list. It only does so when the dispatch list is empty. CFQ moves several
requests to the dispatch list, which can cause higher latencies if we
suddenly have to switch to some important sync IO. Change the logic to
move one request at the time instead.

This should almost be functionally equivalent to what we did before,
except that we now honor 'quantum' as the maximum queue depth at the
device side from any single cfqq. If there's just a single active
cfqq, we allow up to 4 times the normal quantum.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agomflash: initial support
unsik Kim [Thu, 2 Apr 2009 19:50:58 +0000 (12:50 -0700)] 
mflash: initial support

This driver supports mflash IO mode for linux.

Mflash is embedded flash drive and mainly targeted mobile and consumer
electronic devices.

Internally, mflash has nand flash and other hardware logics and supports 2
different operation (ATA, IO) modes.  ATA mode doesn't need any new driver
and currently works well under standard IDE subsystem.  Actually it's one
chip SSD.  IO mode is ATA-like custom mode for the host that doesn't have
IDE interface.

Followings are brief descriptions about IO mode.
A. IO mode based on ATA protocol and uses some custom command. (read confirm,
write confirm)
B. IO mode uses SRAM bus interface.
C. IO mode supports 4kB boot area, so host can boot from mflash.

This driver is quitely similar to a standard ATA driver, but because of
following reasons it is currently seperated with ATA layer.

1. ATA layer deals standard ATA protocol.  ATA layer have many low-
   level device specific interface, but data transfer keeps ATA rule.
   But, mflash IO mode doesn't.

2. Even though currently not used in mflash driver code, mflash has
   some custom command and modes.  (nand fusing, firmware patch, etc) If
   this feature supported in linux kernel, ATA layer more altered.

3. Currently PATA platform device driver doesn't support interrupt.
   (I'm not sure) But, mflash uses interrupt (polling mode is just for
   debug).

4. mflash is somewhat under-develop product.  Even though some company
   already using mflash their own product, I think more time is needed for
   standardization of custom command and mode.  That time (maybe October)
   I will talk to with ATA people.  If they accept integration, I will
   integrate.

Signed-off-by: unsik Kim <donari75@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocciss: change to discover first memory BAR
Mike Miller [Thu, 2 Apr 2009 19:50:56 +0000 (12:50 -0700)] 
cciss: change to discover first memory BAR

Add a method for discovering the first memory BAR.  All Smart Array
controllers to date have always had the the memory BAR as the first BAR.
A new controller to be released later this year breaks that model.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocciss: kernel scan thread for MSA2012
Mike Miller [Thu, 2 Apr 2009 19:50:55 +0000 (12:50 -0700)] 
cciss: kernel scan thread for MSA2012

The MSA2012 cannot inform the driver of configuration changes since all
management is out of band.  This is a departure from any storage we have
supported in the past.  We need some way to detect changes on the topology
so we implement this kernel thread.  In some instances there's nothing we
can do from the driver (like LUN failure) so just print out a message.  In
the case where logical volumes are added or deleted we call
rebuild_lun_table to refresh the driver's view of the world.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocciss: fix residual count for block pc requests
Jens Axboe [Fri, 27 Mar 2009 09:43:52 +0000 (10:43 +0100)] 
cciss: fix residual count for block pc requests

We must complete the full request, so store the request count and then set
the ->data_len to the residual count from the hardware.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoblock: fix inconsistency in I/O stat accounting code
Jerome Marchand [Fri, 27 Mar 2009 09:31:51 +0000 (10:31 +0100)] 
block: fix inconsistency in I/O stat accounting code

This forces in_flight to be zero when turning off or on the I/O stat
accounting and stops updating I/O stats in attempt_merge() when
accounting is turned off.

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoblock: elevator quiescing helpers
Jens Axboe [Fri, 27 Mar 2009 09:30:47 +0000 (10:30 +0100)] 
block: elevator quiescing helpers

Simple helper functions to quiesce the request queue. These are
currently only used for switching IO schedulers on-the-fly, but
we can use them to properly switch IO accounting on and off as well.

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agotomoyo: remove "undelete domain" command.
Tetsuo Handa [Mon, 6 Apr 2009 11:49:14 +0000 (20:49 +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 <takedakn@nttdata.co.jp>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Toshiharu Harada <haradats@nttdata.co.jp>
Signed-off-by: James Morris <jmorris@namei.org>
15 years agopowerpc: Fix oops when loading modules
Paul Mackerras [Mon, 6 Apr 2009 17:21:10 +0000 (17:21 +0000)] 
powerpc: Fix oops when loading modules

This fixes a problem reported by Sean MacLennan where loading any
module would cause an oops.  We weren't marking the pages containing
the module text as having hardware execute permission, due to a bug
introduced in commit 8d1cf34e ("powerpc/mm: Tweak PTE bit combination
definitions"), hence trying to execute the module text caused an
exception on processors that support hardware execute permission.

This adds _PAGE_HWEXEC to the definitions of PAGE_KERNEL_X and
PAGE_KERNEL_ROX to fix this problem.

Reported-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Wire up preadv and pwritev
Stephen Rothwell [Mon, 6 Apr 2009 17:19:50 +0000 (17:19 +0000)] 
powerpc: Wire up preadv and pwritev

[paulus@samba.org: changed to use syscall numbers 320 and 321 since
 perf_counters is currently using 319.]

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/ftrace: Fix printf format warning
Michael Ellerman [Mon, 6 Apr 2009 04:40:46 +0000 (04:40 +0000)] 
powerpc/ftrace: Fix printf format warning

'tramp' is an unsigned long, so print it with %lx.

Fixes the following build warning:
arch/powerpc/kernel/ftrace.c:291: error: format â€˜%x’ expects type â€˜unsigned int’, but argument 2 has type â€˜long unsigned int’

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/ftrace: Fix #if that should be #ifdef
Michael Ellerman [Mon, 6 Apr 2009 04:40:45 +0000 (04:40 +0000)] 
powerpc/ftrace: Fix #if that should be #ifdef

Commit bb7253403f7a4670a128e4c080fd8ea1bd4d5029 ("powerpc64,
ftrace: save toc only on modules for function graph"), added an
#if CONFIG_PPC64.  This changes it to #ifdef.

Fixes the following warning on 32-bit builds:
 arch/powerpc/kernel/ftrace.c:562:5: error: "CONFIG_PPC64" is not defined

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Fix ptrace compat wrapper for FPU register access
Michael Neuling [Sun, 5 Apr 2009 20:59:39 +0000 (20:59 +0000)] 
powerpc: Fix ptrace compat wrapper for FPU register access

The ptrace compat wrapper mishandles access to the fpu registers.  The
PTRACE_PEEKUSR and PTRACE_POKEUSR requests miscalculate the index into
the fpr array due to the broken FPINDEX macro.  The
PPC_PTRACE_PEEKUSR_3264 request needs to use the same formula that the
native ptrace interface uses when operating on the register number (as
opposed to the 4-byte offset).  The PPC_PTRACE_POKEUSR_3264 request
didn't take TS_FPRWIDTH into account.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Print information about mapping hw irqs to virtual irqs
Michael Ellerman [Sun, 5 Apr 2009 16:05:02 +0000 (16:05 +0000)] 
powerpc: Print information about mapping hw irqs to virtual irqs

The irq remapping layer seems to cause some confusion when people
see a different irq number in /proc/interrupts vs the one they
request in their driver or DTS.

So have the irq remapping layer print out a message when we map an
irq. The message is only printed the first time the irq is mapped,
and it's KERN_DEBUG so most people won't see it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Correct dependency of KEXEC
Geert Uytterhoeven [Thu, 2 Apr 2009 06:25:41 +0000 (06:25 +0000)] 
powerpc: Correct dependency of KEXEC

commit 28794d34ecb6815a3fa0a4256027c9b081a17c5f ("powerpc/kconfig: Kill
PPC_MULTIPLATFORM") broke KEXEC, by making it dependent on BOOK3S, while it
should be PPC_BOOK3S.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Disable VSX or current process in giveup_fpu/altivec
Michael Neuling [Wed, 1 Apr 2009 18:02:42 +0000 (18:02 +0000)] 
powerpc: Disable VSX or current process in giveup_fpu/altivec

When we call giveup_fpu, we need to need to turn off VSX for the
current process.  If we don't, on return to userspace it may execute a
VSX instruction before the next FP instruction, and not have its
register state refreshed correctly from the thread_struct.  Ditto for
altivec.

This caused a bug where an unaligned lfs or stfs results in
fix_alignment calling giveup_fpu so it can use the FPRs (in order to
do a single <-> double conversion), and then returning to userspace
with FP off but VSX on.  Then if a VSX instruction is executed, before
another FP instruction, it will proceed without another exception and
hence have the incorrect register state for VSX registers 0-31.

   lfs unaligned   <- alignment exception turns FP off but leaves VSX on

   VSX instruction <- no exception since VSX on, hence we get the
                      wrong VSX register values for VSX registers 0-31,
                      which overlap the FPRs.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Enable relay in pseries_defconfig
Anton Blanchard [Tue, 31 Mar 2009 20:14:25 +0000 (20:14 +0000)] 
powerpc/pseries: Enable relay in pseries_defconfig

Enable relay in pseries config, ppc64_defconfig had it enabled but pseries
did not.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Fix ibm,client-architecture comment
Anton Blanchard [Tue, 31 Mar 2009 20:14:01 +0000 (20:14 +0000)] 
powerpc/pseries: Fix ibm,client-architecture comment

We specify a 64MB RMO, but the comment says 128MB.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Scan for all events in rtasd
Anton Blanchard [Tue, 31 Mar 2009 20:13:27 +0000 (20:13 +0000)] 
powerpc/pseries: Scan for all events in rtasd

Instead of checking for known events, pass in all 1s so we handle future
event types.  We were currently missing the IO event type.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Add dispatch dispersion statistics
Anton Blanchard [Tue, 31 Mar 2009 20:12:44 +0000 (20:12 +0000)] 
powerpc/pseries: Add dispatch dispersion statistics

PHYP tells us how often a shared processor dispatch changed physical cpus.
This can highlight performance problems caused by the hypervisor.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Clean up some prom printouts
Anton Blanchard [Tue, 31 Mar 2009 20:06:15 +0000 (20:06 +0000)] 
powerpc: Clean up some prom printouts

Make all messages consistent, some have spaces before the "...", some do not.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Print progress of ibm,client-architecture method
Anton Blanchard [Tue, 31 Mar 2009 20:06:14 +0000 (20:06 +0000)] 
powerpc: Print progress of ibm,client-architecture method

The ibm,client-architecture method will often cause a reconfiguration reboot.
When this happens the last thing we see is:

Hypertas detected, assuming LPAR !

Which doesn't explain what just happened.  Wrap the ibm,client-architecture
so it's clear what is going on:

Calling ibm,client-architecture... done

In order to maintain the law of conservation of screen real estate, downgrade
two other messages to debug.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Remove duplicated #include's
Huang Weiyi [Tue, 31 Mar 2009 02:41:18 +0000 (02:41 +0000)] 
powerpc: Remove duplicated #include's

Remove duplicated #include's in
  - arch/powerpc/include/asm/ps3fb.h
  - arch/powerpc/kernel/setup-common.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook
Benjamin Herrenschmidt [Mon, 30 Mar 2009 17:34:04 +0000 (17:34 +0000)] 
powerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook

The (relatively) new pmac_zilog driver doesn't use the pre-munged
IRQ numbers from the macio_dev unlike other macio things, it
directly maps it off the OF device-tree.

It does that because it can be initialized much earlier than the
registration of the macio devices, in order to get a serial
console early.

Unfortunately, that means that it "misses" some fixups done
by the macio layer to work around missing interrupt descriptions
in the device-tree of the Wallstreet machines.

This patch brings the necessary workaround into the pmac_zilog
driver itself to bring it back to working condition.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf
Mark Nelson [Mon, 23 Mar 2009 20:30:41 +0000 (20:30 +0000)] 
powerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf

The buffer passed to the ibm,get-system-parameter RTAS call must be
in the RMA.  To ensure we pass an address in the RMA use rtas_data_buf
for the actual RTAS call and then copy the result to value.  We can't
just make it static because this can be compiled in as a module.

Also add the WDRTAS_SP_SPI_LEN so we don't litter '4' throughout the
function.

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Tested-by: Adrian Reber <adrian@lisas.de>
Acked-by: Utz Bacher <utz.bacher@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agoMerge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc...
Paul Mackerras [Tue, 7 Apr 2009 02:54:08 +0000 (12:54 +1000)] 
Merge branch 'next' of /linux/kernel/git/galak/powerpc into merge

15 years agoMerge branch 'topic/misc' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:51:12 +0000 (04:51 +0200)] 
Merge branch 'topic/misc' into for-linus

15 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:50:46 +0000 (04:50 +0200)] 
Merge branch 'topic/hda' into for-linus

15 years agoALSA: hda - Add VREF powerdown sequence for another board
Matthew Ranostay [Mon, 6 Apr 2009 13:30:46 +0000 (09:30 -0400)] 
ALSA: hda - Add VREF powerdown sequence for another board

Add powerdown sequence for VREF using a shared jack when the headphone
is present and the microphone isn't on.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: oss - volume control for CSWITCH and CROUTE
Deepika Makhija [Sat, 4 Apr 2009 12:38:28 +0000 (18:08 +0530)] 
ALSA: oss - volume control for CSWITCH and CROUTE

Added an else part to check
SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b

Similarly, checks and volume control is required for
SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
as well.

Signed-off-by: Deepika Makhija <deepika.makhija@einfochips.com>
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - add missing comma in ad1884_slave_vols
Akinobu Mita [Mon, 6 Apr 2009 09:42:42 +0000 (18:42 +0900)] 
ALSA: hda - add missing comma in ad1884_slave_vols

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:17:31 +0000 (04:17 +0200)] 
Merge branch 'topic/asoc' into for-linus

15 years agoMerge branch 'topic/usb-audio' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:16:32 +0000 (04:16 +0200)] 
Merge branch 'topic/usb-audio' into for-linus

15 years agosound: usb-audio: allow period sizes less than 1 ms
Clemens Ladisch [Fri, 3 Apr 2009 07:48:26 +0000 (09:48 +0200)] 
sound: usb-audio: allow period sizes less than 1 ms

To enable periods shorter than 1 ms, we have to make sure that short
periods are only available for alternate settings that have a small
enough data packet interval.  Furthermore, the code that aligns URBs to
USB frames is now superfluous.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: save data packet interval in audioformat structure
Clemens Ladisch [Fri, 3 Apr 2009 07:45:01 +0000 (09:45 +0200)] 
sound: usb-audio: save data packet interval in audioformat structure

The data packet interval needs to be available in the audioformat
structure, together with the other audio format parameters, so that it
can be used to influence ALSA hardware parameters.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: remove check_hw_params_convention()
Clemens Ladisch [Fri, 3 Apr 2009 07:42:42 +0000 (09:42 +0200)] 
sound: usb-audio: remove check_hw_params_convention()

This removes the check_hw_params_convention() function because
1) it is not necessary, as the hw_rule_* functions also work correctly
   (i.e., as no-ops) when the device supports all combinations of the
   audio format parameters; and
2) it would become too complex when adding a fourth altsetting-dependent
   hardware parameter, as this would require another three loops to
   check dependecies with rate/channels/format.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: show sample format width in proc file
Clemens Ladisch [Fri, 3 Apr 2009 07:41:40 +0000 (09:41 +0200)] 
sound: usb-audio: show sample format width in proc file

When listing the device's sample formats in the stream? proc file, the
sample format number itself is rather obscure, so we better show the
format width, too.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Tue, 7 Apr 2009 01:08:58 +0000 (18:08 -0700)] 
Merge branch 'for_linus' of git://git./linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (120 commits)
  cx231xx: Convert to snd_card_create()
  V4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m
  V4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_device'
  V4L/DVB (11438): au0828: fix Kconfig dependance
  V4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs
  V4L/DVB (11436): radio-mr800: convert to to v4l2_device
  V4L/DVB (11435): dsbr100 radio: convert to to v4l2_device
  V4L/DVB: zr364xx: remove unused #include <version.h>
  V4L/DVB: usbvision: remove unused #include <version.h>
  V4L/DVB (11427): gspca - m5602: Minor cleanups
  V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
  V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
  V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.
  V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.
  V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
  V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
  V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
  V4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.
  V4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default
  V4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 7 Apr 2009 01:05:43 +0000 (18:05 -0700)] 
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  b44: Use kernel DMA addresses for the kernel DMA API
  forcedeth: Fix resume from hibernation regression.
  xfrm: fix fragmentation on inter family tunnels
  ibm_newemac: Fix dangerous struct assumption
  gigaset: documentation update
  gigaset: in file ops, check for device disconnect before anything else
  bas_gigaset: use tasklet_hi_schedule for timing critical tasklets
  net/802/fddi.c: add MODULE_LICENSE
  smsc911x: remove unused #include <linux/version.h>
  axnet_cs: fix phy_id detection for bogus Asix chip.
  bnx2: Use request_firmware()
  b44: Fix sizes passed to b44_sync_dma_desc_for_{device,cpu}()
  socket: use percpu_add() while updating sockets_in_use
  virtio_net: Set the mac config only when VIRITO_NET_F_MAC
  myri_sbus: use request_firmware
  e1000: fix loss of multicast packets
  vxge: should include tcp.h

Conflict in firmware/WHENCE (SCSI vs net firmware)

15 years agob44: Use kernel DMA addresses for the kernel DMA API
Michael Buesch [Mon, 6 Apr 2009 09:52:27 +0000 (09:52 +0000)] 
b44: Use kernel DMA addresses for the kernel DMA API

We must not use the device DMA addresses for the kernel DMA API, because
device DMA addresses have an additional offset added for the SSB translation.

Use the original dma_addr_t for the sync operation.

Cc: stable@kernel.org
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoforcedeth: Fix resume from hibernation regression.
Ed Swierk [Tue, 7 Apr 2009 00:49:12 +0000 (17:49 -0700)] 
forcedeth: Fix resume from hibernation regression.

Reset phy state on resume, fixing a regression caused by powering down
the phy on hibernate.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocx231xx: Convert to snd_card_create()
Mauro Carvalho Chehab [Tue, 7 Apr 2009 00:25:29 +0000 (21:25 -0300)] 
cx231xx: Convert to snd_card_create()

Convert from snd_card_new() to the new snd_card_create() function.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m
Randy Dunlap [Mon, 6 Apr 2009 21:59:31 +0000 (18:59 -0300)] 
V4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m

Fix build errors when USB_PWC=y and INPUT=m.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_...
Randy Dunlap [Mon, 6 Apr 2009 21:57:55 +0000 (18:57 -0300)] 
V4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_device'

Fix build errors when USB_VIDEO_CLASS=y and INPUT=m.
Fixes kernel bugzilla #12671.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11438): au0828: fix Kconfig dependance
Alexander Beregalov [Mon, 6 Apr 2009 02:14:43 +0000 (23:14 -0300)] 
V4L/DVB (11438): au0828: fix Kconfig dependance

Fix this build error:
ERROR: "videobuf_queue_vmalloc_init" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "videobuf_vmalloc_free" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "videobuf_to_vmalloc" [drivers/media/video/au0828/au0828.ko] undefined!

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs
Jean Delvare [Sat, 4 Apr 2009 21:13:33 +0000 (18:13 -0300)] 
V4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs

The client_register and client_unregister methods are optional so
there is no point in defining stub ones. Especially when these methods
are likely to be removed soon.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11436): radio-mr800: convert to to v4l2_device
Alexey Klimov [Fri, 3 Apr 2009 21:45:27 +0000 (18:45 -0300)] 
V4L/DVB (11436): radio-mr800: convert to to v4l2_device

radio-mr800: convert to to v4l2_device.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11435): dsbr100 radio: convert to to v4l2_device
Alexey Klimov [Fri, 3 Apr 2009 21:45:17 +0000 (18:45 -0300)] 
V4L/DVB (11435): dsbr100 radio: convert to to v4l2_device

dsbr100: convert to v4l2_device.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB: zr364xx: remove unused #include <version.h>
Huang Weiyi [Thu, 2 Apr 2009 15:30:26 +0000 (12:30 -0300)] 
V4L/DVB: zr364xx: remove unused #include <version.h>

Remove unused #include <version.h> in drivers/media/video/zr364xx.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB: usbvision: remove unused #include <version.h>
Huang Weiyi [Thu, 2 Apr 2009 15:30:19 +0000 (12:30 -0300)] 
V4L/DVB: usbvision: remove unused #include <version.h>

Remove unused #include <version.h> in
drivers/media/video/usbvision/usbvision-i2c.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11427): gspca - m5602: Minor cleanups
Erik Andr?n [Sun, 4 Jan 2009 10:35:27 +0000 (07:35 -0300)] 
V4L/DVB (11427): gspca - m5602: Minor cleanups

Remove an unnecessary error check and reorder some code.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
Erik Andr?n [Sun, 4 Jan 2009 10:28:42 +0000 (07:28 -0300)] 
V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write

Touching the hflip/vflip register while doing the read/modify/write corrupts the image. Just read from the sensor ctrl cache instead and all is good.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
Erik Andr?n [Sun, 4 Jan 2009 07:52:50 +0000 (04:52 -0300)] 
V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.

The vflip quirk is better checked at probe time as it's only needed once.
Also add an extra reset at init time to resolve a suspend to ram regression.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on...
Erik Andr?n [Sat, 3 Jan 2009 16:58:12 +0000 (13:58 -0300)] 
V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache...
Erik Andr?n [Sat, 3 Jan 2009 15:10:11 +0000 (12:10 -0300)] 
V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.

Reading and writing to a register doesn't always work reliably. Add a cache
and ensure that it is deallocated properly upon module disconnect.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
Erik Andr?n [Sat, 3 Jan 2009 13:56:51 +0000 (10:56 -0300)] 
V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
Erik Andr?n [Sat, 3 Jan 2009 13:55:52 +0000 (10:55 -0300)] 
V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.

Previously all resolution setting was done with precalculated tables.
When the image is vflipped we need to adjust the alignment which would
require another table. Now we can adjust the parameters on the fly instead.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
Erik Andr?n [Fri, 2 Jan 2009 20:58:08 +0000 (17:58 -0300)] 
V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver

Some errors were not propagated properly.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>