Commit 7704c095 authored by Stephen Warren's avatar Stephen Warren

ARM: remove struct sys_timer suspend and resume fields

These fields duplicate e.g. struct clock_event_device's suspend and
resume fields, so remove them now that nothing is using them. The aim
is to remove all fields from struct sys_timer except .init, then replace
the ARM machine descriptor's .timer field with a .init_time function
instead, and delete struct sys_timer.
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
parent 656c669b
...@@ -17,15 +17,6 @@ ...@@ -17,15 +17,6 @@
* Initialise the kernels jiffy timer source, claim interrupt * Initialise the kernels jiffy timer source, claim interrupt
* using setup_irq. This is called early on during initialisation * using setup_irq. This is called early on during initialisation
* while interrupts are still disabled on the local CPU. * while interrupts are still disabled on the local CPU.
* - suspend
* Suspend the kernel jiffy timer source, if necessary. This
* is called with interrupts disabled, after all normal devices
* have been suspended. If no action is required, set this to
* NULL.
* - resume
* Resume the kernel jiffy timer source, if necessary. This
* is called with interrupts disabled before any normal devices
* are resumed. If no action is required, set this to NULL.
* - offset * - offset
* Return the timer offset in microseconds since the last timer * Return the timer offset in microseconds since the last timer
* interrupt. Note: this must take account of any unprocessed * interrupt. Note: this must take account of any unprocessed
...@@ -33,8 +24,6 @@ ...@@ -33,8 +24,6 @@
*/ */
struct sys_timer { struct sys_timer {
void (*init)(void); void (*init)(void);
void (*suspend)(void);
void (*resume)(void);
}; };
extern void timer_tick(void); extern void timer_tick(void);
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include <linux/timex.h> #include <linux/timex.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/profile.h> #include <linux/profile.h>
#include <linux/syscore_ops.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/irq.h> #include <linux/irq.h>
...@@ -119,39 +118,6 @@ int __init register_persistent_clock(clock_access_fn read_boot, ...@@ -119,39 +118,6 @@ int __init register_persistent_clock(clock_access_fn read_boot,
return -EINVAL; return -EINVAL;
} }
#if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS)
static int timer_suspend(void)
{
if (system_timer->suspend)
system_timer->suspend();
return 0;
}
static void timer_resume(void)
{
if (system_timer->resume)
system_timer->resume();
}
#else
#define timer_suspend NULL
#define timer_resume NULL
#endif
static struct syscore_ops timer_syscore_ops = {
.suspend = timer_suspend,
.resume = timer_resume,
};
static int __init timer_init_syscore_ops(void)
{
register_syscore_ops(&timer_syscore_ops);
return 0;
}
device_initcall(timer_init_syscore_ops);
void __init time_init(void) void __init time_init(void)
{ {
system_timer = machine_desc->timer; system_timer = machine_desc->timer;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment