summaryrefslogtreecommitdiffstats
path: root/arch/arm/xen
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-05-08 11:59:01 +0000
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-05-13 16:13:04 +0000
commit1aa3d8d9935dfb459d64f06ccd828b56147fd971 (patch)
treead07113278fbe2a251a49e147819469bd5724ee4 /arch/arm/xen
parent9bc25a1d5f95f97e9e378620a46e954d3f842641 (diff)
downloadlinux-1aa3d8d9935dfb459d64f06ccd828b56147fd971.tar.gz
linux-1aa3d8d9935dfb459d64f06ccd828b56147fd971.tar.bz2
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')
-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)
{