25 Feb, 2010

1 commit

  • All of the SH clocksource drivers follow the scheme that the IRQ is setup
    prior to registering the clockevent. The interrupt handler in the
    clockevent cases looks to the event handler function pointer being filled
    in by the registration code, permitting us to get in to situations where
    asserted IRQs step in to the handler before registration has had a chance
    to complete and hitting a NULL pointer deref.

    In practice this is not an issue for most platforms, but some of them
    with fairly special loaders (or that are chain-loading from another
    kernel) may enter in to this situation. This fixes up the oops reported
    by Rafael on hp6xx.

    Reported-and-tested-by: Rafael Ignacio Zurita
    Cc: stable@kernel.org
    Signed-off-by: Paul Mundt

    Paul Mundt
     

24 Jun, 2009

1 commit


17 Jun, 2009

1 commit

  • Modify the CMT and TMU drivers to disable interrupts when
    disabling the timer. Only using start/stop bits is not
    enough.

    This fixes a bootup hang on Migo-R when the CMT is replaced
    by TMU for clockevents but the CMT keeps on delivering irqs
    even though the timer start bit is off.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

14 Jun, 2009

1 commit


03 May, 2009

2 commits

  • All of the SH timers use a roughly identical structure for platform data,
    which presently is broken out for each block. Consolidate all of these
    definitions, as there is no reason for them to be broken out in the first
    place.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch adds a TMU driver for the SuperH architecture.

    The TMU driver is a platform driver with early platform
    support to allow using a TMU channel as clockevent or
    clocksource during system bootup or later.

    Clocksource or clockevent can be selected.
    Both periodic and oneshot clockevents are supported.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm