arm: vexpress: Decouple vexpress-poweroff implementation from machine_desc
[deliverable/linux.git] / drivers / power / reset / vexpress-poweroff.c
index 465923aa3819483cbd45f7a7e51a07a6aa4bfaf1..469e6962b2cff16a6e6a4ff40c4a2c7d40b79ec1 100644 (file)
@@ -18,6 +18,8 @@
 #include <linux/stat.h>
 #include <linux/vexpress.h>
 
+#include <asm/system_misc.h>
+
 static void vexpress_reset_do(struct device *dev, const char *what)
 {
        int err = -ENOENT;
@@ -39,14 +41,14 @@ static void vexpress_reset_do(struct device *dev, const char *what)
 
 static struct device *vexpress_power_off_device;
 
-void vexpress_power_off(void)
+static void vexpress_power_off(void)
 {
        vexpress_reset_do(vexpress_power_off_device, "power off");
 }
 
 static struct device *vexpress_restart_device;
 
-void vexpress_restart(char str, const char *cmd)
+static void vexpress_restart(char str, const char *cmd)
 {
        vexpress_reset_do(vexpress_restart_device, "restart");
 }
@@ -103,14 +105,17 @@ static int vexpress_reset_probe(struct platform_device *pdev)
        switch (func) {
        case FUNC_SHUTDOWN:
                vexpress_power_off_device = &pdev->dev;
+               pm_power_off = vexpress_power_off;
                break;
        case FUNC_RESET:
                if (!vexpress_restart_device)
                        vexpress_restart_device = &pdev->dev;
+               arm_pm_restart = vexpress_restart;
                device_create_file(&pdev->dev, &dev_attr_active);
                break;
        case FUNC_REBOOT:
                vexpress_restart_device = &pdev->dev;
+               arm_pm_restart = vexpress_restart;
                device_create_file(&pdev->dev, &dev_attr_active);
                break;
        };
This page took 0.025523 seconds and 5 git commands to generate.