summaryrefslogtreecommitdiffstats
path: root/arch/arm/xen/enlighten.c
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-05-08 13:59:01 +0200
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-05-13 18:13:04 +0200
commit1aa3d8d9935dfb459d64f06ccd828b56147fd971 (patch)
treead07113278fbe2a251a49e147819469bd5724ee4 /arch/arm/xen/enlighten.c
parentxen/arm: remove duplicated include from enlighten.c (diff)
downloadlinux-1aa3d8d9935dfb459d64f06ccd828b56147fd971.tar.xz
linux-1aa3d8d9935dfb459d64f06ccd828b56147fd971.zip
xen/arm: initialize pm functions later
If we are running in dom0, we have to wait for the arch specific code to complete the initialization in order for us to successfully reset the power_off and pm_restart functions. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'arch/arm/xen/enlighten.c')
-rw-r--r--arch/arm/xen/enlighten.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index d30042e39974..83d13b0d5f74 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -272,12 +272,18 @@ static int __init xen_guest_init(void)
if (!xen_initial_domain())
xenbus_probe(NULL);
+ return 0;
+}
+core_initcall(xen_guest_init);
+
+static int __init xen_pm_init(void)
+{
pm_power_off = xen_power_off;
arm_pm_restart = xen_restart;
return 0;
}
-core_initcall(xen_guest_init);
+subsys_initcall(xen_pm_init);
static irqreturn_t xen_arm_callback(int irq, void *arg)
{