linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od
@ 2013-02-14 11:15 Felipe Balbi
  2013-02-14 11:20 ` Russell King - ARM Linux
                   ` (2 more replies)
  0 siblings, 3 replies; 70+ messages in thread
From: Felipe Balbi @ 2013-02-14 11:15 UTC (permalink / raw)
  To: linux-arm-kernel

Eventually, we need to be able to remove
ti,hwmods DT attribute (or at a minimum
ignore it).

For new platforms, this patch could enable
the transition by not relying on ti,hwmods
to have functioning PM and Idle implementation.

Notice that this poses no differences for
platforms which are already supported, it
just gives us means of dropping the relyance
on hwmod for new platforms.

NYET-Signed-off-by: Felipe Balbi <balbi@ti.com>
---
 arch/arm/mach-omap2/omap_device.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
index e065daa..305eeb4 100644
--- a/arch/arm/mach-omap2/omap_device.c
+++ b/arch/arm/mach-omap2/omap_device.c
@@ -796,13 +796,18 @@ static int __init omap_early_device_register(struct platform_device *pdev)
 static int _od_runtime_suspend(struct device *dev)
 {
 	struct platform_device *pdev = to_platform_device(dev);
+	struct omap_device *od = to_omap_device(pdev);
 	int ret;
 
 	ret = pm_generic_runtime_suspend(dev);
 
+	if (!od)
+		goto out;
+
 	if (!ret)
 		omap_device_idle(pdev);
 
+out:
 	return ret;
 }
 
@@ -814,9 +819,14 @@ static int _od_runtime_idle(struct device *dev)
 static int _od_runtime_resume(struct device *dev)
 {
 	struct platform_device *pdev = to_platform_device(dev);
+	struct omap_device *od = to_omap_device(pdev);
+
+	if (!od)
+		goto out;
 
 	omap_device_enable(pdev);
 
+out:
 	return pm_generic_runtime_resume(dev);
 }
 #endif
@@ -828,6 +838,9 @@ static int _od_suspend_noirq(struct device *dev)
 	struct omap_device *od = to_omap_device(pdev);
 	int ret;
 
+	if (!od)
+		return pm_generic_suspend_noirq(dev);
+
 	/* Don't attempt late suspend on a driver that is not bound */
 	if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER)
 		return 0;
@@ -850,6 +863,9 @@ static int _od_resume_noirq(struct device *dev)
 	struct platform_device *pdev = to_platform_device(dev);
 	struct omap_device *od = to_omap_device(pdev);
 
+	if (!od)
+		goto out;
+
 	if ((od->flags & OMAP_DEVICE_SUSPENDED) &&
 	    !pm_runtime_status_suspended(dev)) {
 		od->flags &= ~OMAP_DEVICE_SUSPENDED;
@@ -858,6 +874,7 @@ static int _od_resume_noirq(struct device *dev)
 		pm_generic_runtime_resume(dev);
 	}
 
+out:
 	return pm_generic_resume_noirq(dev);
 }
 #else
-- 
1.8.1.rc1.5.g7e0651a

^ permalink raw reply related	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2013-02-21 12:09 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-14 11:15 [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od Felipe Balbi
2013-02-14 11:20 ` Russell King - ARM Linux
2013-02-14 17:57   ` Felipe Balbi
     [not found] ` <1360840554-26901-2-git-send-email-balbi@ti.com>
2013-02-14 17:12   ` [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency Tony Lindgren
2013-02-14 17:56     ` Felipe Balbi
2013-02-14 18:12       ` Tony Lindgren
2013-02-14 19:27         ` Felipe Balbi
2013-02-14 19:39           ` Tony Lindgren
2013-02-14 20:47             ` Paul Walmsley
2013-02-14 21:40               ` Paul Walmsley
2013-02-14 22:47                 ` Tony Lindgren
2013-02-15  6:46                   ` Felipe Balbi
2013-02-15  7:29                     ` Santosh Shilimkar
2013-02-19 15:30                   ` Paul Walmsley
2013-02-19 15:45                     ` Russell King - ARM Linux
2013-02-19 16:30                       ` Tony Lindgren
2013-02-19 18:22                         ` Russell King - ARM Linux
2013-02-19 19:31                           ` Tony Lindgren
2013-02-19 19:43                             ` hwmod data duplication (was: Re: [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency) Felipe Balbi
2013-02-19 22:09                               ` Tony Lindgren
2013-02-19 22:22                                 ` Felipe Balbi
2013-02-19 22:31                                   ` Tony Lindgren
2013-02-19 22:51                                     ` Felipe Balbi
2013-02-15 10:26                 ` [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency Russell King - ARM Linux
2013-02-14 21:56               ` Paul Walmsley
2013-02-14 22:22               ` Tony Lindgren
2013-02-15  6:53                 ` Felipe Balbi
2013-02-15  7:27                   ` Bedia, Vaibhav
2013-02-19 15:27                 ` Paul Walmsley
2013-02-19 16:38                   ` Tony Lindgren
2013-02-19 16:57                     ` Felipe Balbi
2013-02-19 17:43                       ` Tony Lindgren
2013-02-19 18:34                         ` Felipe Balbi
2013-02-19 19:16                     ` Kevin Hilman
2013-02-19 19:32                       ` Felipe Balbi
2013-02-19 19:50                         ` Kevin Hilman
2013-02-19 20:10                           ` OMAP reset requirements (was: Re: [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency)^[:x Felipe Balbi
2013-02-19 20:25                             ` OMAP reset requirements Kevin Hilman
2013-02-20  6:26                       ` [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency Santosh Shilimkar
2013-02-15  6:44               ` Felipe Balbi
2013-02-15  7:27                 ` Bedia, Vaibhav
2013-02-20 17:38                 ` Paul Walmsley
2013-02-20 19:16                   ` Felipe Balbi
2013-02-20 20:03                     ` Paul Walmsley
2013-02-20 20:37                     ` Russell King - ARM Linux
2013-02-21 10:16                     ` Peter De Schrijver
2013-02-21 12:09                       ` Peter Korsgaard
2013-02-15 10:16               ` Russell King - ARM Linux
2013-02-15 13:26                 ` Santosh Shilimkar
2013-02-15 13:27                   ` Russell King - ARM Linux
2013-02-15 13:31                     ` Santosh Shilimkar
2013-02-15 16:30                       ` Tony Lindgren
2013-02-15 16:42                         ` Felipe Balbi
2013-02-16  6:01                           ` Santosh Shilimkar
2013-02-16  8:55                             ` Felipe Balbi
2013-02-16  9:17                               ` Santosh Shilimkar
2013-02-16  9:22                                 ` Felipe Balbi
2013-02-16  9:31                                   ` Santosh Shilimkar
2013-02-18 15:27                               ` Kevin Hilman
2013-02-16  5:31                         ` Santosh Shilimkar
2013-02-16  5:36                         ` Nicolas Pitre
2013-02-16  5:48                           ` Santosh Shilimkar
2013-02-18  8:08                             ` Bedia, Vaibhav
2013-02-18  8:28                               ` Santosh Shilimkar
2013-02-15 15:40   ` Kevin Hilman
2013-02-15 16:03     ` Felipe Balbi
2013-02-16  4:59     ` Santosh Shilimkar
2013-02-18 14:52       ` Kevin Hilman
2013-02-15 15:28 ` [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od Kevin Hilman
2013-02-15 16:04   ` Felipe Balbi

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).