Merge current mainline tree into linux-omap tree
[pandora-kernel.git] / arch / arm / mach-omap1 / pm.c
index c9c6d96..742f79e 100644 (file)
@@ -70,14 +70,14 @@ static unsigned int mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_SIZE];
 
 static unsigned short enable_dyn_sleep = 1;
 
-static ssize_t omap_pm_sleep_while_idle_show(struct kset *kset, char *buf)
+static ssize_t idle_show(struct kobject *kobj, struct kobj_attribute *attr,
+                        char *buf)
 {
        return sprintf(buf, "%hu\n", enable_dyn_sleep);
 }
 
-static ssize_t omap_pm_sleep_while_idle_store(struct kset *kset,
-                                             const char * buf,
-                                             size_t n)
+static ssize_t idle_store(struct kobject *kobj, struct kobj_attribute *attr,
+                         const char * buf, size_t n)
 {
        unsigned short value;
        if (sscanf(buf, "%hu", &value) != 1 ||
@@ -89,18 +89,11 @@ static ssize_t omap_pm_sleep_while_idle_store(struct kset *kset,
        return n;
 }
 
-static struct subsys_attribute sleep_while_idle_attr = {
-       .attr   = {
-               .name = __stringify(sleep_while_idle),
-               .mode = 0644,
-       },
-       .show   = omap_pm_sleep_while_idle_show,
-       .store  = omap_pm_sleep_while_idle_store,
-};
+static struct kobj_attribute sleep_while_idle_attr =
+       __ATTR(sleep_while_idle, 0644, idle_show, idle_store);
 
 #endif
 
-extern struct kset power_subsys;
 static void (*omap_sram_suspend)(unsigned long r0, unsigned long r1) = NULL;
 
 /*
@@ -123,13 +116,6 @@ void omap_pm_idle(void)
                return;
        }
 
-       /*
-        * Since an interrupt may set up a timer, we don't want to
-        * reprogram the hardware timer with interrupts enabled.
-        * Re-enable interrupts only after returning from idle.
-        */
-       timer_dyn_reprogram();
-
 #ifdef CONFIG_OMAP_MPU_TIMER
 #warning Enable 32kHz OS timer in order to allow sleep states in idle
        use_idlect1 = use_idlect1 & ~(1 << 9);
@@ -646,7 +632,7 @@ static void omap_pm_finish(void)
 }
 
 
-static irqreturn_t  omap_wakeup_interrupt(int irq, void *dev)
+static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
 {
        return IRQ_HANDLED;
 }
@@ -659,7 +645,7 @@ static struct irqaction omap_wakeup_irq = {
 
 
 
-static struct platform_suspend_ops omap_pm_ops = {
+static struct platform_suspend_ops omap_pm_ops ={
        .prepare        = omap_pm_prepare,
        .enter          = omap_pm_enter,
        .finish         = omap_pm_finish,
@@ -724,9 +710,9 @@ static int __init omap_pm_init(void)
 #endif
 
 #ifdef CONFIG_OMAP_32K_TIMER
-       error = subsys_create_file(&power_subsys, &sleep_while_idle_attr);
+       error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr);
        if (error)
-               printk(KERN_ERR "subsys_create_file failed: %d\n", error);
+               printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
 #endif
 
        if (cpu_is_omap16xx()) {