Commit cdb04527 authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds

[PATCH] kill include/linux/platform.h, default_idle() cleanup

include/linux/platform.h contained nothing that was actually used except
the default_idle() prototype, and is therefore removed by this patch.

This patch does the following with the platform specific default_idle()
functions on different architectures:
- remove the unused function:
  - parisc
  - sparc64
- make the needlessly global function static:
  - arm
  - h8300
  - m68k
  - m68knommu
  - s390
  - v850
  - x86_64
- add a prototype in asm/system.h:
  - cris
  - i386
  - ia64
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Acked-by: default avatarPatrick Mochel <mochel@digitalimplant.org>
Acked-by: default avatarKyle McMartin <kyle@parisc-linux.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 008accbb
...@@ -116,6 +116,7 @@ ...@@ -116,6 +116,7 @@
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/system.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/fs_struct.h> #include <linux/fs_struct.h>
...@@ -194,8 +195,6 @@ EXPORT_SYMBOL(enable_hlt); ...@@ -194,8 +195,6 @@ EXPORT_SYMBOL(enable_hlt);
*/ */
void (*pm_idle)(void); void (*pm_idle)(void);
extern void default_idle(void);
/* /*
* The idle thread. There's no useful work to be * The idle thread. There's no useful work to be
* done, so just try to conserve power and have a * done, so just try to conserve power and have a
......
...@@ -54,7 +54,7 @@ asmlinkage void ret_from_fork(void); ...@@ -54,7 +54,7 @@ asmlinkage void ret_from_fork(void);
* The idle loop on an H8/300.. * The idle loop on an H8/300..
*/ */
#if !defined(CONFIG_H8300H_SIM) && !defined(CONFIG_H8S_SIM) #if !defined(CONFIG_H8300H_SIM) && !defined(CONFIG_H8S_SIM)
void default_idle(void) static void default_idle(void)
{ {
local_irq_disable(); local_irq_disable();
if (!need_resched()) { if (!need_resched()) {
...@@ -65,7 +65,7 @@ void default_idle(void) ...@@ -65,7 +65,7 @@ void default_idle(void)
local_irq_enable(); local_irq_enable();
} }
#else #else
void default_idle(void) static void default_idle(void)
{ {
cpu_relax(); cpu_relax();
} }
......
...@@ -824,8 +824,6 @@ static void apm_do_busy(void) ...@@ -824,8 +824,6 @@ static void apm_do_busy(void)
static void (*original_pm_idle)(void); static void (*original_pm_idle)(void);
extern void default_idle(void);
/** /**
* apm_cpu_idle - cpu idling for APM capable Linux * apm_cpu_idle - cpu idling for APM capable Linux
* *
......
#include <linux/module.h> #include <linux/module.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/platform.h>
#include <asm/io.h> #include <asm/io.h>
#include "piix4.h" #include "piix4.h"
......
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/efi.h> #include <linux/efi.h>
#include <linux/initrd.h> #include <linux/initrd.h>
#include <linux/platform.h>
#include <linux/pm.h> #include <linux/pm.h>
#include <linux/cpufreq.h> #include <linux/cpufreq.h>
......
...@@ -77,7 +77,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk) ...@@ -77,7 +77,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
/* /*
* The idle loop on an m68k.. * The idle loop on an m68k..
*/ */
void default_idle(void) static void default_idle(void)
{ {
if (!need_resched()) if (!need_resched())
#if defined(MACH_ATARI_ONLY) && !defined(CONFIG_HADES) #if defined(MACH_ATARI_ONLY) && !defined(CONFIG_HADES)
......
...@@ -51,7 +51,7 @@ EXPORT_SYMBOL(pm_power_off); ...@@ -51,7 +51,7 @@ EXPORT_SYMBOL(pm_power_off);
/* /*
* The idle loop on an m68knommu.. * The idle loop on an m68knommu..
*/ */
void default_idle(void) static void default_idle(void)
{ {
local_irq_disable(); local_irq_disable();
while (!need_resched()) { while (!need_resched()) {
......
...@@ -54,11 +54,6 @@ ...@@ -54,11 +54,6 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/unwind.h> #include <asm/unwind.h>
void default_idle(void)
{
barrier();
}
/* /*
* The idle thread. There's no useful work to be * The idle thread. There's no useful work to be
* done, so just try to conserve power and have a * done, so just try to conserve power and have a
......
...@@ -103,7 +103,7 @@ extern void s390_handle_mcck(void); ...@@ -103,7 +103,7 @@ extern void s390_handle_mcck(void);
/* /*
* The idle loop on a S390... * The idle loop on a S390...
*/ */
void default_idle(void) static void default_idle(void)
{ {
int cpu, rc; int cpu, rc;
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/pm.h> #include <linux/pm.h>
#include <linux/ptrace.h> #include <linux/ptrace.h>
#include <linux/platform.h>
#include <linux/kallsyms.h> #include <linux/kallsyms.h>
#include <linux/kexec.h> #include <linux/kexec.h>
......
...@@ -37,7 +37,7 @@ extern void ret_from_fork (void); ...@@ -37,7 +37,7 @@ extern void ret_from_fork (void);
/* The idle loop. */ /* The idle loop. */
void default_idle (void) static void default_idle (void)
{ {
while (! need_resched ()) while (! need_resched ())
asm ("halt; nop; nop; nop; nop; nop" ::: "cc"); asm ("halt; nop; nop; nop; nop; nop" ::: "cc");
......
...@@ -114,7 +114,7 @@ void exit_idle(void) ...@@ -114,7 +114,7 @@ void exit_idle(void)
* We use this if we don't have any better * We use this if we don't have any better
* idle routine.. * idle routine..
*/ */
void default_idle(void) static void default_idle(void)
{ {
local_irq_enable(); local_irq_enable();
......
...@@ -71,4 +71,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz ...@@ -71,4 +71,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
#define arch_align_stack(x) (x) #define arch_align_stack(x) (x)
void default_idle(void);
#endif #endif
...@@ -499,4 +499,6 @@ static inline void sched_cacheflush(void) ...@@ -499,4 +499,6 @@ static inline void sched_cacheflush(void)
extern unsigned long arch_align_stack(unsigned long sp); extern unsigned long arch_align_stack(unsigned long sp);
extern void free_init_pages(char *what, unsigned long begin, unsigned long end); extern void free_init_pages(char *what, unsigned long begin, unsigned long end);
void default_idle(void);
#endif #endif
...@@ -265,6 +265,8 @@ void sched_cacheflush(void); ...@@ -265,6 +265,8 @@ void sched_cacheflush(void);
#define arch_align_stack(x) (x) #define arch_align_stack(x) (x)
void default_idle(void);
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
......
/*
* include/linux/platform.h - platform driver definitions
*
* Because of the prolific consumerism of the average American,
* and the dominant marketing budgets of PC OEMs, we have been
* blessed with frequent updates of the PC architecture.
*
* While most of these calls are singular per architecture, they
* require an extra layer of abstraction on the x86 so the right
* subsystem gets the right call.
*
* Basically, this consolidates the power off and reboot callbacks
* into one structure, as well as adding power management hooks.
*
* When adding a platform driver, please make sure all callbacks are
* filled. There are defaults defined below that do nothing; use those
* if you do not support that callback.
*/
#ifndef _PLATFORM_H_
#define _PLATFORM_H_
#ifdef __KERNEL__
#include <linux/types.h>
struct platform_t {
char * name;
u32 suspend_states;
void (*reboot)(char * cmd);
void (*halt)(void);
void (*power_off)(void);
int (*suspend)(int state, int flags);
void (*idle)(void);
};
extern struct platform_t * platform;
extern void default_reboot(char * cmd);
extern void default_halt(void);
extern int default_suspend(int state, int flags);
extern void default_idle(void);
#endif /* __KERNEL__ */
#endif /* _PLATFORM_H */
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