24 Jul, 2011

1 commit


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

    Thomas Gleixner
     

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

    Jamie Iles
     

10 Jun, 2011

1 commit


09 Jun, 2011

3 commits

  • Now that all extra ifdeffed implementations are gone, depend the lock
    export on PCSPKR_PLATFORM

    Signed-off-by: Thomas Gleixner
    Cc: Ralf Baechle
    Cc: Russell King

    Thomas Gleixner
     
  • 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

    Ralf Baechle
     
  • 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 Gleixner

    arch/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(-)

    Ralf Baechle
     

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

    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

    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
    ...

    Linus Torvalds
     
  • 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

    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

    Magnus Damm
     
  • 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

    Magnus Damm
     
  • 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

    Magnus Damm
     
  • 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

    Magnus Damm
     

14 May, 2011

2 commits


22 Feb, 2011

1 commit


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

    Voss, Nikolaus
     

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

    Konrad Rzeszutek Wilk
     

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

    Takashi YOSHII
     

31 Oct, 2010

1 commit


16 Aug, 2010

1 commit


04 Aug, 2010

2 commits


27 Jul, 2010

1 commit


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

    Andres Salomon
     

22 Jun, 2010

1 commit


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

    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

    Aurelien Jarno
     

20 May, 2010

1 commit


26 Apr, 2010

1 commit


15 Apr, 2010

1 commit


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 allmodconfig

    8. 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>

    Tejun Heo
     

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

    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

    Jens Rottmann
     

10 Mar, 2010

1 commit


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

    Randy Dunlap
     

02 Mar, 2010

1 commit


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.
    ...

    Linus Torvalds