31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    license terms gnu general public license v2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 37 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Reviewed-by: Richard Fontana
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528170027.724130665@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

19 Dec, 2018

2 commits

  • The two drivers used for Ux500 sched_clock use two Kconfig
    symbols to select which of the two gets used as sched_clock.

    This isn't right: the workaround is trying to make sure that
    the NONSTOP timer is used for sched_clock in order to keep
    that clock ticking consistently over a suspend/resume
    cycle. (Otherwise sched_clock simply stops during suspend
    and continues after resume).

    This will notably affect any timetstamped debug prints,
    so that they show the absolute number of seconds since the
    system was booted and does not loose wall-clock time during
    suspend and resume as if time stood still.

    The real way to fix this problem is to make sched_clock
    take advantage of any NONSTOP clock source on the system
    and adjust accordingly, not to try to work around this by
    using a different sched_clock depending on what system
    we are compiling for. This can solve the problem for
    everyone instead of providing a local solution.

    Cc: Baolin Wang
    Signed-off-by: Linus Walleij
    Signed-off-by: Daniel Lezcano

    Linus Walleij
     
  • Demote the DBx500 PRCMU clocksource to quality 100 and
    mark it as NONSTOP so it will still be used for
    timekeeping across suspend/resume.

    The Nomadik MTU timer which has higher precision will
    be used when the system is up and running, thanks to
    the recent changes properly utilizing the suspend
    clocksources.

    This was discussed back in 2011 when the driver was
    written, but the infrastructure was not available
    upstream to use this timer properly. Now the
    infrastructure is there, so let's finalize the work.

    Cc: Baolin Wang
    Signed-off-by: Linus Walleij
    Reviewed-by: Baolin Wang
    Signed-off-by: Daniel Lezcano

    Linus Walleij
     

14 Jun, 2017

1 commit

  • The CLOCKSOURCE_OF_DECLARE macro is used widely for the timers to declare the
    clocksource at early stage. However, this macro is also used to initialize
    the clockevent if any, or the clockevent only.

    It was originally suggested to declare another macro to initialize a
    clockevent, so in order to separate the two entities even they belong to the
    same IP. This was not accepted because of the impact on the DT where splitting
    a clocksource/clockevent definition does not make sense as it is a Linux
    concept not a hardware description.

    On the other side, the clocksource has not interrupt declared while the
    clockevent has, so it is easy from the driver to know if the description is
    for a clockevent or a clocksource, IOW it could be implemented at the driver
    level.

    So instead of dealing with a named clocksource macro, let's use a more generic
    one: TIMER_OF_DECLARE.

    The patch has not functional changes.

    Signed-off-by: Daniel Lezcano
    Acked-by: Heiko Stuebner
    Acked-by: Neil Armstrong
    Acked-by: Arnd Bergmann
    Acked-by: Matthias Brugger
    Reviewed-by: Linus Walleij

    Daniel Lezcano
     

25 Dec, 2016

1 commit


28 Jun, 2016

2 commits

  • All the clocksource drivers's init function are now converted to return
    an error code. CLOCKSOURCE_OF_DECLARE is no longer used as well as the
    clksrc-of table.

    Let's convert back the names:
    - CLOCKSOURCE_OF_DECLARE_RET => CLOCKSOURCE_OF_DECLARE
    - clksrc-of-ret => clksrc-of

    Signed-off-by: Daniel Lezcano

    For exynos_mct and samsung_pwm_timer:
    Acked-by: Krzysztof Kozlowski

    For arch/arc:
    Acked-by: Vineet Gupta

    For mediatek driver:
    Acked-by: Matthias Brugger

    For the Rockchip-part
    Acked-by: Heiko Stuebner

    For STi :
    Acked-by: Patrice Chotard

    For the mps2-timer.c and versatile.c changes:
    Acked-by: Liviu Dudau

    For the OXNAS part :
    Acked-by: Neil Armstrong

    For LPC32xx driver:
    Acked-by: Sylvain Lemieux

    For Broadcom Kona timer change:
    Acked-by: Ray Jui

    For Sun4i and Sun5i:
    Acked-by: Chen-Yu Tsai

    For Meson6:
    Acked-by: Carlo Caione

    For Keystone:
    Acked-by: Santosh Shilimkar

    For NPS:
    Acked-by: Noam Camus

    For bcm2835:
    Acked-by: Eric Anholt

    Daniel Lezcano
     
  • The init functions do not return any error. They behave as the following:

    - panic, thus leading to a kernel crash while another timer may work and
    make the system boot up correctly

    or

    - print an error and let the caller unaware if the state of the system

    Change that by converting the init functions to return an error conforming
    to the CLOCKSOURCE_OF_RET prototype.

    Proper error handling (rollback, errno value) will be changed later case
    by case, thus this change just return back an error or success in the init
    function.

    Signed-off-by: Daniel Lezcano
    Acked-by: Linus Walleij

    Daniel Lezcano
     

