[PATCH] serial/imx: enable the clock when we really use the uart port
Sascha Hauer
s.hauer at pengutronix.de
Wed May 2 04:19:02 EDT 2012
On Wed, May 02, 2012 at 04:19:30PM +0800, Huang Shijie wrote:
> The current code keeps the clock enabled even when we do not really
> use the uart port. But keep the clock enabled will consume some power.
>
> In order to save more power, disable the clock when we do not use
> the uart, and enable the clock when we really use the uart port.
>
> Signed-off-by: Huang Shijie <b32955 at freescale.com>
This conflicts with my series converting i.MX to the common clock
framework. Please lets delay this until this has been merged.
Sascha
> ---
> drivers/tty/serial/imx.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
> index e7fecee..f5dcdf6 100644
> --- a/drivers/tty/serial/imx.c
> +++ b/drivers/tty/serial/imx.c
> @@ -694,6 +694,8 @@ static int imx_startup(struct uart_port *port)
> int retval;
> unsigned long flags, temp;
>
> + clk_prepare_enable(sport->clk);
> +
> imx_setup_ufcr(sport, 0);
>
> /* disable the DREN bit (Data Ready interrupt enable) before
> @@ -877,6 +879,8 @@ static void imx_shutdown(struct uart_port *port)
> temp &= ~(UCR1_IREN);
>
> writel(temp, sport->port.membase + UCR1);
> +
> + clk_disable_unprepare(sport->clk);
> }
>
> static void
> @@ -1526,6 +1530,7 @@ static int serial_imx_probe(struct platform_device *pdev)
> goto deinit;
> platform_set_drvdata(pdev, &sport->port);
>
> + clk_disable_unprepare(sport->clk);
> return 0;
> deinit:
> if (pdata && pdata->exit)
> @@ -1552,7 +1557,6 @@ static int serial_imx_remove(struct platform_device *pdev)
>
> if (sport) {
> uart_remove_one_port(&imx_reg, &sport->port);
> - clk_disable_unprepare(sport->clk);
> clk_put(sport->clk);
> }
>
> --
> 1.7.3.2
>
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list