openwrt/staging/blogic.git
14 years agohrtimers: extend hrtimer base code to handle more then 2 clockids
John Stultz [Wed, 15 Dec 2010 03:37:07 +0000 (19:37 -0800)]
hrtimers: extend hrtimer base code to handle more then 2 clockids

The hrtimer code is written mainly with CLOCK_REALTIME and CLOCK_MONOTONIC
in mind. These are clockids 0 and 1 resepctively. However, if we are
to introduce any new hrtimer bases, using new clockids, we have to skip
the cputimers (clockids 2,3) as well as other clockids that may not impelement
timers.

This patch adds a little bit of indirection between the clockid and
the base, so that we can extend the base by one when we add
a new clockid at number 7 or so.

CC: Jamie Lokier <[email protected]>
CC: Thomas Gleixner <[email protected]>
CC: Alexander Shishkin <[email protected]>
CC: Arve Hjønnevåg <[email protected]>
Signed-off-by: John Stultz <[email protected]>
14 years agontp: Remove redundant and incorrect parameter check
Richard Cochran [Fri, 18 Feb 2011 09:07:25 +0000 (10:07 +0100)]
ntp: Remove redundant and incorrect parameter check

The ADJ_SETOFFSET code redundantly checks the range of the nanoseconds
field of the time value. This field is checked again in the subsequent
call to timekeeping_inject_offset(). Also, as is, the check will not
detect whether the number of microseconds is out of range.

Let timekeeping_inject_offset() do the error checking.

Signed-off-by: Richard Cochran <[email protected]>
Cc: [email protected]
LKML-Reference: <20110218090724[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agomn10300: Switch do_timer() to xtimer_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:12 +0000 (16:00 +0100)]
mn10300: Switch do_timer() to xtimer_update()

Only one CPU gets the timer interrupt so mn10300_last_tsc does not
need to be protected by xtime lock. Remove xtime lovking and use
xtime_update() which does the locking itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: David Howells <[email protected]>
Cc: Koichi Yasutake <[email protected]>
LKML-Reference: <20110127150011.23248.62040.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoposix clocks: Introduce dynamic clocks
Richard Cochran [Tue, 1 Feb 2011 13:52:35 +0000 (13:52 +0000)]
posix clocks: Introduce dynamic clocks

This patch adds support for adding and removing posix clocks. The
clock lifetime cycle is patterned after usb devices. Each clock is
represented by a standard character device. In addition, the driver
may optionally implement custom character device operations.

The posix clock and timer system calls listed below now work with
dynamic posix clocks, as well as the traditional static clocks.
The following system calls are affected:

   - clock_adjtime (brand new syscall)
   - clock_gettime
   - clock_getres
   - clock_settime
   - timer_create
   - timer_delete
   - timer_gettime
   - timer_settime

[ tglx: Adapted to the posix-timer cleanup. Moved clock_posix_dynamic
   to posix-clock.c and made all referenced functions static ]

Signed-off-by: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134420.164172635@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoposix-timers: Cleanup namespace
Thomas Gleixner [Wed, 2 Feb 2011 11:10:09 +0000 (12:10 +0100)]
posix-timers: Cleanup namespace

Rename register_posix_clock() to posix_timers_register_clock(). That's
what the function really does. As a side effect this cleans up the
posix_clock namespace for the upcoming dynamic posix_clock
infrastructure.

Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Richard Cochran <[email protected]>
Cc: John Stultz <[email protected]>
LKML-Reference: <alpine.LFD.2.00.1102021222240[email protected]>

14 years agoposix-timers: Add support for fd based clocks
Richard Cochran [Tue, 1 Feb 2011 13:52:32 +0000 (13:52 +0000)]
posix-timers: Add support for fd based clocks

Extend the negative clockids which are currently used by posix cpu
timers to encode the PID with a file descriptor based type which
encodes the fd in the upper bits.

Originally-from: Richard Cochran <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134420.062860200@linutronix.de>

14 years agox86: Add clock_adjtime for x86
Richard Cochran [Tue, 1 Feb 2011 13:52:30 +0000 (13:52 +0000)]
x86: Add clock_adjtime for x86

This patch adds the clock_adjtime system call to the x86 architecture.

Signed-off-by: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134419.968905083@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoposix-timers: Introduce a syscall for clock tuning.
Richard Cochran [Tue, 1 Feb 2011 13:52:26 +0000 (13:52 +0000)]
posix-timers: Introduce a syscall for clock tuning.

A new syscall is introduced that allows tuning of a POSIX clock. The
new call, clock_adjtime, takes two parameters, the clock ID and a
pointer to a struct timex. Any ADJTIMEX(2) operation may be requested
via this system call, but various POSIX clocks may or may not support
tuning.

[ tglx: Adapted to the posix-timer cleanup series. Avoid copy_to_user
   in the error case ]

Signed-off-by: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134419.869804645@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Splitout compat timex accessors
Richard Cochran [Tue, 1 Feb 2011 13:52:23 +0000 (13:52 +0000)]
time: Splitout compat timex accessors

Split out the compat timex accessors into separate
functions. Preparatory patch for a new syscall.

[ tglx: Split that patch from Richards "posix-timers: Introduce a
   syscall for clock tuning.". Keeps the changes strictly
   separate ]

Originally-from: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
LKML-Reference: <20110201134419.772343089@linutronix.de>

14 years agontp: Add ADJ_SETOFFSET mode bit
Richard Cochran [Tue, 1 Feb 2011 13:52:20 +0000 (13:52 +0000)]
ntp: Add ADJ_SETOFFSET mode bit

This patch adds a new mode bit into the timex structure. When set, the bit
instructs the kernel to add the given time value to the current time.