02 Dec, 2015

1 commit

  • The ARM core kernel already calls clocksource_of_init() so why
    go to all the trouble of locating and probing this node in the
    machine. CLOCKSOURCE_OF_DECLARE() will take care of it in the
    clocksource driver, and thus we can also get rid of the
    dangling header file

    Suggested-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Daniel Lezcano
    Signed-off-by: Linus Walleij
    Signed-off-by: Arnd Bergmann

    Linus Walleij
     

31 Jul, 2013

1 commit


07 Jul, 2013

1 commit

  • Pull timer core updates from Thomas Gleixner:
    "The timer changes contain:

    - posix timer code consolidation and fixes for odd corner cases

    - sched_clock implementation moved from ARM to core code to avoid
    duplication by other architectures

    - alarm timer updates

    - clocksource and clockevents unregistration facilities

    - clocksource/events support for new hardware

    - precise nanoseconds RTC readout (Xen feature)

    - generic support for Xen suspend/resume oddities

    - the usual lot of fixes and cleanups all over the place

    The parts which touch other areas (ARM/XEN) have been coordinated with
    the relevant maintainers. Though this results in an handful of
    trivial to solve merge conflicts, which we preferred over nasty cross
    tree merge dependencies.

    The patches which have been committed in the last few days are bug
    fixes plus the posix timer lot. The latter was in akpms queue and
    next for quite some time; they just got forgotten and Frederic
    collected them last minute."

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
    hrtimer: Remove unused variable
    hrtimers: Move SMP function call to thread context
    clocksource: Reselect clocksource when watchdog validated high-res capability
    posix-cpu-timers: don't account cpu timer after stopped thread runtime accounting
    posix_timers: fix racy timer delta caching on task exit
    posix-timers: correctly get dying task time sample in posix_cpu_timer_schedule()
    selftests: add basic posix timers selftests
    posix_cpu_timers: consolidate expired timers check
    posix_cpu_timers: consolidate timer list cleanups
    posix_cpu_timer: consolidate expiry time type
    tick: Sanitize broadcast control logic
    tick: Prevent uncontrolled switch to oneshot mode
    tick: Make oneshot broadcast robust vs. CPU offlining
    x86: xen: Sync the CMOS RTC as well as the Xen wallclock
    x86: xen: Sync the wallclock when the system time is set
    timekeeping: Indicate that clock was set in the pvclock gtod notifier
    timekeeping: Pass flags instead of multiple bools to timekeeping_update()
    xen: Remove clock_was_set() call in the resume path
    hrtimers: Support resuming with two or more CPUs online (but stopped)
    timer: Fix jiffies wrap behavior of round_jiffies_common()
    ...

    Linus Torvalds
     

13 Jun, 2013

1 commit


27 May, 2013

2 commits


08 Apr, 2013

2 commits

  • mach/setup.h and mach/devices.h are only needed from inside of mach-ux500
    now, so we can simply move them out of the include/mach directory.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Arnd Bergmann
     
  • This removes and
    from the Ux500, merging them into the local include
    "db8500-regs.h" in mach-ux500. There is some impact
    outside the ux500 machine, but most of it is dealt with
    in earlier patches.

    Contains portions of a clean-up patch from Arnd Bergmann.

    Cc: Samuel Ortiz
    Cc: Ulf Hansson
    Acked-by: Mike Turquette
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Linus Walleij
     

02 Feb, 2012

1 commit


03 Jan, 2012

1 commit


03 Oct, 2011

1 commit

  • Based on a patch from Arnd Bergmann this fixes up the build
    problem of assigning a non-existing global when the ux500 PRCMU
    timer is not linked in by passing its base address to the init
    function. We also add a missing inclusion and
    staticize the dummy function.

    Cc: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Linus Walleij
     

22 Sep, 2011

1 commit