24 Jul, 2011
1 commit
-
…x/kernel/git/tip/linux-2.6-tip
* 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
clocksource: apb: Share APB timer code with other platforms
01 Jul, 2011
1 commit
-
arm, mips and x86 implement i8253 based clockevents. All the same code
copied. Create a common implementation in drivers/clocksource/i8253.c.About time to rename drivers/clocksource/ to something else.
Signed-off-by: Thomas Gleixner
Cc: Russell King
Cc: Ralf Baechle
Cc: John Stultz
Link: http://lkml.kernel.org/r/20110609130621.921710458@linutronix.de
28 Jun, 2011
1 commit
-
The APB timers are an IP block from Synopsys (DesignWare APB timers)
and are also found in other systems including ARM SoC's. This patch
adds functions for creating clock_event_devices and clocksources from
APB timers but does not do the resource allocation. This is handled
in a higher layer to allow the timers to be created from multiple
methods such as platform_devices.Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: "H. Peter Anvin"
Cc: Jacob Pan
Signed-off-by: Jamie Iles
Signed-off-by: John Stultz
10 Jun, 2011
1 commit
-
We don't want to add endless selects and module ifdefs.
Reported-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
09 Jun, 2011
3 commits
-
Now that all extra ifdeffed implementations are gone, depend the lock
export on PCSPKR_PLATFORMSigned-off-by: Thomas Gleixner
Cc: Ralf Baechle
Cc: Russell King -
Move them to drivers/clocksource/i8253.c and remove the
implementations in arch/[ tglx: Avoid the extra file in lib - folded arch patches in. The
export will become conditional in a later step ]Signed-off-by: Ralf Baechle
Link: http://lkml.kernel.org/r/20110601180610.221426078@duck.linux-mips.net
Cc: Russell King
Signed-off-by: Thomas Gleixner -
Signed-off-by: Ralf Baechle
Cc: linux-mips@linux-mips.org
Link: http://lkml.kernel.org/r/20110601180610.054254048@duck.linux-mips.net
Signed-off-by: Thomas Gleixnerarch/arm/mach-footbridge/isa-timer.c | 2 +-
arch/mips/cobalt/time.c | 2 +-
arch/mips/jazz/irq.c | 2 +-
arch/mips/kernel/i8253.c | 2 +-
arch/mips/mti-malta/malta-time.c | 2 +-
arch/mips/sgi-ip22/ip22-time.c | 2 +-
arch/mips/sni/time.c | 2 +-
arch/x86/kernel/apic/apic.c | 2 +-
arch/x86/kernel/apm_32.c | 2 +-
arch/x86/kernel/hpet.c | 2 +-
arch/x86/kernel/i8253.c | 2 +-
arch/x86/kernel/time.c | 2 +-
drivers/block/hd.c | 2 +-
drivers/clocksource/i8253.c | 2 +-
drivers/input/gameport/gameport.c | 2 +-
drivers/input/joystick/analog.c | 2 +-
drivers/input/misc/pcspkr.c | 2 +-
include/linux/i8253.h | 11 +++++++++++
sound/drivers/pcsp/pcsp.h | 2 +-
19 files changed, 29 insertions(+), 18 deletions(-)
31 May, 2011
2 commits
-
This reverts commit 01fa68b58492a5d6708a91c1f474b6a099a9509e.
The same note as per the sh_tmu change applies here, too.
Signed-off-by: Paul Mundt
-
This reverts commit 1b842e91fea9447eff5eb687e28ad61c02f5033e.
There is a fundamental ordering race between the early and late probe
paths and the runtime PM tie-in that results in __pm_runtime_resume()
attempting to take a lock that hasn't been initialized yet (which by
proxy also suggests that pm_runtime_init() hasn't yet been run on the
device either, making the entire thing unsafe) -- resulting in instant
death on SMP or on UP with spinlock debugging enabled:sh_tmu.0: used for clock events
sh_tmu.0: used for periodic clock events
BUG: spinlock trylock failure on UP on CPU#0, swapper/0
lock: 804db198, .magic: 00000000, .owner: /-1, .owner_cpu: 0
...Revert it for now until the ordering issues can be resolved, or we can get
some more help from the runtime PM framework to make this possible.Signed-off-by: Paul Mundt
24 May, 2011
2 commits
-
* 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
sh: Ignore R_SH_NONE module relocations.
SH: SE7751: Fix pcibios_map_platform_irq prototype.
sh: remove warning and warning_symbol from struct stacktrace_ops
sh: wire up sys_sendmmsg.
clocksource: sh_tmu: Runtime PM support
clocksource: sh_tmu: __clocksource_updatefreq_hz() update
clocksource: sh_cmt: Runtime PM support
clocksource: sh_cmt: __clocksource_updatefreq_hz() update
dmaengine: shdma: synchronize RCU before freeing, simplify spinlock
dmaengine: shdma: add runtime- and system-level power management
dmaengine: shdma: fix locking
sh: sh-sci: sh7377 and sh73a0 build fixes
sh: cosmetic improvement: use an existing pointer
serial: sh-sci: suspend/resume wakeup support V2
serial: sh-sci: Runtime PM support
sh: select IRQ_FORCED_THREADING.
sh: intc: Set virtual IRQs as nothread.
sh: fixup fpu.o compile order
i2c: add a module alias to the sh-mobile driver
ALSA: add a module alias to the FSI driver
... -
Add a generic mmio clocksource, covering both 32-bit and 16-bit register
access sizes, for up or down counters. This can be used to easily
create clocksources for simple counter-based implementations.Cc: Alessandro Rubini
Cc: Colin Cross
Cc: Eric Miao
Cc: Erik Gilling
Acked-by: "Hans J. Koch"
Cc: Imre Kaloz
Cc: Krzysztof Halasa
Cc: Kukjin Kim
Cc: Lennert Buytenhek
Cc: Linus Walleij
Cc: linux-omap@vger.kernel.org
Acked-by: Nicolas Pitre
Cc: Olof Johansson
Tested-by: Sascha Hauer
Reviewed-by: Thomas Gleixner
Tested-by: Tony Lindgren
Reviewed-by: Viresh Kumar
Cc: Wan ZongShun
Signed-off-by: Russell King
23 May, 2011
4 commits
-
Add Runtime PM support to the TMU driver.
The hardware device is enabled as long as the clocksource
or the clockevent portion of the driver is used.Signed-off-by: Magnus Damm
Acked-by: John Stultz
Signed-off-by: Paul Mundt -
This patch updates the clocksource part of the TMU driver
to make use of the __clocksource_updatefreq_hz() function.Without this patch the old code uses clocksource_register()
together with a hack that assumes a never changing clock rate
(see clk_enable(), clk_get_rate() and clk_disable()).The patch uses clocksource_register_hz() with 1 Hz as initial
value, then lets the ->enable() callback update the value
with __clocksource_updatefreq_hz() once the struct clk has
been enabled and the frequency is stable.Signed-off-by: Magnus Damm
Acked-by: John Stultz
Signed-off-by: Paul Mundt -
Add Runtime PM support to the CMT driver.
The hardware device is enabled as long as the clocksource
or the clockevent portion of the driver is used.Signed-off-by: Magnus Damm
Acked-by: John Stultz
Signed-off-by: Paul Mundt -
This patch updates the clocksource part of the CMT driver
to make use of the __clocksource_updatefreq_hz() function.Without this patch the old code uses clocksource_register()
together with a hack that assumes a never changing clock rate
(see clk_enable(), clk_get_rate() and clk_disable()).The patch uses clocksource_register_hz() with 1 Hz as initial
value, then lets the ->enable() callback update the value
with __clocksource_updatefreq_hz() once the struct clk has
been enabled and the frequency is stable.Signed-off-by: Magnus Damm
Acked-by: John Stultz
Signed-off-by: Paul Mundt
14 May, 2011
2 commits
-
…into timers/clocksource
Conflicts:
arch/ia64/kernel/cyclone.c
arch/mips/kernel/i8253.c
arch/x86/kernel/i8253.cReason: Resolve conflicts so further cleanups do not conflict further
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-
This is based upon both arch/arm/mach-footbridge/isa-timer.c and
arch/x86/kernel/i8253.c.Acked-by: John Stultz
Acked-by: Thomas Gleixner
Cc: "H. Peter Anvin"
Cc: Ingo Molnar
Cc: Ralf Baechle
Signed-off-by: Russell King
22 Feb, 2011
1 commit
-
This converts the remaining x86 clocksources to use
clocksource_register_hz/khz.CC: jacob.jun.pan@intel.com
CC: Glauber Costa
CC: Dimitri Sivanich
CC: Rusty Russell
CC: Jeremy Fitzhardinge
CC: Chris McDermott
CC: Thomas Gleixner
Tested-by: Konrad Rzeszutek Wilk [xen]
Signed-off-by: John Stultz
26 Jan, 2011
1 commit
-
setup_irq() was called before clockevents_register_device() which is
needed by the irq handler. Bug was reproducible by restarting the
kernel using kexec (reliable crash).Signed-off-by: Nikolaus Voss
Cc: David Brownell
Cc: Haavard Skinnemoen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 Jan, 2011
1 commit
-
If the acpi pm timer throws invalid data, clear pmtmr_ioport
so the pm timer won't accidentally be used.This was found when using Xen where there is a acpi pm reported,
but gives bogus values, and other code was continuing to try
to use the pm timer after the initialization failed.[jstultz: Catch additional failure and reword changelog message. ]
Signed-off-by: Konrad Rzeszutek Wilk
Signed-off-by: John Stultz
LKML-Reference:
Signed-off-by: Thomas Gleixner
17 Dec, 2010
1 commit
-
There are control flow that sh_cmt_set_next() does double
spin-lock. The callers sh_cmt_{start,stop}() already have
lock. But another callers sh_cmt_clock_event_{start,next}()
does not.Now sh_cmt_set_next() does not lock by itself. All the
callers should hold spin-lock before calling it.[damm@opensource.se: use __sh_cmt_set_next() to simplify code]
[damm@opensource.se: added stable, suitable for v2.6.35 + v2.6.36]
Cc: stable@kernel.org
Signed-off-by: Takashi YOSHII
Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
31 Oct, 2010
1 commit
-
Now when the SH-Mobile ARM platforms have been converted
to use device name it is possible to remove "clk" from
struct sh_timer_config.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
16 Aug, 2010
1 commit
-
Conflicts:
arch/sh/include/asm/Kbuild
drivers/MakefileSigned-off-by: Paul Mundt
04 Aug, 2010
2 commits
-
Fix the rate calculation in the CMT driver.
Without this fix the clocksource runs way
too fast and we get a divide-by-zero error.Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt -
Fix a one-off error in the CMT driver V2. The match register
should be programmed with the period minus one.Many thanks to Eiraku-san for tracking down this issue.
Signed-off-by: Magnus Damm
Signed-off-by: Paul Mundt
27 Jul, 2010
1 commit
-
This converts the most common of the x86 clocksources over to use
clocksource_register_hz/khz.Signed-off-by: John Stultz
LKML-Reference:
Signed-off-by: Thomas Gleixner
21 Jul, 2010
1 commit
-
My Collabora address is no longer enabled - update the MODULE_AUTHOR
fields of drivers to my current email address.Signed-off-by: Andres Salomon
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 Jun, 2010
1 commit
-
The previous CMT fixup accidentally copied in the TMU shift value, reset
this back to its original value while preserving the TMU fix.Signed-off-by: Paul Mundt
02 Jun, 2010
2 commits
-
Based on the sh_tmu change in 66f49121ffa41a19c59965b31b046d8368fec3c7
("clocksource: sh_tmu: compute mult and shift before registration").
The same issues impact the sh_cmt driver, so we take the same approach
here.Cc: stable@kernel.org
Signed-off-by: Paul Mundt -
Since commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 ("nohz: Prevent
clocksource wrapping during idle"), the CPU of an R2D board never goes
to idle. This commit assumes that mult and shift are assigned before
the clocksource is registered. As a consequence the safe maximum sleep
time is negative and the CPU never goes into idle.This patch fixes the problem by moving mult and shift initialization
from sh_tmu_clocksource_enable() to sh_tmu_register_clocksource().Signed-off-by: Aurelien Jarno
Cc: stable@kernel.org
Signed-off-by: Paul Mundt
20 May, 2010
1 commit
-
…el/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
cs5535-clockevt: Free timer in IRQ setup error path
26 Apr, 2010
1 commit
-
Conflicts:
arch/sh/kernel/dwarf.c
drivers/dma/shdma.cSigned-off-by: Paul Mundt
15 Apr, 2010
1 commit
-
Make sure that the timer IRQs and IPIs aren't enabled for IRQ balancing.
IPIs are disabled as a result of being percpu while the timers simply
disable balancing outright.Signed-off-by: Paul Mundt
30 Mar, 2010
1 commit
-
…it slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.http://userweb.kernel.org/~tj/misc/slabh-sweep.py
The script does the followings.
* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.The conversion was done in the following steps.
1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.6. percpu.h was updated not to include slab.h.
7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
29 Mar, 2010
1 commit
-
We want to get rid of the clock string from platform data entirely,
depending on the clkdev-based clock lookup to do the right thing for us
instead.This converts all of the SH drivers to request their associated function
clocks directly, and if there is no match for that then we fall back on
the legacy lookup while warning about it. After all of the outstanding
CPUs have been converted to clkdev lookups the clock string will be
killed off completely.Signed-off-by: Paul Mundt
13 Mar, 2010
1 commit
-
Due to a hardware limitation cs5535_mfgpt_free_timer() cannot actually
release the timer hardware, but it will at least free the now unreferenced
struct associated with it so calling it is the cleaner thing to do.Signed-off-by: Jens Rottmann
Acked-by: Andres Salomon
Cc: Jordan Crouse
Cc: Ingo Molnar
Cc: john stultz
Signed-off-by: Andrew Morton
Signed-off-by: Thomas Gleixner
10 Mar, 2010
1 commit
-
There is no need to copy in the name from the sh timer config now that
dev_name() is available early. We prefer the dev_name() variant for
consistent naming.Signed-off-by: Paul Mundt
07 Mar, 2010
1 commit
-
Move the CS5535 MFGPT hrtimer kconfig option to be with the other MFGPT
options. This makes it easier to find and also removes it from the main
"Device Drivers" menu, where it should not have been.Signed-off-by: Randy Dunlap
Acked-by: Andres Salomon
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Mar, 2010
1 commit
-
* 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
posix-timers.c: Don't export local functions
clocksource: start CMT at clocksource resume
clocksource: add suspend callback
clocksource: add argument to resume callback
ntp: Cleanup xtime references in ntp.c
ntp: Make time_esterror and time_maxerror static
27 Feb, 2010
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (187 commits)
sh: remove dead LED code for migo-r and ms7724se
sh: ecovec build fix for CONFIG_I2C=n
sh: ecovec r-standby support
sh: ms7724se r-standby support
sh: SH-Mobile R-standby register save/restore
clocksource: Fix up a registration/IRQ race in the sh drivers.
sh: ms7724: modify scan_timing for KEYSC
sh: ms7724: Add sh_sir support
sh: mach-ecovec24: Add sh_sir support
sh: wire up SET/GET_UNALIGN_CTL.
sh: allow alignment fault mode to be configured at kernel boot.
sh: sh7724: Update FSI/SPU2 clock
sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec
sh: add sh7724 kick callback to clk_div4_table
sh: introduce struct clk_div4_table
sh: clock-cpg div4 set_rate() shift fix
sh: Turn on speculative return for SH7785 and SH7786
sh: Merge legacy and dynamic PMB modes.
sh: Use uncached I/O helpers in PMB setup.
sh: Provide uncached I/O helpers.
...