__raw_writel(__raw_readl(S3C64XX_WAKEUP_STAT), S3C64XX_WAKEUP_STAT);
  }
  
 -static int s3c64xx_pm_init(void)
 +int __init s3c64xx_pm_init(void)
 +{
 +      int i;
 +
 +      s3c_pm_init();
 +
 +      for (i = 0; i < ARRAY_SIZE(s3c64xx_always_on_pm_domains); i++)
 +              pm_genpd_init(&s3c64xx_always_on_pm_domains[i]->pd,
 +                            &pm_domain_always_on_gov, false);
 +
 +      for (i = 0; i < ARRAY_SIZE(s3c64xx_pm_domains); i++)
 +              pm_genpd_init(&s3c64xx_pm_domains[i]->pd, NULL, false);
 +
 +      if (dev_get_platdata(&s3c_device_fb.dev))
 +              pm_genpd_add_device(&s3c64xx_pm_f.pd, &s3c_device_fb.dev);
 +
 +      return 0;
 +}
 +
 +static __init int s3c64xx_pm_initcall(void)
  {
+       u32 val;
+ 
        pm_cpu_prep = s3c64xx_pm_prepare;
        pm_cpu_sleep = s3c64xx_cpu_suspend;
        pm_uart_udivslot = 1;