Signed-off-by: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134320.688829863@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Introduce timekeeping_inject_offset
John Stultz [Tue, 1 Feb 2011 13:52:17 +0000 (13:52 +0000)]
time: Introduce timekeeping_inject_offset

This adds a kernel-internal timekeeping interface to add or subtract
a fixed amount from CLOCK_REALTIME. This makes it so kernel users or
interfaces trying to do so do not have to read the time, then add an
offset and then call settimeofday(), which adds some extra error in
comparision to just simply adding the offset in the kernel timekeeping
core.

Signed-off-by: John Stultz <[email protected]>
Signed-off-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.584311693@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoposix-timer: Update comment
Richard Cochran [Tue, 1 Feb 2011 13:52:15 +0000 (13:52 +0000)]
posix-timer: Update comment

Pick the cleanup to the comment in posix-timers.c from Richards all in
one conversion patch.

Originally-from: Richard Cochran <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134419.487708516@linutronix.de>

14 years agoposix-timers: Make posix-cpu-timers functions static
Thomas Gleixner [Tue, 1 Feb 2011 13:52:12 +0000 (13:52 +0000)]
posix-timers: Make posix-cpu-timers functions static

All functions are accessed via clock_posix_cpu now. So make them static.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.389755466@linutronix.de>

14 years agoposix-timers: Remove CLOCK_DISPATCH leftovers
Thomas Gleixner [Tue, 1 Feb 2011 13:52:09 +0000 (13:52 +0000)]
posix-timers: Remove CLOCK_DISPATCH leftovers

All users gone. Remove the cruft.

Huge thanks to Richard Cochran who tackled that maze first.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.294620613@linutronix.de>

14 years agoposix-timers: Convert timer_delete() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:52:07 +0000 (13:52 +0000)]
posix-timers: Convert timer_delete() to clockid_to_kclock()

Set the common function for CLOCK_MONOTONIC and CLOCK_REALTIME kclocks
and use the new decoding function.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.198999420@linutronix.de>

14 years agoposix-timers: Convert timer_gettime() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:52:04 +0000 (13:52 +0000)]
posix-timers: Convert timer_gettime() to clockid_to_kclock()

Set the common function for CLOCK_MONOTONIC and CLOCK_REALTIME kclocks
and use the new decoding function.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.101243181@linutronix.de>

14 years agoposix-timers: Convert timer_settime() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:52:01 +0000 (13:52 +0000)]
posix-timers: Convert timer_settime() to clockid_to_kclock()

Set the common function for CLOCK_MONOTONIC and CLOCK_REALTIME kclocks
and use the new decoding function.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134419.001863714@linutronix.de>

14 years agoposix-timers: Convert timer_create() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:58 +0000 (13:51 +0000)]
posix-timers: Convert timer_create() to clockid_to_kclock()

Setup timer_create for CLOCK_MONOTONIC and CLOCK_REALTIME kclocks and
remove the no_timer_create() implementation.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.903604289@linutronix.de>

14 years agoposix-timers: Remove useless res field from k_clock
Thomas Gleixner [Tue, 1 Feb 2011 13:51:56 +0000 (13:51 +0000)]
posix-timers: Remove useless res field from k_clock

The res member of kclock is only used by mmtimer.c, but even there it
contains redundant information. Remove the field and fixup mmtimer.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.808714587@linutronix.de>

14 years agoposix-timers: Convert clock_getres() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:53 +0000 (13:51 +0000)]
posix-timers: Convert clock_getres() to clockid_to_kclock()

Use the new kclock decoding. Fixup the fallout in mmtimer.c

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.709802797@linutronix.de>

14 years agoposix-timers: Make clock_getres and clock_get mandatory
Thomas Gleixner [Wed, 2 Feb 2011 10:45:23 +0000 (11:45 +0100)]
posix-timers: Make clock_getres and clock_get mandatory

Richard said: "I would think that we can require k_clocks to provide
the read function. This could be checked and enforced in
register_posix_clock()."

Add checks for clock_getres and clock_get in the register function.

Suggested-by: Richard Cochran <[email protected]>
Cc: John Stultz <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoposix-timers: Convert clock_gettime() to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:50 +0000 (13:51 +0000)]
posix-timers: Convert clock_gettime() to clockid_to_kclock()

Use the new kclock decoding mechanism and rename the misnomed
common_clock_get() to posix_clock_realtime_get().

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.611097203@linutronix.de>

14 years agoposix-timers: Convert clock_settime to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:48 +0000 (13:51 +0000)]
posix-timers: Convert clock_settime to clockid_to_kclock()

Use the new kclock decoding function in clock_settime and cleanup all
kclocks which use the default functions. Rename the misnomed
common_clock_set() to posix_clock_realtime_set().

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.518851246@linutronix.de>

14 years agoposix-cpu-timers: Remove the stub nanosleep functions
Thomas Gleixner [Tue, 1 Feb 2011 13:51:45 +0000 (13:51 +0000)]
posix-cpu-timers: Remove the stub nanosleep functions

CLOCK_THREAD_CPUTIME_ID implements stub functions for nanosleep and
nanosleep_restart, which return -EINVAL. That return value is
wrong. The correct return value is -ENOTSUP.

Remove the stubs and let the new dispatch code return the correct
error code.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.422446502@linutronix.de>

14 years agothread_info: Remove legacy arg0-3 from restart_block
Thomas Gleixner [Tue, 1 Feb 2011 13:51:43 +0000 (13:51 +0000)]
thread_info: Remove legacy arg0-3 from restart_block

posix timers were the last users of the legacy arg0-3 members of
restart_block. Remove the cruft.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.326209775@linutronix.de>

