[PATCH] move pm_power_off and pm_idle declaration to common code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch broke UML build (and approx 15 other archs):

  dont-attempt-to-power-off-if-power-off-is-not-implemented.patch

  LD      .tmp_vmlinux1
kernel/built-in.o(.text+0x148e1): In function `sys_reboot':
kernel/sys.c:535: undefined reference to `pm_power_off'

So move declaration of pm_power_off (and with it pm_idle) from the
archs that do define it to kernel/sys.c.  This should fix the link
problem, and at the same time remove some duplication.

Signed-off-by: Miklos Szeredi <[email protected]>
---

Index: linux/kernel/sys.c
===================================================================
--- linux.orig/kernel/sys.c	2005-12-12 12:04:21.000000000 +0100
+++ linux/kernel/sys.c	2005-12-12 13:54:31.000000000 +0100
@@ -97,6 +97,18 @@ int cad_pid = 1;
 static struct notifier_block *reboot_notifier_list;
 static DEFINE_RWLOCK(notifier_lock);
 
+/*
+ * Powermanagement idle function, if any..
+ */
+void (*pm_idle)(void);
+EXPORT_SYMBOL(pm_idle);
+
+/*
+ * Power off function, if any
+ */
+void (*pm_power_off)(void);
+EXPORT_SYMBOL(pm_power_off);
+
 /**
  *	notifier_chain_register	- Add notifier to a notifier chain
  *	@list: Pointer to root list pointer
Index: linux/arch/frv/kernel/pm.c
===================================================================
--- linux.orig/arch/frv/kernel/pm.c	2005-12-06 14:08:49.000000000 +0100
+++ linux/arch/frv/kernel/pm.c	2005-12-12 13:50:46.000000000 +0100
@@ -26,8 +26,6 @@
 
 #include "local.h"
 
-void (*pm_power_off)(void);
-
 extern void frv_change_cmode(int);
 
 /*
Index: linux/arch/i386/kernel/reboot.c
===================================================================
--- linux.orig/arch/i386/kernel/reboot.c	2005-12-12 12:04:05.000000000 +0100
+++ linux/arch/i386/kernel/reboot.c	2005-12-12 13:51:34.000000000 +0100
@@ -19,12 +19,6 @@
 #include "mach_reboot.h"
 #include <linux/reboot_fixups.h>
 
-/*
- * Power off function, if any
- */
-void (*pm_power_off)(void);
-EXPORT_SYMBOL(pm_power_off);
-
 static int reboot_mode;
 static int reboot_thru_bios;
 
Index: linux/arch/powerpc/kernel/setup-common.c
===================================================================
--- linux.orig/arch/powerpc/kernel/setup-common.c	2005-12-12 12:04:07.000000000 +0100
+++ linux/arch/powerpc/kernel/setup-common.c	2005-12-12 14:30:54.000000000 +0100
@@ -30,6 +30,7 @@
 #include <linux/unistd.h>
 #include <linux/serial.h>
 #include <linux/serial_8250.h>
+#include <linux/pm.h>
 #include <asm/io.h>
 #include <asm/prom.h>
 #include <asm/processor.h>
@@ -124,7 +125,6 @@ void machine_power_off(void)
 EXPORT_SYMBOL_GPL(machine_power_off);
 
 void (*pm_power_off)(void) = machine_power_off;
