unsigned int wakeen1;
};
+#ifdef CONFIG_PM
+
static int sa1111_suspend(struct device *dev, u32 state, u32 level)
{
struct sa1111 *sachip = dev_get_drvdata(dev);
if (level != SUSPEND_DISABLE)
return 0;
- dev->saved_state = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL);
- if (!dev->saved_state)
+ save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL);
+ if (!save)
return -ENOMEM;
-
- save = (struct sa1111_save_data *)dev->saved_state;
+ dev->power.saved_state = save;
spin_lock_irqsave(&sachip->lock, flags);
if (level != RESUME_ENABLE)
return 0;
- save = (struct sa1111_save_data *)dev->saved_state;
+ save = (struct sa1111_save_data *)dev->power.saved_state;
if (!save)
return 0;
spin_unlock_irqrestore(&sachip->lock, flags);
- dev->saved_state = NULL;
+ dev->power.saved_state = NULL;
kfree(save);
return 0;
}
+#else /* !CONFIG_PM */
+#define sa1111_resume NULL
+#define sa1111_suspend NULL
+#endif /* !CONFIG_PM */
+
+
static int sa1111_probe(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);
__sa1111_remove(sachip);
dev_set_drvdata(dev, NULL);
- kfree(dev->saved_state);
- dev->saved_state = NULL;
+#ifdef CONFIG_PM
+ kfree(dev->power.saved_state);
+ dev->power.saved_state = NULL;
+#endif
}
return 0;