summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimone Willett <swillett@nvidia.com>2011-10-21 18:16:36 -0700
committerSimone Willett <swillett@nvidia.com>2011-10-21 18:24:00 -0700
commitad2b3d92215ca1e9b05a92bef4c243ac0633c562 (patch)
treef718a2e4f75b09ea677c3895f5dc7654f5215f23
parent55073629e710c2b77fa122268b266a82e2270259 (diff)
Revert "serial: tegra: Avoid sleeping in atomic context"
This reverts commit 7ebaaea25400d3708b6f3ac3585b61b65ab99a17. Change-Id: I38fd6ab994e819fc3a2c67a2fa870f226dfe0581 Reviewed-on: http://git-master/r/59772 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r--drivers/serial/tegra_hsuart.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/serial/tegra_hsuart.c b/drivers/serial/tegra_hsuart.c
index af957bdb8fc7..1744b0e0ac2a 100644
--- a/drivers/serial/tegra_hsuart.c
+++ b/drivers/serial/tegra_hsuart.c
@@ -632,12 +632,11 @@ static void tegra_uart_hw_deinit(struct tegra_uart_port *t)
/* Reset the Rx and Tx FIFOs */
tegra_fifo_reset(t, UART_FCR_CLEAR_XMIT | UART_FCR_CLEAR_RCVR);
+ clk_disable(t->clk);
t->baud = 0;
t->uart_state = TEGRA_UART_CLOSED;
spin_unlock_irqrestore(&t->uport.lock, flags);
-
- clk_disable(t->clk);
}
static void tegra_uart_free_rx_dma(struct tegra_uart_port *t)
@@ -1496,7 +1495,6 @@ void tegra_uart_request_clock_off(struct uart_port *uport)
{
unsigned long flags;
struct tegra_uart_port *t;
- bool is_clk_disable = false;
if (IS_ERR_OR_NULL(uport))
BUG();
@@ -1506,14 +1504,10 @@ void tegra_uart_request_clock_off(struct uart_port *uport)
t = container_of(uport, struct tegra_uart_port, uport);
spin_lock_irqsave(&uport->lock, flags);
if (t->uart_state == TEGRA_UART_OPENED) {
- is_clk_disable = true;
+ clk_disable(t->clk);
t->uart_state = TEGRA_UART_CLOCK_OFF;
}
spin_unlock_irqrestore(&uport->lock, flags);
-
- if (is_clk_disable)
- clk_disable(t->clk);
-
return;
}
@@ -1522,7 +1516,6 @@ void tegra_uart_request_clock_on(struct uart_port *uport)
{
unsigned long flags;
struct tegra_uart_port *t;
- bool is_clk_enable = false;
if (IS_ERR_OR_NULL(uport))
BUG();
@@ -1530,14 +1523,10 @@ void tegra_uart_request_clock_on(struct uart_port *uport)
t = container_of(uport, struct tegra_uart_port, uport);
spin_lock_irqsave(&uport->lock, flags);
if (t->uart_state == TEGRA_UART_CLOCK_OFF) {
- is_clk_enable = true;
+ clk_enable(t->clk);
t->uart_state = TEGRA_UART_OPENED;
}
spin_unlock_irqrestore(&uport->lock, flags);
-
- if (is_clk_enable)
- clk_enable(t->clk);
-
return;
}