提交 cdb04527 编写于 作者: A Adrian Bunk 提交者: 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: NAdrian Bunk <bunk@stusta.de>
Acked-by: NPatrick Mochel <mochel@digitalimplant.org>
Acked-by: NKyle McMartin <kyle@parisc-linux.org>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 008accbb
......@@ -116,6 +116,7 @@
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
#include <asm/system.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/fs_struct.h>
......@@ -194,8 +195,6 @@ EXPORT_SYMBOL(enable_hlt);
*/
void (*pm_idle)(void);
extern void default_idle(void);
/*
* The idle thread. There's no useful work to be
* done, so just try to conserve power and have a
......
......@@ -54,7 +54,7 @@ asmlinkage void ret_from_fork(void);
* The idle loop on an H8/300..
*/
#if !defined(CONFIG_H8300H_SIM) && !defined(CONFIG_H8S_SIM)
void default_idle(void)
static void default_idle(void)
{
local_irq_disable();
if (!need_resched()) {
......@@ -65,7 +65,7 @@ void default_idle(void)
local_irq_enable();
}
#else
void default_idle(void)
static void default_idle(void)
{
cpu_relax();
}
......
......@@ -824,8 +824,6 @@ static void apm_do_busy(void)
static void (*original_pm_idle)(void);
extern void default_idle(void);
/**
* apm_cpu_idle - cpu idling for APM capable Linux
*
......
#include <linux/module.h>
#include <linux/smp.h>
#include <linux/delay.h>
#include <linux/platform.h>
#include <asm/io.h>
#include "piix4.h"
......
......@@ -41,7 +41,6 @@
#include <linux/serial_core.h>
#include <linux/efi.h>
#include <linux/initrd.h>
#include <linux/platform.h>
#include <linux/pm.h>
#include <linux/cpufreq.h>
......
......@@ -77,7 +77,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
/*
* The idle loop on an m68k..
*/
void default_idle(void)
static void default_idle(void)
{
if (!need_resched())
#if defined(MACH_ATARI_ONLY) && !defined(CONFIG_HADES)
......
......@@ -51,7 +51,7 @@ EXPORT_SYMBOL(pm_power_off);
/*
* The idle loop on an m68knommu..
*/
void default_idle(void)
static void default_idle(void)
{
local_irq_disable();
while (!need_resched()) {
......
......@@ -54,11 +54,6 @@
#include <asm/uaccess.h>
#include <asm/unwind.h>
void default_idle(void)
{
barrier();
}
/*
* The idle thread. There's no useful work to be
* done, so just try to conserve power and have a
......
......@@ -103,7 +103,7 @@ extern void s390_handle_mcck(void);
/*
* The idle loop on a S390...
*/
void default_idle(void)
static void default_idle(void)
{
int cpu, rc;
......
......@@ -19,7 +19,6 @@
#include <linux/slab.h>
#include <linux/pm.h>
#include <linux/ptrace.h>
#include <linux/platform.h>
#include <linux/kallsyms.h>
#include <linux/kexec.h>
......
......@@ -37,7 +37,7 @@ extern void ret_from_fork (void);
/* The idle loop. */
void default_idle (void)
static void default_idle (void)
{
while (! need_resched ())
asm ("halt; nop; nop; nop; nop; nop" ::: "cc");
......
......@@ -114,7 +114,7 @@ void exit_idle(void)
* We use this if we don't have any better
* idle routine..
*/
void default_idle(void)
static void default_idle(void)
{
local_irq_enable();
......
......@@ -71,4 +71,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
#define arch_align_stack(x) (x)
void default_idle(void);
#endif
......@@ -499,4 +499,6 @@ static inline void sched_cacheflush(void)
extern unsigned long arch_align_stack(unsigned long sp);
extern void free_init_pages(char *what, unsigned long begin, unsigned long end);
void default_idle(void);
#endif
......@@ -265,6 +265,8 @@ void sched_cacheflush(void);
#define arch_align_stack(x) (x)
void default_idle(void);
#endif /* __KERNEL__ */
#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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册