|
@@ -17,7 +17,7 @@
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
-#include <linux/sysdev.h>
|
|
|
+#include <linux/syscore_ops.h>
|
|
|
#include <linux/err.h>
|
|
|
#include <linux/clk.h>
|
|
|
#include <linux/io.h>
|
|
@@ -1372,9 +1372,7 @@ static const struct dev_pm_ops omap_mpuio_dev_pm_ops = {
|
|
|
.resume_noirq = omap_mpuio_resume_noirq,
|
|
|
};
|
|
|
|
|
|
-/* use platform_driver for this, now that there's no longer any
|
|
|
- * point to sys_device (other than not disturbing old code).
|
|
|
- */
|
|
|
+/* use platform_driver for this. */
|
|
|
static struct platform_driver omap_mpuio_driver = {
|
|
|
.driver = {
|
|
|
.name = "mpuio",
|
|
@@ -1745,7 +1743,7 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
|
|
|
-static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
|
|
|
+static int omap_gpio_suspend(void)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -1795,12 +1793,12 @@ static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int omap_gpio_resume(struct sys_device *dev)
|
|
|
+static void omap_gpio_resume(void)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
if (!cpu_class_is_omap2() && !cpu_is_omap16xx())
|
|
|
- return 0;
|
|
|
+ return;
|
|
|
|
|
|
for (i = 0; i < gpio_bank_count; i++) {
|
|
|
struct gpio_bank *bank = &gpio_bank[i];
|
|
@@ -1836,21 +1834,13 @@ static int omap_gpio_resume(struct sys_device *dev)
|
|
|
__raw_writel(bank->saved_wakeup, wake_set);
|
|
|
spin_unlock_irqrestore(&bank->lock, flags);
|
|
|
}
|
|
|
-
|
|
|
- return 0;
|
|
|
}
|
|
|
|
|
|
-static struct sysdev_class omap_gpio_sysclass = {
|
|
|
- .name = "gpio",
|
|
|
+static struct syscore_ops omap_gpio_syscore_ops = {
|
|
|
.suspend = omap_gpio_suspend,
|
|
|
.resume = omap_gpio_resume,
|
|
|
};
|
|
|
|
|
|
-static struct sys_device omap_gpio_device = {
|
|
|
- .id = 0,
|
|
|
- .cls = &omap_gpio_sysclass,
|
|
|
-};
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_ARCH_OMAP2PLUS
|
|
@@ -2108,21 +2098,14 @@ postcore_initcall(omap_gpio_drv_reg);
|
|
|
|
|
|
static int __init omap_gpio_sysinit(void)
|
|
|
{
|
|
|
- int ret = 0;
|
|
|
-
|
|
|
mpuio_init();
|
|
|
|
|
|
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
|
|
|
- if (cpu_is_omap16xx() || cpu_class_is_omap2()) {
|
|
|
- if (ret == 0) {
|
|
|
- ret = sysdev_class_register(&omap_gpio_sysclass);
|
|
|
- if (ret == 0)
|
|
|
- ret = sysdev_register(&omap_gpio_device);
|
|
|
- }
|
|
|
- }
|
|
|
+ if (cpu_is_omap16xx() || cpu_class_is_omap2())
|
|
|
+ register_syscore_ops(&omap_gpio_syscore_ops);
|
|
|
#endif
|
|
|
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
arch_initcall(omap_gpio_sysinit);
|