* [PATCHv5 0/3] Omap serial cleanup
@ 2013-04-26 20:25 Sourav Poddar
2013-04-26 20:25 ` [PATCH 1/3] arm: omap2+: serial: remove no_console_suspend support Sourav Poddar
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Sourav Poddar @ 2013-04-26 20:25 UTC (permalink / raw)
To: gregkh, tony, rmk+kernel, khilman
Cc: linux-serial, linux-omap, linux-kernel, Sourav Poddar,
Santosh Shilimkar, Felipe Balbi, Rajendra nayak
This is a cleanup series done in response to the
serial driver fixes done for "no_console_suspend" case.
This cleanups mainly include getting
rid of using "omap_device_disable_idle_on_suspend" api for both dt and non dt case
as the serial driver will be self sufficient to handle the "no_idle_on_suspend" issue.
Serial was the only one making use of "omap_device_disable_idle_on_suspend"
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Rajendra nayak <rnayak@ti.com>
Test info
Omap4430sdp:
- Tested wakeup from UART after suspend for dt and non dt case.
Omap5430evm:
- Tested wakeup from UART after suspend for dt case.
These patches were the part of the bigger series[2]. Breaking them into
two relevant series as they go through the different tree.
[2]: http://lkml.org/lkml/2013/4/26/274
The following changes since commit 824282ca7d250bd7c301f221c3cd902ce906d731:
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus (2013-04-22 15:00:59 -0700)
are available in the git repository at:
git://gitorious.org/linux-connectivity/linux-connectivity.git omap_serial_cleanup
Sourav Poddar (3):
arm: omap2+: serial: remove no_console_suspend support
arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property.
arm: omap2+: omap_device: remove no_idle_on_suspend
arch/arm/boot/dts/am33xx.dtsi | 1 -
arch/arm/mach-omap2/omap_device.c | 9 ++-------
arch/arm/mach-omap2/omap_device.h | 10 ----------
arch/arm/mach-omap2/serial.c | 7 -------
4 files changed, 2 insertions(+), 25 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] arm: omap2+: serial: remove no_console_suspend support
2013-04-26 20:25 [PATCHv5 0/3] Omap serial cleanup Sourav Poddar
@ 2013-04-26 20:25 ` Sourav Poddar
2013-04-26 20:25 ` [PATCH 2/3] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
2013-04-26 20:25 ` [PATCH 3/3] arm: omap2+: omap_device: remove no_idle_on_suspend Sourav Poddar
2 siblings, 0 replies; 4+ messages in thread
From: Sourav Poddar @ 2013-04-26 20:25 UTC (permalink / raw)
To: gregkh, tony, rmk+kernel, khilman
Cc: linux-serial, linux-omap, linux-kernel, Sourav Poddar,
Santosh Shilimkar, Felipe Balbi, Rajendra nayak
"no_console_suspend" is no longer handled in platform file,
Since the omap serial driver is now adapted to prevent
console UART idleing during suspend.
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Rajendra nayak <rnayak@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
---
arch/arm/mach-omap2/serial.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 8396b5b..25fb6e9 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -63,7 +63,6 @@ struct omap_uart_state {
static LIST_HEAD(uart_list);
static u8 num_uarts;
static u8 console_uart_id = -1;
-static u8 no_console_suspend;
static u8 uart_debug;
#define DEFAULT_RXDMA_POLLRATE 1 /* RX DMA polling rate (us) */
@@ -236,9 +235,6 @@ static int __init omap_serial_early_init(void)
uart_name, uart->num);
}
- if (cmdline_find_option("no_console_suspend"))
- no_console_suspend = true;
-
/*
* omap-uart can be used for earlyprintk logs
* So if omap-uart is used as console then prevent
@@ -323,9 +319,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
return;
}
- if ((console_uart_id == bdata->id) && no_console_suspend)
- omap_device_disable_idle_on_suspend(pdev);
-
oh->mux = omap_hwmod_mux_init(bdata->pads, bdata->pads_cnt);
if (console_uart_id == bdata->id) {
--
1.7.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/3] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property.
2013-04-26 20:25 [PATCHv5 0/3] Omap serial cleanup Sourav Poddar
2013-04-26 20:25 ` [PATCH 1/3] arm: omap2+: serial: remove no_console_suspend support Sourav Poddar
@ 2013-04-26 20:25 ` Sourav Poddar
2013-04-26 20:25 ` [PATCH 3/3] arm: omap2+: omap_device: remove no_idle_on_suspend Sourav Poddar
2 siblings, 0 replies; 4+ messages in thread
From: Sourav Poddar @ 2013-04-26 20:25 UTC (permalink / raw)
To: gregkh, tony, rmk+kernel, khilman
Cc: linux-serial, linux-omap, linux-kernel, Sourav Poddar,
Benoit Cousson, Santosh Shilimkar, Felipe Balbi, Rajendra nayak
The "ti,no_idle_on_suspend" property was required to keep ocmcram clocks
running during idle.
But commit 72bb6f9 (ARM: OMAP: omap_device: don't attempt late suspend
if no driver bound), added in v3.6 should prevent any automatic clock
gating for devices without drivers bound. Since there is no driver for
the OCM RAM block, we are not affected by the automatic idle on suspend
anyways which means "ti,no_idle_on_suspend" can be safely removed since
there are no users for it.
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Rajendra nayak <rnayak@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
---
arch/arm/boot/dts/am33xx.dtsi | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 0957645..729ca24 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -390,7 +390,6 @@
compatible = "ti,am3352-ocmcram";
reg = <0x40300000 0x10000>;
ti,hwmods = "ocmcram";
- ti,no_idle_on_suspend;
};
wkup_m3: wkup_m3@44d00000 {
--
1.7.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 3/3] arm: omap2+: omap_device: remove no_idle_on_suspend
2013-04-26 20:25 [PATCHv5 0/3] Omap serial cleanup Sourav Poddar
2013-04-26 20:25 ` [PATCH 1/3] arm: omap2+: serial: remove no_console_suspend support Sourav Poddar
2013-04-26 20:25 ` [PATCH 2/3] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
@ 2013-04-26 20:25 ` Sourav Poddar
2 siblings, 0 replies; 4+ messages in thread
From: Sourav Poddar @ 2013-04-26 20:25 UTC (permalink / raw)
To: gregkh, tony, rmk+kernel, khilman
Cc: linux-serial, linux-omap, linux-kernel, Sourav Poddar,
Santosh Shilimkar, Felipe Balbi, Rajendra nayak,
Grygorii Strashko
Remove "no_idle_on_suspend" check, since respective
driver should be able to prevent idling of an
omap device whenever required.
Driver's can get same behavior by just returning -EBUSY
from their ->runtime_suspend only during suspend.
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Rajendra nayak <rnayak@ti.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
---
arch/arm/mach-omap2/omap_device.c | 9 ++-------
arch/arm/mach-omap2/omap_device.h | 10 ----------
2 files changed, 2 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
index 381be7a..7dc8551 100644
--- a/arch/arm/mach-omap2/omap_device.c
+++ b/arch/arm/mach-omap2/omap_device.c
@@ -170,9 +170,6 @@ static int omap_device_build_from_dt(struct platform_device *pdev)
r->name = dev_name(&pdev->dev);
}
- if (of_get_property(node, "ti,no_idle_on_suspend", NULL))
- omap_device_disable_idle_on_suspend(pdev);
-
pdev->dev.pm_domain = &omap_device_pm_domain;
odbfd_exit1:
@@ -621,8 +618,7 @@ static int _od_suspend_noirq(struct device *dev)
if (!ret && !pm_runtime_status_suspended(dev)) {
if (pm_generic_runtime_suspend(dev) == 0) {
- if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
- omap_device_idle(pdev);
+ omap_device_idle(pdev);
od->flags |= OMAP_DEVICE_SUSPENDED;
}
}
@@ -638,8 +634,7 @@ static int _od_resume_noirq(struct device *dev)
if ((od->flags & OMAP_DEVICE_SUSPENDED) &&
!pm_runtime_status_suspended(dev)) {
od->flags &= ~OMAP_DEVICE_SUSPENDED;
- if (!(od->flags & OMAP_DEVICE_NO_IDLE_ON_SUSPEND))
- omap_device_enable(pdev);
+ omap_device_enable(pdev);
pm_generic_runtime_resume(dev);
}
diff --git a/arch/arm/mach-omap2/omap_device.h b/arch/arm/mach-omap2/omap_device.h
index 044c31d..17ca1ae 100644
--- a/arch/arm/mach-omap2/omap_device.h
+++ b/arch/arm/mach-omap2/omap_device.h
@@ -38,7 +38,6 @@ extern struct dev_pm_domain omap_device_pm_domain;
/* omap_device.flags values */
#define OMAP_DEVICE_SUSPENDED BIT(0)
-#define OMAP_DEVICE_NO_IDLE_ON_SUSPEND BIT(1)
/**
* struct omap_device - omap_device wrapper for platform_devices
@@ -101,13 +100,4 @@ static inline struct omap_device *to_omap_device(struct platform_device *pdev)
{
return pdev ? pdev->archdata.od : NULL;
}
-
-static inline
-void omap_device_disable_idle_on_suspend(struct platform_device *pdev)
-{
- struct omap_device *od = to_omap_device(pdev);
-
- od->flags |= OMAP_DEVICE_NO_IDLE_ON_SUSPEND;
-}
-
#endif
--
1.7.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-04-26 20:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-26 20:25 [PATCHv5 0/3] Omap serial cleanup Sourav Poddar
2013-04-26 20:25 ` [PATCH 1/3] arm: omap2+: serial: remove no_console_suspend support Sourav Poddar
2013-04-26 20:25 ` [PATCH 2/3] arm: dts: am33xx: Remove "ti,no_idle_on_suspend" property Sourav Poddar
2013-04-26 20:25 ` [PATCH 3/3] arm: omap2+: omap_device: remove no_idle_on_suspend Sourav Poddar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®