Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / kernel / time / Kconfig
index 64051f4..83e158d 100644 (file)
@@ -26,13 +26,9 @@ config CLOCKSOURCE_VALIDATE_LAST_CYCLE
 config GENERIC_TIME_VSYSCALL
        bool
 
 config GENERIC_TIME_VSYSCALL
        bool
 
-# Old style timekeeping
-config ARCH_USES_GETTIMEOFFSET
-       bool
-
 # The generic clock events infrastructure
 config GENERIC_CLOCKEVENTS
 # The generic clock events infrastructure
 config GENERIC_CLOCKEVENTS
-       bool
+       def_bool !LEGACY_TIMER_TICK
 
 # Architecture can handle broadcast in a driver-agnostic way
 config ARCH_HAS_TICK_BROADCAST
 
 # Architecture can handle broadcast in a driver-agnostic way
 config ARCH_HAS_TICK_BROADCAST
@@ -61,6 +57,13 @@ config POSIX_CPU_TIMERS_TASK_WORK
        bool
        default y if POSIX_TIMERS && HAVE_POSIX_CPU_TIMERS_TASK_WORK
 
        bool
        default y if POSIX_TIMERS && HAVE_POSIX_CPU_TIMERS_TASK_WORK
 
+config LEGACY_TIMER_TICK
+       bool
+       help
+         The legacy timer tick helper is used by platforms that
+         lack support for the generic clockevent framework.
+         New platforms should use generic clockevents instead.
+
 if GENERIC_CLOCKEVENTS
 menu "Timers subsystem"
 
 if GENERIC_CLOCKEVENTS
 menu "Timers subsystem"
 
@@ -72,7 +75,6 @@ config TICK_ONESHOT
 
 config NO_HZ_COMMON
        bool
 
 config NO_HZ_COMMON
        bool
-       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
 
 choice
        select TICK_ONESHOT
 
 choice
@@ -87,7 +89,6 @@ config HZ_PERIODIC
 
 config NO_HZ_IDLE
        bool "Idle dynticks system (tickless idle)"
 
 config NO_HZ_IDLE
        bool "Idle dynticks system (tickless idle)"
-       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
        select NO_HZ_COMMON
        help
          This option enables a tickless idle system: timer interrupts
        select NO_HZ_COMMON
        help
          This option enables a tickless idle system: timer interrupts
@@ -99,7 +100,6 @@ config NO_HZ_IDLE
 config NO_HZ_FULL
        bool "Full dynticks system (tickless)"
        # NO_HZ_COMMON dependency
 config NO_HZ_FULL
        bool "Full dynticks system (tickless)"
        # NO_HZ_COMMON dependency
-       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
        # We need at least one periodic CPU for timekeeping
        depends on SMP
        depends on HAVE_CONTEXT_TRACKING
        # We need at least one periodic CPU for timekeeping
        depends on SMP
        depends on HAVE_CONTEXT_TRACKING
@@ -158,7 +158,6 @@ config CONTEXT_TRACKING_FORCE
 
 config NO_HZ
        bool "Old Idle dynticks config"
 
 config NO_HZ
        bool "Old Idle dynticks config"
-       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
        help
          This is the old config entry that enables dynticks idle.
          We keep it around for a little while to enforce backward
        help
          This is the old config entry that enables dynticks idle.
          We keep it around for a little while to enforce backward
@@ -166,7 +165,6 @@ config NO_HZ
 
 config HIGH_RES_TIMERS
        bool "High Resolution Timer Support"
 
 config HIGH_RES_TIMERS
        bool "High Resolution Timer Support"
-       depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
        help
          This option enables high resolution timer support. If your
        select TICK_ONESHOT
        help
          This option enables high resolution timer support. If your