14 years agoposix-timers: Cleanup restart_block usage
Thomas Gleixner [Tue, 1 Feb 2011 13:51:20 +0000 (13:51 +0000)]
posix-timers: Cleanup restart_block usage

posix timers still use the legacy arg0-arg3 members of
restart_block. Use restart_block.nanosleep instead

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.232288779@linutronix.de>

14 years agoposix-timers: Convert clock_nanosleep_restart to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:17 +0000 (13:51 +0000)]
posix-timers: Convert clock_nanosleep_restart to clockid_to_kclock()

Use the new kclock decoding function in clock_nanosleep_restart.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.131263211@linutronix.de>

14 years agoposix-timers: Convert clock_nanosleep to clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:11 +0000 (13:51 +0000)]
posix-timers: Convert clock_nanosleep to clockid_to_kclock()

Use the new kclock decoding function in clock_nanosleep and cleanup all
kclocks which use the default functions.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134418.034175556@linutronix.de>

14 years agoposix-timers: Introduce clockid_to_kclock()
Thomas Gleixner [Tue, 1 Feb 2011 13:51:09 +0000 (13:51 +0000)]
posix-timers: Introduce clockid_to_kclock()

New function to find the kclock for a given clockid.

Returns a pointer to clock_posix_cpu if clockid < 0. If clockid >=
MAXCLOCK or if the clock_getres pointer is not set it returns
NULL. For valid clocks it returns a pointer to the matching
posix_clock.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: John Stultz <[email protected]>
Acked-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134417.938447839@linutronix.de>

14 years agoposix-timers: Introduce clock_posix_cpu
Thomas Gleixner [Tue, 1 Feb 2011 13:51:06 +0000 (13:51 +0000)]
posix-timers: Introduce clock_posix_cpu

The CLOCK_DISPATCH() macro is a horrible magic. We call common
functions if a function pointer is not set. That's just backwards.

To support dynamic file decriptor based clocks we need to cleanup that
dispatch logic.

Create a k_clock struct clock_posix_cpu which has all the
posix-cpu-timer functions filled in. After the cleanup the functions
can be made static.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134417.841974553@linutronix.de>

14 years agoposix-timers: Cleanup struct initializers
Thomas Gleixner [Tue, 1 Feb 2011 13:51:03 +0000 (13:51 +0000)]
posix-timers: Cleanup struct initializers

Cosmetic. No functional change

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134417.745627057@linutronix.de>

14 years agoposix-timers: Define nanosleep not supported error separate
Thomas Gleixner [Tue, 1 Feb 2011 13:51:01 +0000 (13:51 +0000)]
posix-timers: Define nanosleep not supported error separate

Define the conditional nanosleep not supported error value outside of
do_posix_clock_nonanosleep(). Preparatory patch for further cleanups.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <20110201134417.643486574@linutronix.de>

14 years agotime: Correct the *settime* parameters
Richard Cochran [Tue, 1 Feb 2011 13:50:58 +0000 (13:50 +0000)]
time: Correct the *settime* parameters

Both settimeofday() and clock_settime() promise with a 'const'
attribute not to alter the arguments passed in. This patch adds the
missing 'const' attribute into the various kernel functions
implementing these calls.

Signed-off-by: Richard Cochran <[email protected]>
Acked-by: John Stultz <[email protected]>
LKML-Reference: <20110201134417.545698637@linutronix.de>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Fix legacy arch fallout
Thomas Gleixner [Tue, 1 Feb 2011 08:34:58 +0000 (09:34 +0100)]
time: Fix legacy arch fallout

The xtime/dotimer cleanup broke architectures which do not implement
clockevents. Time to send out another __do_IRQ threat.

Signed-off-by: Thomas Gleixner <[email protected]>
Reported-by: Ingo Molnar <[email protected]>
Cc: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145905.23248.30458.stgit@localhost>
Signed-off-by: Ingo Molnar <[email protected]>
14 years agotime: Make do_timer() and xtime_lock local to kernel/time/
Torben Hohn [Thu, 27 Jan 2011 15:00:32 +0000 (16:00 +0100)]
time: Make do_timer() and xtime_lock local to kernel/time/

All callers of do_timer() are converted to xtime_update(). The only
users of xtime_lock are in kernel/time/. Make both local to
kernel/time/ and remove them from the global header files.

[ tglx: Reuse tick-internal.h instead of creating another local header
   file. Massaged changelog ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoxtensa: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:27 +0000 (16:00 +0100)]
xtensa: Switch do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

set_linux_timer() does not need to be protected by xtime_lock.

[ tglx: This code is broken on SMP anyway. ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: Chris Zankel <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127150027.23248.61798.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agosparc: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:22 +0000 (16:00 +0100)]
sparc: Switch do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

pcic_clear_clock_irq() and clear_clock_irq do not need
to be protected by xtime_lock.

Signed-off-by: Torben Hohn <[email protected]>
Acked-by: David S. Miller <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127150022.23248.80369.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoparisc: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:17 +0000 (16:00 +0100)]
parisc: Switch do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: [email protected]
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Helge Deller <[email protected]>
Cc: "James E.J. Bottomley" <[email protected]>
Cc: Kyle McMartin <[email protected]>
Cc: [email protected]
LKML-Reference: <20110127150017.23248.22559.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agom68k: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:06 +0000 (16:00 +0100)]
m68k: Switch do_timer() to xtime_update()

xtime_update() properly takes the xtime_lock

Signed-off-by: Torben Hohn <[email protected]>
Cc: Sam Creasey <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Roman Zippel <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: Geert Uytterhoeven <[email protected]>
Cc: Greg Ungerer <[email protected]>
LKML-Reference: <20110127150006.23248.71790.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agom32r: Switch from do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 15:00:01 +0000 (16:00 +0100)]
m32r: Switch from do_timer() to xtime_update()

