Commit 6546327a authored by Thomas Gleixner's avatar Thomas Gleixner

arch: Cleanup enable/disable_hlt

enable/disable_hlt() does not need to be exported and can be killed on
architectures which do not use it at all.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Reviewed-by: default avatarCc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Link: http://lkml.kernel.org/r/20130321215233.377959540@linutronix.deSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 31880c37
...@@ -64,16 +64,12 @@ void disable_hlt(void) ...@@ -64,16 +64,12 @@ void disable_hlt(void)
hlt_counter++; hlt_counter++;
} }
EXPORT_SYMBOL(disable_hlt);
void enable_hlt(void) void enable_hlt(void)
{ {
hlt_counter--; hlt_counter--;
BUG_ON(hlt_counter < 0); BUG_ON(hlt_counter < 0);
} }
EXPORT_SYMBOL(enable_hlt);
static int __init nohlt_setup(char *__unused) static int __init nohlt_setup(char *__unused)
{ {
hlt_counter = 1; hlt_counter = 1;
......
...@@ -20,16 +20,14 @@ ...@@ -20,16 +20,14 @@
extern void stop_watchdog(void); extern void stop_watchdog(void);
extern int cris_hlt_counter;
/* We use this if we don't have any better idle routine. */ /* We use this if we don't have any better idle routine. */
void default_idle(void) void default_idle(void)
{ {
local_irq_disable(); local_irq_disable();
if (!need_resched() && !cris_hlt_counter) { if (!need_resched()) {
/* Halt until exception. */ /* Halt until exception. */
__asm__ volatile("ei \n\t" __asm__ volatile("ei \n\t"
"halt "); "halt ");
} }
local_irq_enable(); local_irq_enable();
} }
......
...@@ -65,13 +65,6 @@ static inline void release_thread(struct task_struct *dead_task) ...@@ -65,13 +65,6 @@ static inline void release_thread(struct task_struct *dead_task)
#define cpu_relax() barrier() #define cpu_relax() barrier()
/*
* disable hlt during certain critical i/o operations
*/
#define HAVE_DISABLE_HLT
void disable_hlt(void);
void enable_hlt(void);
void default_idle(void); void default_idle(void);
#endif /* __ASM_CRIS_PROCESSOR_H */ #endif /* __ASM_CRIS_PROCESSOR_H */
...@@ -29,31 +29,6 @@ ...@@ -29,31 +29,6 @@
//#define DEBUG //#define DEBUG
/*
* The hlt_counter, disable_hlt and enable_hlt is just here as a hook if
* there would ever be a halt sequence (for power save when idle) with
* some largish delay when halting or resuming *and* a driver that can't
* afford that delay. The hlt_counter would then be checked before
* executing the halt sequence, and the driver marks the unhaltable
* region by enable_hlt/disable_hlt.
*/
int cris_hlt_counter=0;
void disable_hlt(void)
{
cris_hlt_counter++;
}
EXPORT_SYMBOL(disable_hlt);
void enable_hlt(void)
{
cris_hlt_counter--;
}
EXPORT_SYMBOL(enable_hlt);
extern void default_idle(void); extern void default_idle(void);
void (*pm_power_off)(void); void (*pm_power_off)(void);
......
...@@ -160,8 +160,6 @@ unsigned long get_wchan(struct task_struct *p); ...@@ -160,8 +160,6 @@ unsigned long get_wchan(struct task_struct *p);
# define STACK_TOP TASK_SIZE # define STACK_TOP TASK_SIZE
# define STACK_TOP_MAX STACK_TOP # define STACK_TOP_MAX STACK_TOP
void disable_hlt(void);
void enable_hlt(void);
void default_idle(void); void default_idle(void);
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
......
...@@ -46,18 +46,6 @@ EXPORT_SYMBOL(pm_power_off); ...@@ -46,18 +46,6 @@ EXPORT_SYMBOL(pm_power_off);
static int hlt_counter = 1; static int hlt_counter = 1;
void disable_hlt(void)
{
hlt_counter++;
}
EXPORT_SYMBOL(disable_hlt);
void enable_hlt(void)
{
hlt_counter--;
}
EXPORT_SYMBOL(enable_hlt);
static int __init nohlt_setup(char *__unused) static int __init nohlt_setup(char *__unused)
{ {
hlt_counter = 1; hlt_counter = 1;
......
...@@ -935,8 +935,6 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle) ...@@ -935,8 +935,6 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle)
int timeout; int timeout;
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
if (num_online_cpus() == 1)
disable_hlt();
if (sleep_mode[cpu]) if (sleep_mode[cpu])
run_wakeup_cpu(cpu); run_wakeup_cpu(cpu);
#endif /* CONFIG_HOTPLUG_CPU */ #endif /* CONFIG_HOTPLUG_CPU */
...@@ -1003,9 +1001,6 @@ int __cpu_disable(void) ...@@ -1003,9 +1001,6 @@ int __cpu_disable(void)
void __cpu_die(unsigned int cpu) void __cpu_die(unsigned int cpu)
{ {
run_sleep_cpu(cpu); run_sleep_cpu(cpu);
if (num_online_cpus() == 1)
enable_hlt();
} }
#ifdef CONFIG_MN10300_CACHE_ENABLED #ifdef CONFIG_MN10300_CACHE_ENABLED
......
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