diff options
Diffstat (limited to 'drivers/tty/serial/msm_serial.c')
-rw-r--r-- | drivers/tty/serial/msm_serial.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c index ee96cf0d0057..736b74fd6623 100644 --- a/drivers/tty/serial/msm_serial.c +++ b/drivers/tty/serial/msm_serial.c | |||
@@ -1812,11 +1812,34 @@ static const struct of_device_id msm_match_table[] = { | |||
1812 | }; | 1812 | }; |
1813 | MODULE_DEVICE_TABLE(of, msm_match_table); | 1813 | MODULE_DEVICE_TABLE(of, msm_match_table); |
1814 | 1814 | ||
1815 | static int __maybe_unused msm_serial_suspend(struct device *dev) | ||
1816 | { | ||
1817 | struct msm_port *port = dev_get_drvdata(dev); | ||
1818 | |||
1819 | uart_suspend_port(&msm_uart_driver, &port->uart); | ||
1820 | |||
1821 | return 0; | ||
1822 | } | ||
1823 | |||
1824 | static int __maybe_unused msm_serial_resume(struct device *dev) | ||
1825 | { | ||
1826 | struct msm_port *port = dev_get_drvdata(dev); | ||
1827 | |||
1828 | uart_resume_port(&msm_uart_driver, &port->uart); | ||
1829 | |||
1830 | return 0; | ||
1831 | } | ||
1832 | |||
1833 | static const struct dev_pm_ops msm_serial_dev_pm_ops = { | ||
1834 | SET_SYSTEM_SLEEP_PM_OPS(msm_serial_suspend, msm_serial_resume) | ||
1835 | }; | ||
1836 | |||
1815 | static struct platform_driver msm_platform_driver = { | 1837 | static struct platform_driver msm_platform_driver = { |
1816 | .remove = msm_serial_remove, | 1838 | .remove = msm_serial_remove, |
1817 | .probe = msm_serial_probe, | 1839 | .probe = msm_serial_probe, |
1818 | .driver = { | 1840 | .driver = { |
1819 | .name = "msm_serial", | 1841 | .name = "msm_serial", |
1842 | .pm = &msm_serial_dev_pm_ops, | ||
1820 | .of_match_table = msm_match_table, | 1843 | .of_match_table = msm_match_table, |
1821 | }, | 1844 | }, |
1822 | }; | 1845 | }; |