From: Kevin Hilman <khilman@linaro.org>
To: Sourav Poddar <sourav.poddar@ti.com>
Cc: gregkh@linuxfoundation.org, tony@atomide.com,
rmk+kernel@arm.linux.org.uk, linux-serial@vger.kernel.org,
linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] driver: serial: omap: add prepare/complete callback for "no_console_suspend" case
Date: Thu, 18 Apr 2013 10:56:58 -0700 [thread overview]
Message-ID: <874nf367th.fsf@linaro.org> (raw)
In-Reply-To: <1366198467-6757-4-git-send-email-sourav.poddar@ti.com> (Sourav Poddar's message of "Wed, 17 Apr 2013 17:04:24 +0530")
Sourav Poddar <sourav.poddar@ti.com> writes:
> The patch adapt the serial core/driver to take care of the case when "no_console_suspend"
> is used in the bootargs. The patch will remove dependency to set od->flags to
> "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" in serial.c(non dt case) and omap_device.c(dt case).
>
> Prepare and complete callbacks will ensure that clocks remain active for the console
> uart when "no_console_suspend" is used in the bootargs.
>
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
This changelog needs a rework. The driver itself was not aware of
od->flags and omap_device stuff in general, so it's not really
relevant. The driver is also not directly managing clocks, int's only
doing runtime PM callbacks.
What you want to say in the changelog is that the driver manages
"no_console_suspend" by preventing runtime PM during the suspend path,
which forces the console UART to stay awake.
> ---
> drivers/tty/serial/omap-serial.c | 20 ++++++++++++++++++++
> 1 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
> index 08332f3..9ef80cf 100644
> --- a/drivers/tty/serial/omap-serial.c
> +++ b/drivers/tty/serial/omap-serial.c
> @@ -1278,6 +1278,24 @@ static struct uart_driver serial_omap_reg = {
> };
>
> #ifdef CONFIG_PM_SLEEP
> +static int serial_omap_prepare(struct device *dev)
> +{
> + struct uart_omap_port *up = dev_get_drvdata(dev);
> +
> + if (!console_suspend_enabled && uart_console(&up->port))
> + pm_runtime_disable(dev);
> +
> + return 0;
> +}
> +
> +static void serial_omap_complete(struct device *dev)
> +{
> + struct uart_omap_port *up = dev_get_drvdata(dev);
> +
> + if (!console_suspend_enabled && uart_console(&up->port))
> + pm_runtime_enable(dev);
> +}
> +
For compilation with !CONFIG_PM_SLEEP, you'll also need:
#else
#define serial_omap_prepare NULL
#define serial_omap_prepare NULL
#endif /* CONFIG_PM_SLEEP */
> static int serial_omap_suspend(struct device *dev)
> {
> struct uart_omap_port *up = dev_get_drvdata(dev);
> @@ -1632,6 +1650,8 @@ static const struct dev_pm_ops serial_omap_dev_pm_ops = {
> SET_SYSTEM_SLEEP_PM_OPS(serial_omap_suspend, serial_omap_resume)
> SET_RUNTIME_PM_OPS(serial_omap_runtime_suspend,
> serial_omap_runtime_resume, NULL)
> + .prepare = serial_omap_prepare,
> + .complete = serial_omap_complete,
> };
>
> #if defined(CONFIG_OF)
Kevin
next prev parent reply other threads:[~2013-04-18 17:56 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-17 11:34 [PATCH 0/6] Serial Omap fixes and cleanups Sourav Poddar
2013-04-17 11:34 ` [PATCH 1/6] driver: tty: serial: Move "uart_console" def to core header file Sourav Poddar
2013-04-17 11:34 ` [RFT/PATCH 2/6] driver: serial: mpc52xx_uart: Remove "uart_console" defintion Sourav Poddar
2013-04-18 3:56 ` Felipe Balbi
2013-04-18 5:17 ` Sourav Poddar
2013-04-18 10:50 ` Russell King - ARM Linux
2013-04-18 10:51 ` Sourav Poddar
2013-04-17 11:34 ` [PATCH 3/6] driver: serial: omap: add prepare/complete callback for "no_console_suspend" case Sourav Poddar
2013-04-18 3:58 ` Felipe Balbi
2013-04-18 12:07 ` Sourav Poddar
2013-04-18 13:06 ` Felipe Balbi
2013-04-18 17:56 ` Kevin Hilman [this message]
2013-04-18 18:11 ` Sourav Poddar
2013-04-18 21:56 ` Kevin Hilman
2013-04-17 11:34 ` [PATCH 4/6] arm: mach-omap2: remove "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check Sourav Poddar
2013-04-18 18:05 ` Kevin Hilman
2013-04-18 19:02 ` Sourav Poddar
2013-04-18 22:03 ` Kevin Hilman
2013-04-19 13:55 ` Sourav Poddar
2013-04-19 14:52 ` Kevin Hilman
2013-04-22 5:50 ` Sourav Poddar
2013-04-17 11:34 ` [PATCH 5/6] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
2013-04-17 11:34 ` [PATCH 6/6] arm: mach-omap2: Remove "no_console_suspend" Sourav Poddar
2013-04-18 18:09 ` Kevin Hilman
2013-04-18 19:09 ` Sourav Poddar
2013-04-18 18:11 ` Kevin Hilman
2013-04-18 19:11 ` Sourav Poddar
2013-04-18 18:23 ` [PATCH 0/6] Serial Omap fixes and cleanups Kevin Hilman
2013-04-18 19:17 ` Sourav Poddar
2013-04-19 12:02 ` Grygorii Strashko
2013-04-19 14:04 ` Sourav Poddar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874nf367th.fsf@linaro.org \
--to=khilman@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=sourav.poddar@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).