aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/machdep.h
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-03-26 23:03:03 -0500
committerPaul Mackerras <paulus@samba.org>2006-03-26 23:03:03 -0500
commita0652fc9a28c3ef8cd59264bfcb089c44d1b0e06 (patch)
treea28527b65237b3067553a993f5ad06dfb24df044 /include/asm-powerpc/machdep.h
parent55aab8cd3a498201b769a19de861c77516bdfd45 (diff)
powerpc: Unify the 32 and 64 bit idle loops
This unifies the 32-bit (ARCH=ppc and ARCH=powerpc) and 64-bit idle loops. It brings over the concept of having a ppc_md.power_save function from 32-bit to ARCH=powerpc, which lets us get rid of native_idle(). With this we will also be able to simplify the idle handling for pSeries and cell. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/machdep.h')
-rw-r--r--include/asm-powerpc/machdep.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h
index 5348b820788c..21c8dc90d175 100644
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
@@ -158,6 +158,12 @@ struct machdep_calls {
158 /* Idle loop for this platform, leave empty for default idle loop */ 158 /* Idle loop for this platform, leave empty for default idle loop */
159 void (*idle_loop)(void); 159 void (*idle_loop)(void);
160 160
161 /*
162 * Function for waiting for work with reduced power in idle loop;
163 * called with interrupts disabled.
164 */
165 void (*power_save)(void);
166
161 /* Function to enable performance monitor counters for this 167 /* Function to enable performance monitor counters for this
162 platform, called once per cpu. */ 168 platform, called once per cpu. */
163 void (*enable_pmcs)(void); 169 void (*enable_pmcs)(void);
@@ -170,9 +176,6 @@ struct machdep_calls {
170 May be NULL. */ 176 May be NULL. */
171 void (*init)(void); 177 void (*init)(void);
172 178
173 void (*idle)(void);
174 void (*power_save)(void);
175
176 void (*heartbeat)(void); 179 void (*heartbeat)(void);
177 unsigned long heartbeat_reset; 180 unsigned long heartbeat_reset;
178 unsigned long heartbeat_count; 181 unsigned long heartbeat_count;
@@ -242,8 +245,8 @@ struct machdep_calls {
242#endif /* CONFIG_KEXEC */ 245#endif /* CONFIG_KEXEC */
243}; 246};
244 247
245extern void default_idle(void); 248extern void power4_idle(void);
246extern void native_idle(void); 249extern void ppc6xx_idle(void);
247 250
248extern struct machdep_calls ppc_md; 251extern struct machdep_calls ppc_md;
249extern char cmd_line[COMMAND_LINE_SIZE]; 252extern char cmd_line[COMMAND_LINE_SIZE];