xtime_update() does proper locking.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Hirokazu Takata <[email protected]>
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127150001.23248.68620.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoia64: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:56 +0000 (15:59 +0100)]
ia64: Switch do_timer() to xtime_update()

local_cpu_data->itm_next = new_itm; does not need to be protected by
xtime_lock. xtime_update() takes the lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Fenghua Yu <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145956.23248.49107.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoh8300: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:51 +0000 (15:59 +0100)]
h8300: Switch do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145951.23248.92727.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agofrv: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:46 +0000 (15:59 +0100)]
frv: Switch do_timer() to xtime_update()

__set_LEDS() does not need to be protected by xtime_lock.
its used unprotected in other places.

[ tglx: Removed stale comment ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: [email protected]
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: David Howells <[email protected]>
Cc: [email protected]
LKML-Reference: <20110127145946.23248.57952.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agocris: arch-v32: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:41 +0000 (15:59 +0100)]
cris: arch-v32: Switch do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: [email protected]
Cc: Jesper Nilsson <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Mikael Starvik <[email protected]>
Cc: [email protected]
LKML-Reference: <20110127145941.23248.92547.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agocris: arch-v10: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:36 +0000 (15:59 +0100)]
cris: arch-v10: Switch do_timer() to xtime_update()

This code failed to take the xtime_lock, which must be held when
calling do_timer(). Use the safe version xtime_update()

Signed-off-by: Torben Hohn <[email protected]>
Cc: [email protected]
Cc: Jesper Nilsson <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: Mikael Starvik <[email protected]>
Cc: [email protected]
LKML-Reference: <20110127145936.23248.16192.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoblackfin: Switch from do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:31 +0000 (15:59 +0100)]
blackfin: Switch from do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Mike Frysinger <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145931.23248.33917.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoarm/mach-clps711x: Switch do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:26 +0000 (15:59 +0100)]
arm/mach-clps711x: Switch do_timer() to xtime_update()

do_timer() requires holding the xtime_lock, which this
code did not do. Use the safe version xtime_update()

Signed-off-by: Torben Hohn <[email protected]>
Cc: Russell King <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145926.23248.56369.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoarm: Switch from do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:21 +0000 (15:59 +0100)]
arm: Switch from do_timer() to xtime_update()

xtime_update takes the xtime_lock itself.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Russell King <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145920.23248.75541.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoalpha: Change do_timer() to xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:15 +0000 (15:59 +0100)]
alpha: Change do_timer() to xtime_update()

xtime_update() takes the xtime_lock itself.

timer_interrupt() is only called on the boot cpu. See do_entInt(). So
"state" in timer_interrupt does not require protection by xtime_lock.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Richard Henderson <[email protected]>
Cc: Ivan Kokshaysky <[email protected]>
Cc: Matt Turner <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145915.23248.20919.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Provide xtime_update()
Torben Hohn [Thu, 27 Jan 2011 14:59:10 +0000 (15:59 +0100)]
time: Provide xtime_update()

xtime_update() takes xtime_lock write locked and calls
do_timer(). Provided to replace the do_timer() calls in the
architecture code.

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145910.23248.21379.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Remove unused __get_wall_to_monotonic()
Thomas Gleixner [Mon, 31 Jan 2011 10:07:54 +0000 (11:07 +0100)]
time: Remove unused __get_wall_to_monotonic()

No users left. Remove it.

Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Provide get_xtime_and_monotonic_offset()
Torben Hohn [Thu, 27 Jan 2011 14:59:05 +0000 (15:59 +0100)]
time: Provide get_xtime_and_monotonic_offset()

The hrtimer code accesses timekeeping variables under
xtime_lock. Provide a sensible accessor function and use it.

