diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-25 12:58:50 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-25 17:06:40 -0800 |
commit | 962b0a884a4d18326596e0434d813c17d7f688ef (patch) | |
tree | 9bb5436e7c63d782b90884778c6c5b1eeee90ce8 /drivers/tty | |
parent | 6fad18fa51392c9847a4e3a95134b2e57155e563 (diff) |
Revert "serial: of-serial: fix up PM ops on no_console_suspend and port type"
This reverts commit 513e438581020334e0345561adeeeaefa36701be.
It's broken :(
Cc: Jingchang Lu <jingchang.lu@freescale.com>
Cc: Joseph Lo <josephl@nvidia.com>
Cc: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/of_serial.c | 53 |
1 files changed, 7 insertions, 46 deletions
diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c index fd00e252158..088907053ea 100644 --- a/drivers/tty/serial/of_serial.c +++ b/drivers/tty/serial/of_serial.c @@ -9,7 +9,6 @@ * 2 of the License, or (at your option) any later version. * */ -#include <linux/console.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/delay.h> @@ -249,48 +248,13 @@ static int of_platform_serial_remove(struct platform_device *ofdev) } #ifdef CONFIG_PM_SLEEP -#ifdef CONFIG_SERIAL_8250 -static void of_serial_suspend_8250(struct of_serial_info *info) -{ - struct uart_8250_port *port8250 = serial8250_get_port(info->line); - struct uart_port *port = &port8250->port; - - serial8250_suspend_port(info->line); - if (info->clk && (!uart_console(port) || console_suspend_enabled)) - clk_disable_unprepare(info->clk); -} - -static void of_serial_resume_8250(struct of_serial_info *info) -{ - struct uart_8250_port *port8250 = serial8250_get_port(info->line); - struct uart_port *port = &port8250->port; - - if (info->clk && (!uart_console(port) || console_suspend_enabled)) - clk_prepare_enable(info->clk); - - serial8250_resume_port(info->line); -} -#else -static inline void of_serial_suspend_8250(struct of_serial_info *info) -{ -} - -static inline void of_serial_resume_8250(struct of_serial_info *info) -{ -} -#endif - static int of_serial_suspend(struct device *dev) { struct of_serial_info *info = dev_get_drvdata(dev); - switch(info->type) { - case PORT_8250 ... PORT_MAX_8250: - of_serial_suspend_8250(info); - break; - default: - break; - } + serial8250_suspend_port(info->line); + if (info->clk) + clk_disable_unprepare(info->clk); return 0; } @@ -299,13 +263,10 @@ static int of_serial_resume(struct device *dev) { struct of_serial_info *info = dev_get_drvdata(dev); - switch(info->type) { - case PORT_8250 ... PORT_MAX_8250: - of_serial_resume_8250(info); - break; - default: - break; - } + if (info->clk) + clk_prepare_enable(info->clk); + + serial8250_resume_port(info->line); return 0; } |