forked from Minki/linux
GPMC suspend patch that was left out of the earlier
omap-for-v3.11/gpmc-signed branch because of a compile error it caused. The compile error is fixed in this version. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRwEBTAAoJEBvUPslcq6VzObAP/0oVkNu48xa0YKFWwvGOiKRo jlavXOgycPsG5BNPD6nPC+KAsFSy0cxG1aRiS2oyC3Q/VlqRJQnCaW786JDWDOGh q5ycZNTeJPGIrV6XdzGhD7MjDUM6YeZnkqC6LDy3hv+6LpObATlWBd/72/PJS+1X UsIVrTHnaQo1Jq5xOTQ2knauwPX35qcaCsPPDndTscvC6iio1USOTYtigBYmUeF/ sKAPHxSTwb/uQsd4c6YeocLxdrgGGkFDbf2pN+DQgx5TesvjG+xYMVibSQSsjfWj I+HkulYsFA4rOQvtqcb1/GG5w2VVLZqRBJQVlqshieGJXxdWWlSO0PPUGj2Hd14I jiD6kdEis+avMu/SCRLniZ7JQ1nXTJdyW+sEiwKtpfQC6wlHmF6ckUT0tvGx6d9k DO6QFnQgn6Pntt/JlZaETw9CSZbYzKwBI0P3cHNLlJP42cm6cqTmhxTJHrCq87m+ zFHSydwhWn3Dg1ckKDKqUSfC25qL4mSi6iZWvpzMoisIPWPM/oPGIHOwFCinIMEh VjtdS+xjkGkelO0mmLcQakRxyqxzwV8+ERBCAN3XX7xgDas6HDwfX2pQ5mln6wxv gG1gcnDi4DkaynfWsIJM4FGWw7Vm3PApI+eF6oK5pkL+15kzjdPly98iLO9Ulyy2 D22PyhC3hAt80yw4yZEj =IxbH -----END PGP SIGNATURE----- Merge tag 'omap-for-v3.11/gpmc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers From Tony Lindgren: GPMC suspend patch that was left out of the earlier omap-for-v3.11/gpmc-signed branch because of a compile error it caused. The compile error is fixed in this version. * tag 'omap-for-v3.11/gpmc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: gpmc: Low power transition support Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
8fe14e5a74
@ -1669,6 +1669,24 @@ static int gpmc_remove(struct platform_device *pdev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_PM_SLEEP
|
||||||
|
static int gpmc_suspend(struct device *dev)
|
||||||
|
{
|
||||||
|
omap3_gpmc_save_context();
|
||||||
|
pm_runtime_put_sync(dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int gpmc_resume(struct device *dev)
|
||||||
|
{
|
||||||
|
pm_runtime_get_sync(dev);
|
||||||
|
omap3_gpmc_restore_context();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static SIMPLE_DEV_PM_OPS(gpmc_pm_ops, gpmc_suspend, gpmc_resume);
|
||||||
|
|
||||||
static struct platform_driver gpmc_driver = {
|
static struct platform_driver gpmc_driver = {
|
||||||
.probe = gpmc_probe,
|
.probe = gpmc_probe,
|
||||||
.remove = gpmc_remove,
|
.remove = gpmc_remove,
|
||||||
@ -1676,6 +1694,7 @@ static struct platform_driver gpmc_driver = {
|
|||||||
.name = DEVICE_NAME,
|
.name = DEVICE_NAME,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.of_match_table = of_match_ptr(gpmc_dt_ids),
|
.of_match_table = of_match_ptr(gpmc_dt_ids),
|
||||||
|
.pm = &gpmc_pm_ops,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1738,7 +1757,6 @@ static irqreturn_t gpmc_handle_irq(int irq, void *dev)
|
|||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_OMAP3
|
|
||||||
static struct omap3_gpmc_regs gpmc_context;
|
static struct omap3_gpmc_regs gpmc_context;
|
||||||
|
|
||||||
void omap3_gpmc_save_context(void)
|
void omap3_gpmc_save_context(void)
|
||||||
@ -1803,4 +1821,3 @@ void omap3_gpmc_restore_context(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_ARCH_OMAP3 */
|
|
||||||
|
Loading…
Reference in New Issue
Block a user