[ tglx: Removed the conditionals, unused variable, fixed codingstyle
   and massaged changelog ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145905.23248.30458.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Move get_jiffies_64 to kernel/time/jiffies.c
Torben Hohn [Thu, 27 Jan 2011 14:59:00 +0000 (15:59 +0100)]
time: Move get_jiffies_64 to kernel/time/jiffies.c

Move the jiffies access functions to the jiffies clocksource code.

[ tglx: Add missing include ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145900.23248.73352.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agotime: Move do_timer() to kernel/time/timekeeping.c
Torben Hohn [Thu, 27 Jan 2011 14:58:55 +0000 (15:58 +0100)]
time: Move do_timer() to kernel/time/timekeeping.c

do_timer() is primary timekeeping related. calc_global_load() is
called from do_timer() as well, but that's more for historical
reasons.

[ tglx: Fixed up the calc_global_load() reject andmassaged changelog ]

Signed-off-by: Torben Hohn <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
LKML-Reference: <20110127145855.23248.56933.stgit@localhost>
Signed-off-by: Thomas Gleixner <[email protected]>
14 years agoMerge branch 'for-linus' of git://git.infradead.org/ubi-2.6
Linus Torvalds [Mon, 31 Jan 2011 03:04:51 +0000 (13:04 +1000)]
Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6

* 'for-linus' of git://git.infradead.org/ubi-2.6:
  Revert "UBI: use mtd->writebufsize to set minimal I/O unit size"

14 years agoInput: rc-keymap - return KEY_RESERVED for unknown mappings
Dmitry Torokhov [Sat, 29 Jan 2011 07:33:29 +0000 (23:33 -0800)]
Input: rc-keymap - return KEY_RESERVED for unknown mappings

Do not respond with -EINVAL to EVIOCGKEYCODE for not-yet-mapped
scancodes, but rather return KEY_RESERVED.

This fixes breakage with Ubuntu's input-kbd utility that stopped
returning full keymaps for remote controls.

Tested-by: Mauro Carvalho Chehab <[email protected]>
Tested-by: Mark Lord <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Mon, 31 Jan 2011 03:02:34 +0000 (13:02 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: synaptics - retry failed resets when reconnecting
  Input: synaptics - fix reconnect logic on MT devices
  Input: tegra-kbc - fix keymap entry for LeftMeta key
  Input: tegra-kbc - fix build error

14 years agoFix prlimit64 for suid/sgid processes
Kacper Kornet [Fri, 28 Jan 2011 23:21:04 +0000 (00:21 +0100)]
Fix prlimit64 for suid/sgid processes

Since check_prlimit_permission always fails in the case of SUID/GUID
processes, such processes are not able to read or set their own limits.
This commit changes this by assuming that process can always read/change
its own limits.

Signed-off-by: Kacper Kornet <[email protected]>
Acked-by: Jiri Slaby <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
14 years agointel_scu_ipc: remove duplicated #include
Huang Weiyi [Fri, 28 Jan 2011 14:05:25 +0000 (22:05 +0800)]
intel_scu_ipc: remove duplicated #include

Remove duplicated #include('s) in
  drivers/platform/x86/intel_scu_ipc.c

Signed-off-by: Huang Weiyi <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
14 years agoNTFS: Fix invalid pointer dereference in ntfs_mft_record_alloc().
Anton Altaparmakov [Fri, 28 Jan 2011 20:45:28 +0000 (20:45 +0000)]
NTFS: Fix invalid pointer dereference in ntfs_mft_record_alloc().

In ntfs_mft_record_alloc() when mapping the new extent mft record with
map_extent_mft_record() we overwrite @m with the return value and on
error, we then try to use the old @m but that is no longer there as @m
now contains an error code instead so we crash when dereferencing the
error code as if it were a pointer.

The simple fix is to use a temporary variable to store the return value
thus preserving the original @m for later use.  This is a backport from
the commercial Tuxera-NTFS driver and is well tested...

Thanks go to Julia Lawall for pointing this out (whilst I had fixed it
in the commercial driver I had failed to fix it in the Linux kernel).

Signed-off-by: Anton Altaparmakov <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Mon, 31 Jan 2011 02:56:27 +0000 (12:56 +1000)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  cifs: More crypto cleanup (try #2)
  CIFS: Add strictcache mount option
  CIFS: Implement cifs_strict_writev (try #4)
  [CIFS] Replace cifs md5 hashing functions with kernel crypto APIs

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas...
Linus Torvalds [Mon, 31 Jan 2011 02:55:38 +0000 (12:55 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cmarinas/linux-2.6-cm

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm:
  kmemleak: Allow kmemleak metadata allocations to fail
  kmemleak: remove memset by using kzalloc

14 years agoMerge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6
Linus Torvalds [Mon, 31 Jan 2011 02:54:54 +0000 (12:54 +1000)]
Merge branch 'zerolen' of git://git./linux/kernel/git/jgarzik/misc-2.6

* 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
  Delete zero-length drivers/staging/vme/bridges/Module.symvers

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Mon, 31 Jan 2011 02:53:12 +0000 (12:53 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: HDA: Fix automute on Thinkpad L412/L512
  ALSA: HDA: Fix dmesg output of HDMI supported bits
  ALSA: fix invalid hardware.h include in ac97c for AVR32 architecture
  ASoC: correct link specifications for corgi, poodle and spitz
  ASoC: Samsung: Fix outdated cpu_dai_name for s3c24xx i2s
  ASoC: Fix codec device id format used by some dai_links
  ALSA: azt3328 -  fix broken AZF_FMT_XLATE macro
  ALSA: Xonar, CS43xx: Don't overrun static array
  ASoC: Handle low measured DC offsets for wm_hubs devices
  ASoC: da8xx/omap-l1xx: match codec_name with i2c ids
  ASoC: WM8994: fix wrong value in tristate function
  ASoC: WM8995: Fix incorrect use of snd_soc_update_bits()

14 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Mon, 31 Jan 2011 02:51:28 +0000 (12:51 +1000)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: set queue DMA alignment to sector size for ATAPI too
  libata: DVR-212D can't do SETXFER DVD-RW DVR-212D
  ahci: add HFLAG_YES_FBS and apply it to 88SE9128
  pata_hpt37x: inherit prereset() method for HPT374
  ahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs
  pata_hpt37x: fold 'if' statement into 'switch'
  pata_hpt{37x|3x2n}: use pr_*(DRV_NAME ...) instead of printk(KERN_* ...)
  pata_hpt{366|37x}: use pr_warning(...) instead of printk(KERN_WARNING ...)
  pata_mpc52xx: inherit from ata_bmdma_port_ops

14 years agoMerge branch 'for-linus' of git://android.git.kernel.org/kernel/tegra
Linus Torvalds [Mon, 31 Jan 2011 02:49:26 +0000 (12:49 +1000)]
Merge branch 'for-linus' of git://android.git./kernel/tegra

* 'for-linus' of git://android.git.kernel.org/kernel/tegra:
  ARM: tegra: clock: Add forward reference to struct clk
  ARM: tegra: irq: Rename gic pointers to avoid conflicts
  arm/tegra: Fix tegra irq_data conversion

14 years agoRevert "UBI: use mtd->writebufsize to set minimal I/O unit size"
Artem Bityutskiy [Sat, 29 Jan 2011 16:27:13 +0000 (18:27 +0200)]
Revert "UBI: use mtd->writebufsize to set minimal I/O unit size"

This reverts commit a121f643993474548fe98144514c50dd4f3dbe76.

Unfortunately, this commit breaks UBIFS backward compatibility and
makes new UBIFS refuse older UBIFS-formatted media:

UBIFS error: validate_sb: min. I/O unit mismatch: 8 in superblock, 64 real

Thus, we have to revert this patch and work on a better solution.

Reported-by: Holger Brunck <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
14 years agoInput: synaptics - retry failed resets when reconnecting
Alexandre Peixoto Ferreira [Sat, 29 Jan 2011 06:05:14 +0000 (22:05 -0800)]
Input: synaptics - retry failed resets when reconnecting

On some machines, like Dell Studio XPS 16 (1640), touchpad fails to
respond to the standard query after first reset but may start
responding later, so let's repeat reset sequence several (3) times.

Signed-off-by: Alexandre Peixoto Ferreira <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
14 years agoInput: synaptics - fix reconnect logic on MT devices
Alexandre Peixoto Ferreira [Sat, 29 Jan 2011 06:05:14 +0000 (22:05 -0800)]
Input: synaptics - fix reconnect logic on MT devices

synaptics_set_advanced_gesture_mode() affect capabilities bits we should
perform comparison after calling this function, otherwise they will never
match and we will be forced to perform full reconnect.

Signed-off-by: Alexandre Peixoto Ferreira <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
14 years agoInput: tegra-kbc - fix keymap entry for LeftMeta key
Rakesh Iyer [Sat, 29 Jan 2011 06:05:14 +0000 (22:05 -0800)]
Input: tegra-kbc - fix keymap entry for LeftMeta key

Correct key mapping for Left Meta key.

Signed-off-by: Rakesh Iyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
14 years agoInput: tegra-kbc - fix build error
Rakesh Iyer [Sat, 29 Jan 2011 06:05:14 +0000 (22:05 -0800)]
Input: tegra-kbc - fix build error

Fix build error introduced by variable name change.

Signed-off-by: Rakesh Iyer <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
14 years agoDelete zero-length drivers/staging/vme/bridges/Module.symvers
Jeff Garzik [Fri, 28 Jan 2011 08:23:42 +0000 (03:23 -0500)]
Delete zero-length drivers/staging/vme/bridges/Module.symvers

Signed-off-by: Jeff Garzik <[email protected]>
14 years agolibata: set queue DMA alignment to sector size for ATAPI too
Tejun Heo [Thu, 20 Jan 2011 12:59:06 +0000 (13:59 +0100)]
libata: set queue DMA alignment to sector size for ATAPI too

ata_pio_sectors() expects buffer for each sector to be contained in a
single page; otherwise, it ends up overrunning the first page.  This
is achieved by setting queue DMA alignment.  If sector_size is smaller
than PAGE_SIZE and all buffers are sector_size aligned, buffer for
each sector is always contained in a single page.

This wasn't applied to ATAPI devices but IDENTIFY_PACKET is executed
as ATA_PROT_PIO and thus uses ata_pio_sectors().  Newer versions of
udev issue IDENTIFY_PACKET with unaligned buffer triggering the
problem and causing oops.

This patch fixes the problem by setting sdev->sector_size to
ATA_SECT_SIZE on ATATPI devices and always setting DMA alignment to
sector_size.  While at it, add a warning for the unlikely but still
possible scenario where sector_size is larger than PAGE_SIZE, in which
case the alignment wouldn't be enough.

Signed-off-by: Tejun Heo <[email protected]>
Reported-by: John Stanley <[email protected]>
Tested-by: John Stanley <[email protected]>
Cc: [email protected]
Signed-off-by: Jeff Garzik <[email protected]>
14 years agolibata: DVR-212D can't do SETXFER DVD-RW DVR-212D
Francesco Antonacci [Tue, 25 Jan 2011 10:54:43 +0000 (11:54 +0100)]
libata: DVR-212D can't do SETXFER DVD-RW DVR-212D

PIONEER DVR-212D can't do SETXFER like its sibling DVRTD08.  Add
ATA_HORKAGE_NOSETXFER for it.  Reported in bko#27502.

  https://bugzilla.kernel.org/show_bug.cgi?id=27502

Signed-off-by: Francesco Antonacci <[email protected]>
Acked-by: Tejun Heo <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agoahci: add HFLAG_YES_FBS and apply it to 88SE9128
Anssi Hannula [Wed, 19 Jan 2011 01:03:26 +0000 (20:03 -0500)]
ahci: add HFLAG_YES_FBS and apply it to 88SE9128

Commit 5f173107ecad83a50 added HFLAG_YES_FBS workaround for 88SE9128
(1b4b:9123).

However, that change inadvertently caused the legacy IDE interface of
the controller (with the same pci id) to become associated with the AHCI
driver as well, causing the driver to try to bring the interface up in
vain.

Fix that by matching against class as well.

Signed-off-by: Anssi Hannula <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agopata_hpt37x: inherit prereset() method for HPT374
Sergei Shtylyov [Tue, 11 Jan 2011 18:01:23 +0000 (21:01 +0300)]
pata_hpt37x: inherit prereset() method for HPT374

Commit ab81a505ae6be069be5b67acd7e1bab3cfb53968 (pata_hpt37x: unify ->pre_reset
methods) neglected to remove the initializer for the prereset() method from
'hpt374_fn1_port_ops' (it's inherited from 'hpt372_port_ops' anyway), as well
as to update the comment in hpt37x_init_one()...

Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agoahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs
Seth Heasley [Mon, 10 Jan 2011 20:57:17 +0000 (12:57 -0800)]
ahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs

This patch adds the AHCI-mode SATA DeviceID for the Intel DH89xxCC PCH.

Signed-off-by: Seth Heasley <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agopata_hpt37x: fold 'if' statement into 'switch'
Sergei Shtylyov [Mon, 10 Jan 2011 19:31:13 +0000 (22:31 +0300)]
pata_hpt37x: fold 'if' statement into 'switch'

hpt37x_init_one() has a large *if* statement which should really be folded into
the *switch* statement that currently constitutes its *else* branch, reducing
one level of indentation...

Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agopata_hpt{37x|3x2n}: use pr_*(DRV_NAME ...) instead of printk(KERN_* ...)
Sergei Shtylyov [Mon, 10 Jan 2011 18:39:34 +0000 (21:39 +0300)]
pata_hpt{37x|3x2n}: use pr_*(DRV_NAME ...) instead of printk(KERN_* ...)

... the same as the 'pata_hpt366' driver does.

Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agopata_hpt{366|37x}: use pr_warning(...) instead of printk(KERN_WARNING ...)
Sergei Shtylyov [Mon, 10 Jan 2011 18:34:27 +0000 (21:34 +0300)]
pata_hpt{366|37x}: use pr_warning(...) instead of printk(KERN_WARNING ...)

... in hpt_dma_blacklisted().

Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
14 years agopata_mpc52xx: inherit from ata_bmdma_port_ops
Tejun Heo [Sun, 9 Jan 2011 22:48:20 +0000 (17:48 -0500)]
pata_mpc52xx: inherit from ata_bmdma_port_ops

pata_mpc52xx supports BMDMA but inherits ata_sff_port_ops which
triggers BUG_ON() when a DMA command is issued.  Fix it.

Signed-off-by: Tejun Heo <[email protected]>
Reported-by: Roman Fietze <[email protected]>
Cc: Sergei Shtylyov <[email protected]>
Cc: [email protected]
Signed-off-by: Jeff Garzik <[email protected]>
14 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Fri, 28 Jan 2011 07:25:43 +0000 (08:25 +0100)]
Merge branch 'fix/asoc' into for-linus

14 years agoMerge branch 'stable/bug-fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 28 Jan 2011 02:24:34 +0000 (12:24 +1000)]
Merge branch 'stable/bug-fixes-rc2' of git://git./linux/kernel/git/konrad/xen

* 'stable/bug-fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/setup: Route halt operations to safe_halt pvop.
  xen/e820: Guard against E820_RAM not having page-aligned size or start.
  xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn.

14 years agoExport the augmented rbtree helper functions
Andreas Gruenbacher [Wed, 26 Jan 2011 14:55:36 +0000 (15:55 +0100)]
Export the augmented rbtree helper functions

The augmented rbtree helper functions are not exported to modules right
now.

(We have started using augmented rbtrees in the upcoming version of
drbd.)

Signed-off-by: Andreas Gruenbacher <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
Linus Torvalds [Fri, 28 Jan 2011 02:12:58 +0000 (12:12 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/sage/ceph-client

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
  ceph: avoid picking MDS that is not active
  ceph: avoid immediate cap check after import
  ceph: fix flushing of caps vs cap import
  ceph: fix erroneous cap flush to non-auth mds
  ceph: fix cap_wanted_delay_{min,max} mount option initialization
  ceph: fix xattr rbtree search
  ceph: fix getattr on directory when using norbytes

14 years agoMerge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Fri, 28 Jan 2011 02:10:13 +0000 (12:10 +1000)]
Merge branch 'drm-fixes' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm/nv50: fix regression on IGPs
  drm/radeon/kms: re-emit full context state for evergreen blits
  drm/radeon/kms: release CMASK access in preclose_kms
  drm/radeon/kms: fix r6xx+ scanout on BE systems
  drm/radeon/kms: clean up some magic numbers
  drm/radeon/kms: only enable HDMI mode if radeon audio is enabled
  radeon/kms: fix dp displayport mode validation
  drm/nvc0/grctx: correct an off-by-one
  drm/nv50: Fix race with PFIFO during PGRAPH context destruction.
  drm/nouveau: Workaround incorrect DCB entry on a GeForce3 Ti 200.
  drm/nvc0: implement irq handler for whatever's at 0x14xxxx
  drm/nvc0: fix incorrect TPC register setup
  drm/nouveau: probe for adt7473 before f75375
  drm/nouveau: remove dead function definition

14 years agoMerge branch 'drm-nouveau-next' of git://git.freedesktop.org/git/nouveau/linux-2...
Dave Airlie [Fri, 28 Jan 2011 01:12:53 +0000 (11:12 +1000)]
Merge branch 'drm-nouveau-next' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes

* 'drm-nouveau-next' of git://git.freedesktop.org/git/nouveau/linux-2.6:
  drm/nv50: fix regression on IGPs

14 years agodrm/nv50: fix regression on IGPs
Ben Skeggs [Thu, 27 Jan 2011 00:42:50 +0000 (10:42 +1000)]
drm/nv50: fix regression on IGPs

Signed-off-by: Ben Skeggs <[email protected]>
14 years agodrm/radeon/kms: re-emit full context state for evergreen blits
Alex Deucher [Thu, 27 Jan 2011 22:01:52 +0000 (17:01 -0500)]
drm/radeon/kms: re-emit full context state for evergreen blits

clear state doesn't seem to work properly in some cases

Fixes hangs in heavy 3D on some evergreen cards reported on
IRC.

May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=33381
possibly others.

Signed-off-by: Alex Deucher <[email protected]>
Cc: [email protected]
Signed-off-by: Dave Airlie <[email protected]>
14 years agodrm/radeon/kms: release CMASK access in preclose_kms
Marek Olšák [Thu, 27 Jan 2011 21:46:15 +0000 (22:46 +0100)]
drm/radeon/kms: release CMASK access in preclose_kms

Signed-off-by: Marek Olšák <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
14 years agoMerge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Thu, 27 Jan 2011 20:45:04 +0000 (06:45 +1000)]
Merge branch 'sched-fixes-for-linus' of git://git./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: Use rq->clock_task instead of rq->clock for correctly maintaining load averages
  sched: Fix/remove redundant cfs_rq checks
  sched: Fix sign under-flows in wake_affine

14 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Thu, 27 Jan 2011 20:43:41 +0000 (06:43 +1000)]
Merge branch 'x86-fixes-for-linus' of git://git./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:
  percpu, x86: Fix percpu_xchg_op()
  x86: Remove left over system_64.h
  x86-64: Don't use pointer to out-of-scope variable in dump_trace()

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
Linus Torvalds [Thu, 27 Jan 2011 20:39:08 +0000 (06:39 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cjb/mmc

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
  mmc: bfin_sdh: fix alloc size for private data
  mmc: sdhci-s3c: add platform_8bit_width() hook
  mmc: jz4740: don't treat NULL clk as an error
  mmc: mmci: don't read command response when invalid
  mmc: ushc: Remove duplicate include of usb.h

14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 27 Jan 2011 20:35:51 +0000 (06:35 +1000)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits)
  bnx2: Eliminate AER error messages on systems not supporting it
  cnic: Fix big endian bug
  xfrm6: Don't forget to propagate peer into ipsec route.
  tg3: Use new VLAN code
  bonding: update documentation - alternate configuration.
  TCP: fix a bug that triggers large number of TCP RST by mistake
  MAINTAINERS: remove Reinette Chatre as iwlwifi maintainer
  rt2x00: add device id for windy31 usb device
  mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface
  ipv6: Revert 'administrative down' address handling changes.
  textsearch: doc - fix spelling in lib/textsearch.c.
  USB NET KL5KUSB101: Fix mem leak in error path of kaweth_download_firmware()
  pch_gbe: don't use flush_scheduled_work()
  bnx2: Always set ETH_FLAG_TXVLAN
  net: clear heap allocation for ethtool_get_regs()
  ipv6: Always clone offlink routes.
  dcbnl: make get_app handling symmetric for IEEE and CEE DCBx
  tcp: fix bug in listening_get_next()
  inetpeer: Use correct AVL tree base pointer in inet_getpeer().
  GRO: fix merging a paged skb after non-paged skbs
  ...

14 years agoMerge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groec...
Linus Torvalds [Thu, 27 Jan 2011 20:34:19 +0000 (06:34 +1000)]
Merge branch 'hwmon-for-linus' of git://git./linux/kernel/git/groeck/staging

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
  hwmon: (lis3) turn down the no IRQ message
  hwmon: (asus_atk0110) Override interface detection on Sabertooth X58
  hwmon: (applesmc) Properly initialize lockdep attributes

14 years agoMerge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspe...
Linus Torvalds [Thu, 27 Jan 2011 20:32:49 +0000 (06:32 +1000)]
Merge branch 'pm-fixes' of git://git./linux/kernel/git/rafael/suspend-2.6

* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
  PM / Runtime: Don't enable interrupts while running in_interrupt

14 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt...
Linus Torvalds [Thu, 27 Jan 2011 20:32:05 +0000 (06:32 +1000)]
Merge branch 'for-linus' of git://git./linux/kernel/git/egtvedt/avr32-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/avr32-2.6:
  avr32: add missing include causing undefined pgtable_page_* references

14 years agocifs: More crypto cleanup (try #2)
Shirish Pargaonkar [Thu, 27 Jan 2011 15:58:04 +0000 (09:58 -0600)]
cifs: More crypto cleanup (try #2)

Replaced md4 hashing function local to cifs module with kernel crypto APIs.
As a result, md4 hashing function and its supporting functions in
file md4.c are not needed anymore.

Cleaned up function declarations, removed forward function declarations,
and removed a header file that is being deleted from being included.

Verified that sec=ntlm/i, sec=ntlmv2/i, and sec=ntlmssp/i work correctly.

Signed-off-by: Shirish Pargaonkar <[email protected]>
Reviewed-by: Jeff Layton <[email protected]>
Signed-off-by: Steve French <[email protected]>
14 years agokmemleak: Allow kmemleak metadata allocations to fail
Catalin Marinas [Thu, 27 Jan 2011 10:30:26 +0000 (10:30 +0000)]
kmemleak: Allow kmemleak metadata allocations to fail

This patch adds __GFP_NORETRY and __GFP_NOMEMALLOC flags to the kmemleak
metadata allocations so that it has a smaller effect on the users of the
kernel slab allocator. Since kmemleak allocations can now fail more
often, this patch also reduces the verbosity by passing __GFP_NOWARN and
not dumping the stack trace when a kmemleak allocation fails.

Signed-off-by: Catalin Marinas <[email protected]>
Reported-by: Toralf Förster <[email protected]>
Acked-by: Pekka Enberg <[email protected]>
Acked-by: David Rientjes <[email protected]>
Cc: Ted Ts'o <[email protected]>
14 years agokmemleak: remove memset by using kzalloc
Jesper Juhl [Sat, 30 Oct 2010 21:43:05 +0000 (23:43 +0200)]
kmemleak: remove memset by using kzalloc

We don't need to memset if we just use kzalloc() rather than kmalloc() in
kmemleak_test_init().

Signed-off-by: Jesper Juhl <[email protected]>
Reviewed-by: Minchan Kim <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>