-EXPORT_SYMBOL_GPL(pm_power_off);
 
 void machine_halt(void)
 {
Index: linux/arch/sparc/kernel/sparc_ksyms.c
===================================================================
--- linux.orig/arch/sparc/kernel/sparc_ksyms.c	2005-10-28 02:02:08.000000000 +0200
+++ linux/arch/sparc/kernel/sparc_ksyms.c	2005-12-12 14:09:25.000000000 +0100
@@ -324,8 +324,5 @@ EXPORT_SYMBOL(_Udiv);
 EXPORT_SYMBOL(do_BUG);
 #endif
 
-/* Sun Power Management Idle Handler */
-EXPORT_SYMBOL(pm_idle);
-
 /* Binfmt_misc needs this */
 EXPORT_SYMBOL(sys_close);
Index: linux/arch/x86_64/kernel/process.c
===================================================================
--- linux.orig/arch/x86_64/kernel/process.c	2005-12-12 12:04:08.000000000 +0100
+++ linux/arch/x86_64/kernel/process.c	2005-12-12 14:11:05.000000000 +0100
@@ -58,10 +58,6 @@ unsigned long kernel_thread_flags = CLON
 unsigned long boot_option_idle_override = 0;
 EXPORT_SYMBOL(boot_option_idle_override);
 
-/*
- * Powermanagement idle function, if any..
- */
-void (*pm_idle)(void);
 static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
 
 /*
Index: linux/arch/x86_64/kernel/reboot.c
===================================================================
--- linux.orig/arch/x86_64/kernel/reboot.c	2005-12-12 12:04:08.000000000 +0100
+++ linux/arch/x86_64/kernel/reboot.c	2005-12-12 14:10:41.000000000 +0100
@@ -16,11 +16,6 @@
 #include <asm/tlbflush.h>
 #include <asm/apic.h>
 
-/*
- * Power off function, if any
- */
-void (*pm_power_off)(void);
-
 static long no_idt[3];
 static enum { 
 	BOOT_TRIPLE = 't',
Index: linux/arch/parisc/kernel/parisc_ksyms.c
===================================================================
--- linux.orig/arch/parisc/kernel/parisc_ksyms.c	2005-10-28 02:02:08.000000000 +0200
+++ linux/arch/parisc/kernel/parisc_ksyms.c	2005-12-12 14:07:36.000000000 +0100
@@ -48,9 +48,6 @@ EXPORT_SYMBOL(strrchr);
 EXPORT_SYMBOL(strstr);
 EXPORT_SYMBOL(strpbrk);
 
-#include <linux/pm.h>
-EXPORT_SYMBOL(pm_power_off);
-
 #include <asm/atomic.h>
 EXPORT_SYMBOL(__xchg8);
 EXPORT_SYMBOL(__xchg32);
Index: linux/arch/x86_64/kernel/x8664_ksyms.c
===================================================================
--- linux.orig/arch/x86_64/kernel/x8664_ksyms.c	2005-12-06 14:08:50.000000000 +0100
+++ linux/arch/x86_64/kernel/x8664_ksyms.c	2005-12-12 14:20:43.000000000 +0100
@@ -58,8 +58,6 @@ EXPORT_SYMBOL(disable_irq);
 EXPORT_SYMBOL(disable_irq_nosync);
 EXPORT_SYMBOL(probe_irq_mask);
 EXPORT_SYMBOL(kernel_thread);
-EXPORT_SYMBOL(pm_idle);
-EXPORT_SYMBOL(pm_power_off);
 EXPORT_SYMBOL(get_cmos_time);
 
 EXPORT_SYMBOL(__down_failed);
Index: linux/arch/i386/mach-visws/reboot.c
===================================================================
--- linux.orig/arch/i386/mach-visws/reboot.c	2005-10-28 02:02:08.000000000 +0200
+++ linux/arch/i386/mach-visws/reboot.c	2005-12-12 13:56:27.000000000 +0100
@@ -6,9 +6,6 @@
 #include <asm/io.h>
 #include "piix4.h"
 
-void (*pm_power_off)(void);
-EXPORT_SYMBOL(pm_power_off);
-
 void machine_shutdown(void)
 {
 #ifdef CONFIG_SMP
Index: linux/arch/ppc/kernel/setup.c
===================================================================
--- linux.orig/arch/ppc/kernel/setup.c	2005-12-12 12:04:07.000000000 +0100
+++ linux/arch/ppc/kernel/setup.c	2005-12-12 14:27:42.000000000 +0100
@@ -18,6 +18,7 @@
 #include <linux/root_dev.h>
 #include <linux/cpu.h>
 #include <linux/console.h>
+#include <linux/pm.h>
 
 #include <asm/residual.h>
 #include <asm/io.h>
Index: linux/arch/sparc/kernel/process.c
===================================================================
--- linux.orig/arch/sparc/kernel/process.c	2005-12-06 14:08:50.000000000 +0100
+++ linux/arch/sparc/kernel/process.c	2005-12-12 14:09:43.000000000 +0100
@@ -43,19 +43,6 @@
 #include <asm/elf.h>
 #include <asm/unistd.h>
 
-/* 
- * Power management idle function 
- * Set in pm platform drivers (apc.c and pmc.c)
- */
-void (*pm_idle)(void);
-
-/* 
- * Power-off handler instantiation for pm.h compliance
- * This is done via auxio, but could be used as a fallback
- * handler when auxio is not present-- unused for now...
- */
-void (*pm_power_off)(void);
-
 /*
  * sysctl - toggle power-off restriction for serial console 
  * systems in machine_power_off()
Index: linux/arch/arm/kernel/process.c
===================================================================
--- linux.orig/arch/arm/kernel/process.c	2005-12-12 13:30:33.000000000 +0100
+++ linux/arch/arm/kernel/process.c	2005-12-12 13:32:14.000000000 +0100
@@ -27,6 +27,7 @@
 #include <linux/kallsyms.h>
 #include <linux/init.h>
 #include <linux/cpu.h>
+#include <linux/pm.h>
 
 #include <asm/system.h>
 #include <asm/io.h>
@@ -72,15 +73,6 @@ __setup("nohlt", nohlt_setup);
 __setup("hlt", hlt_setup);
 
 /*
- * The following aren't currently used.
- */
-void (*pm_idle)(void);
-EXPORT_SYMBOL(pm_idle);
-
-void (*pm_power_off)(void);
-EXPORT_SYMBOL(pm_power_off);
-
-/*
  * This is our default idle handler.  We need to disable
  * interrupts here to ensure we don't miss a wakeup call.
  */
Index: linux/arch/ia64/kernel/acpi.c
===================================================================
--- linux.orig/arch/ia64/kernel/acpi.c	2005-12-06 14:08:49.000000000 +0100
+++ linux/arch/ia64/kernel/acpi.c	2005-12-12 14:04:09.000000000 +0100
@@ -60,11 +60,6 @@
 
 #define PREFIX			"ACPI: "
 
-void (*pm_idle) (void);
-EXPORT_SYMBOL(pm_idle);
-void (*pm_power_off) (void);
-EXPORT_SYMBOL(pm_power_off);
-
 unsigned char acpi_kbd_controller_present = 1;
 unsigned char acpi_legacy_devices;
 
Index: linux/arch/ppc/kernel/ppc_ksyms.c
===================================================================
--- linux.orig/arch/ppc/kernel/ppc_ksyms.c	2005-12-12 12:04:07.000000000 +0100
+++ linux/arch/ppc/kernel/ppc_ksyms.c	2005-12-12 14:02:30.000000000 +0100
@@ -249,8 +249,6 @@ EXPORT_SYMBOL(kd_mksound);
 #endif
 EXPORT_SYMBOL(to_tm);
 
-EXPORT_SYMBOL(pm_power_off);
-
 EXPORT_SYMBOL(__ashrdi3);
 EXPORT_SYMBOL(__ashldi3);
 EXPORT_SYMBOL(__lshrdi3);
Index: linux/arch/i386/kernel/process.c
===================================================================
--- linux.orig/arch/i386/kernel/process.c	2005-12-12 12:04:05.000000000 +0100
+++ linux/arch/i386/kernel/process.c	2005-12-12 13:56:05.000000000 +0100
@@ -39,6 +39,7 @@
 #include <linux/ptrace.h>
 #include <linux/random.h>
 #include <linux/kprobes.h>
+#include <linux/pm.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -72,11 +73,6 @@ unsigned long thread_saved_pc(struct tas
 	return ((unsigned long *)tsk->thread.esp)[3];
 }
 
-/*
- * Powermanagement idle function, if any..
- */
-void (*pm_idle)(void);
-EXPORT_SYMBOL(pm_idle);
 static DEFINE_PER_CPU(unsigned int, cpu_idle_state);
 
 void disable_hlt(void)
Index: linux/arch/parisc/kernel/process.c
===================================================================
--- linux.orig/arch/parisc/kernel/process.c	2005-12-06 14:08:50.000000000 +0100
+++ linux/arch/parisc/kernel/process.c	2005-12-12 14:06:52.000000000 +0100
@@ -45,6 +45,7 @@
 #include <linux/stddef.h>
 #include <linux/unistd.h>
 #include <linux/kallsyms.h>
+#include <linux/pm.h>
 
 #include <asm/io.h>
 #include <asm/asm-offsets.h>
@@ -56,11 +57,6 @@
 
 static int hlt_counter;
 
-/*
- * Power off function, if any
- */ 
-void (*pm_power_off)(void);
-
 void disable_hlt(void)
 {
 	hlt_counter++;
Index: linux/arch/i386/mach-voyager/voyager_basic.c
===================================================================
--- linux.orig/arch/i386/mach-voyager/voyager_basic.c	2005-10-28 02:02:08.000000000 +0200
+++ linux/arch/i386/mach-voyager/voyager_basic.c	2005-12-12 13:56:52.000000000 +0100
@@ -31,12 +31,6 @@
 #include <asm/arch_hooks.h>
 #include <asm/i8253.h>
 
-/*
- * Power off function, if any
- */
-void (*pm_power_off)(void);
-EXPORT_SYMBOL(pm_power_off);
-
 int voyager_level = 0;
 
 struct voyager_SUS *voyager_SUS = NULL;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux