summaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorNagarjuna Kristam <nkristam@nvidia.com>2012-02-07 10:58:54 +0530
committerSimone Willett <swillett@nvidia.com>2012-02-09 16:05:14 -0800
commitfaaa975f6ff8719b2f1f2d3fa7bd69066362a171 (patch)
tree8997a249a5e383f876b03819a1ccc93b1bf8136d /drivers/tty
parent2ea18f70f16e7ad815bda8bbcdb3affcea6e7f8b (diff)
Revert "tty: serial: tegra: Add runtime PM support"
This reverts commit 944a82b32d44bae0acb56abf5fec33a1c696c362. Bug 934678 Change-Id: Icf6cbc2cd8dc22dcd3126f2da19923e7076c0071 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/79710 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/tegra_hsuart.c46
1 files changed, 7 insertions, 39 deletions
diff --git a/drivers/tty/serial/tegra_hsuart.c b/drivers/tty/serial/tegra_hsuart.c
index 0d5d855f97a0..04d007a03eb7 100644
--- a/drivers/tty/serial/tegra_hsuart.c
+++ b/drivers/tty/serial/tegra_hsuart.c
@@ -42,7 +42,6 @@
#include <linux/slab.h>
#include <linux/workqueue.h>
#include <linux/tegra_uart.h>
-#include <linux/pm_runtime.h>
#include <mach/dma.h>
#include <mach/clk.h>
@@ -636,12 +635,10 @@ static void tegra_uart_hw_deinit(struct tegra_uart_port *t)
unsigned char lsr;
unsigned char msr;
unsigned char mcr;
- struct uart_port *u;
/* Disable interrupts */
uart_writeb(t, 0, UART_IER);
- u = &t->uport;
lsr = uart_readb(t, UART_LSR);
if ((lsr & UART_LSR_TEMT) != UART_LSR_TEMT) {
msr = uart_readb(t, UART_MSR);
@@ -679,7 +676,7 @@ static void tegra_uart_hw_deinit(struct tegra_uart_port *t)
spin_unlock_irqrestore(&t->uport.lock, flags);
- pm_runtime_put_sync(u->dev);
+ clk_disable(t->clk);
}
static void tegra_uart_free_rx_dma_buffer(struct tegra_uart_port *t)
@@ -704,7 +701,6 @@ static void tegra_uart_free_rx_dma(struct tegra_uart_port *t)
static int tegra_uart_hw_init(struct tegra_uart_port *t)
{
unsigned char ier;
- struct uart_port *u;
dev_vdbg(t->uport.dev, "+tegra_uart_hw_init\n");
@@ -713,9 +709,8 @@ static int tegra_uart_hw_init(struct tegra_uart_port *t)
t->lcr_shadow = 0;
t->ier_shadow = 0;
t->baud = 0;
- u = &t->uport;
- pm_runtime_get_sync(u->dev);
+ clk_enable(t->clk);
/* Reset the UART controller to clear all previous status.*/
tegra_periph_reset_assert(t->clk);
@@ -1399,39 +1394,13 @@ static int __devexit tegra_uart_remove(struct platform_device *pdev);
static int tegra_uart_suspend(struct platform_device *pdev, pm_message_t state);
static int tegra_uart_resume(struct platform_device *pdev);
-#if defined(CONFIG_PM_RUNTIME)
-static int tegra_uart_runtime_suspend(struct device *dev)
-{
- struct platform_device *pdev = to_platform_device(dev);
- struct tegra_uart_port *t = platform_get_drvdata(pdev);
- clk_disable(t->clk);
- return 0;
-}
-
-static int tegra_uart_runtime_resume(struct device *dev)
-{
- struct platform_device *pdev = to_platform_device(dev);
- struct tegra_uart_port *t = platform_get_drvdata(pdev);
- clk_enable(t->clk);
- return 0;
-}
-
-static const struct dev_pm_ops tegra_uart_pm_ops = {
- .runtime_suspend = tegra_uart_runtime_suspend,
- .runtime_resume = tegra_uart_runtime_resume,
-};
-#endif
-
static struct platform_driver tegra_uart_platform_driver = {
.remove = tegra_uart_remove,
.probe = tegra_uart_probe,
.suspend = tegra_uart_suspend,
.resume = tegra_uart_resume,
.driver = {
- .name = "tegra_uart",
-#if defined(CONFIG_PM_RUNTIME)
- .pm = &tegra_uart_pm_ops
-#endif
+ .name = "tegra_uart"
}
};
@@ -1458,7 +1427,7 @@ static int tegra_uart_suspend(struct platform_device *pdev, pm_message_t state)
/* enable clock before calling suspend so that controller
register can be accessible */
if (t->uart_state == TEGRA_UART_CLOCK_OFF) {
- pm_runtime_get_sync(u->dev);
+ clk_enable(t->clk);
t->uart_state = TEGRA_UART_OPENED;
}
@@ -1496,7 +1465,6 @@ static int __devexit tegra_uart_remove(struct platform_device *pdev)
pr_err("Invalid Uart instance (%d)\n", pdev->id);
u = &t->uport;
- pm_runtime_disable(u->dev);
uart_remove_one_port(&tegra_uart_driver, u);
tegra_uart_free_rx_dma_buffer(t);
@@ -1583,8 +1551,8 @@ static int tegra_uart_probe(struct platform_device *pdev)
goto rx_dma_buff_fail;
}
}
- pm_runtime_enable(u->dev);
return ret;
+
rx_dma_buff_fail:
uart_remove_one_port(&tegra_uart_driver, u);
fail:
@@ -1616,7 +1584,7 @@ void tegra_uart_request_clock_off(struct uart_port *uport)
spin_unlock_irqrestore(&uport->lock, flags);
if (is_clk_disable)
- pm_runtime_put_sync(uport->dev);
+ clk_disable(t->clk);
return;
}
@@ -1640,7 +1608,7 @@ void tegra_uart_request_clock_on(struct uart_port *uport)
spin_unlock_irqrestore(&uport->lock, flags);
if (is_clk_enable)
- pm_runtime_get_sync(uport->dev);
+ clk_enable(t->clk);
return;
}