sparc64: Don't invoke power_init() from pcibios_init().
authorDavid S. Miller <davem@davemloft.net>
Sat, 30 Aug 2008 08:18:56 +0000 (01:18 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Aug 2008 08:18:56 +0000 (01:18 -0700)
That's just silly, use device_initcall() instead.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/power.c

index 218778617ee4dfba7e9f0655b88d4dcf40abef35..83c50a62970d6aa7e82464004973096e06fd1860 100644 (file)
@@ -799,8 +799,6 @@ static void __init pci_scan_each_controller_bus(void)
                pbm->scan_bus(pbm);
 }
 
-extern void power_init(void);
-
 static int __init pcibios_init(void)
 {
        pci_controller_probe();
@@ -809,8 +807,6 @@ static int __init pcibios_init(void)
 
        pci_scan_each_controller_bus();
 
-       power_init();
-
        return 0;
 }
 
index 3bb987a6d03cba183d94039c93e39d94f8bd7509..7536255ab573636a360fe32683afc5bdcafd5f82 100644 (file)
@@ -1,29 +1,22 @@
 /* power.c: Power management driver.
  *
- * Copyright (C) 1999, 2007 David S. Miller (davem@davemloft.net)
+ * Copyright (C) 1999, 2007, 2008 David S. Miller (davem@davemloft.net)
  */
 
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
-#include <linux/sched.h>
-#include <linux/signal.h>
-#include <linux/delay.h>
 #include <linux/interrupt.h>
 #include <linux/pm.h>
-#include <linux/syscalls.h>
 #include <linux/reboot.h>
 #include <linux/of_device.h>
 
-#include <asm/system.h>
 #include <asm/auxio.h>
 #include <asm/prom.h>
 #include <asm/io.h>
 #include <asm/sstate.h>
 #include <asm/reboot.h>
 
-#include <linux/unistd.h>
-
 /*
  * sysctl - toggle power-off restriction for serial console 
  * systems in machine_power_off()
@@ -111,8 +104,9 @@ static struct of_platform_driver power_driver = {
        },
 };
 
-void __init power_init(void)
+static int __init power_init(void)
 {
-       of_register_driver(&power_driver, &of_platform_bus_type);
-       return;
+       return of_register_driver(&power_driver, &of_platform_bus_type);
 }
+
+device_initcall(power_init);