All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: Linux OMAP Mailing List <linux-omap@vger.kernel.org>
Cc: Tony Lindgren <tony@atomide.com>,
	Linux ARM Kernel Mailing List
	<linux-arm-kernel@lists.infradead.org>,
	Felipe Balbi <balbi@ti.com>
Subject: [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od
Date: Thu, 14 Feb 2013 13:15:52 +0200	[thread overview]
Message-ID: <1360840554-26901-1-git-send-email-balbi@ti.com> (raw)

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


WARNING: multiple messages have this Message-ID (diff)
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od
Date: Thu, 14 Feb 2013 13:15:52 +0200	[thread overview]
Message-ID: <1360840554-26901-1-git-send-email-balbi@ti.com> (raw)

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

             reply	other threads:[~2013-02-14 11:16 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-14 11:15 Felipe Balbi [this message]
2013-02-14 11:15 ` [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od Felipe Balbi
2013-02-14 11:15 ` [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency Felipe Balbi
2013-02-14 17:12   ` Tony Lindgren
2013-02-14 17:12     ` Tony Lindgren
2013-02-14 17:56     ` Felipe Balbi
2013-02-14 17:56       ` Felipe Balbi
2013-02-14 18:12       ` Tony Lindgren
2013-02-14 18:12         ` Tony Lindgren
2013-02-14 19:27         ` Felipe Balbi
2013-02-14 19:27           ` Felipe Balbi
2013-02-14 19:39           ` Tony Lindgren
2013-02-14 19:39             ` Tony Lindgren
2013-02-14 20:47             ` Paul Walmsley
2013-02-14 20:47               ` Paul Walmsley
2013-02-14 21:40               ` Paul Walmsley
2013-02-14 21:40                 ` Paul Walmsley
2013-02-14 22:47                 ` Tony Lindgren
2013-02-14 22:47                   ` Tony Lindgren
2013-02-15  6:46                   ` Felipe Balbi
2013-02-15  6:46                     ` Felipe Balbi
2013-02-15  7:29                     ` Santosh Shilimkar
2013-02-15  7:29                       ` Santosh Shilimkar
2013-02-19 15:30                   ` Paul Walmsley
2013-02-19 15:30                     ` Paul Walmsley
2013-02-19 15:45                     ` Russell King - ARM Linux
2013-02-19 15:45                       ` Russell King - ARM Linux
2013-02-19 16:30                       ` Tony Lindgren
2013-02-19 16:30                         ` Tony Lindgren
2013-02-19 18:22                         ` Russell King - ARM Linux
2013-02-19 18:22                           ` Russell King - ARM Linux
2013-02-19 19:31                           ` Tony Lindgren
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 19:43                               ` Felipe Balbi
2013-02-19 22:09                               ` Tony Lindgren
2013-02-19 22:09                                 ` Tony Lindgren
2013-02-19 22:22                                 ` Felipe Balbi
2013-02-19 22:22                                   ` Felipe Balbi
2013-02-19 22:31                                   ` Tony Lindgren
2013-02-19 22:31                                     ` Tony Lindgren
2013-02-19 22:51                                     ` Felipe Balbi
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-15 10:26                   ` Russell King - ARM Linux
2013-02-14 21:56               ` Paul Walmsley
2013-02-14 21:56                 ` Paul Walmsley
2013-02-14 22:22               ` Tony Lindgren
2013-02-14 22:22                 ` Tony Lindgren
2013-02-15  6:53                 ` Felipe Balbi
2013-02-15  6:53                   ` Felipe Balbi
2013-02-15  7:27                   ` Bedia, Vaibhav
2013-02-15  7:27                     ` Bedia, Vaibhav
2013-02-19 15:27                 ` Paul Walmsley
2013-02-19 15:27                   ` Paul Walmsley
2013-02-19 16:38                   ` Tony Lindgren
2013-02-19 16:38                     ` Tony Lindgren
2013-02-19 16:57                     ` Felipe Balbi
2013-02-19 16:57                       ` Felipe Balbi
2013-02-19 17:43                       ` Tony Lindgren
2013-02-19 17:43                         ` Tony Lindgren
2013-02-19 18:34                         ` Felipe Balbi
2013-02-19 18:34                           ` Felipe Balbi
2013-02-19 19:16                     ` Kevin Hilman
2013-02-19 19:16                       ` Kevin Hilman
2013-02-19 19:32                       ` Felipe Balbi
2013-02-19 19:32                         ` Felipe Balbi
2013-02-19 19:50                         ` Kevin Hilman
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: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-19 20:25                               ` Kevin Hilman
2013-02-20  6:26                       ` [RFC/NOT FOR MERGING 2/3] serial: omap: remove hwmod dependency Santosh Shilimkar
2013-02-20  6:26                         ` Santosh Shilimkar
2013-02-15  6:44               ` Felipe Balbi
2013-02-15  6:44                 ` Felipe Balbi
2013-02-15  7:27                 ` Bedia, Vaibhav
2013-02-15  7:27                   ` Bedia, Vaibhav
2013-02-20 17:38                 ` Paul Walmsley
2013-02-20 17:38                   ` Paul Walmsley
2013-02-20 19:16                   ` Felipe Balbi
2013-02-20 19:16                     ` Felipe Balbi
2013-02-20 20:03                     ` Paul Walmsley
2013-02-20 20:03                       ` Paul Walmsley
2013-02-20 20:37                     ` Russell King - ARM Linux
2013-02-20 20:37                       ` Russell King - ARM Linux
2013-02-21 10:16                     ` Peter De Schrijver
2013-02-21 10:16                       ` Peter De Schrijver
2013-02-21 12:09                       ` Peter Korsgaard
2013-02-21 12:09                         ` Peter Korsgaard
2013-02-15 10:16               ` Russell King - ARM Linux
2013-02-15 10:16                 ` Russell King - ARM Linux
2013-02-15 13:26                 ` Santosh Shilimkar
2013-02-15 13:26                   ` Santosh Shilimkar
2013-02-15 13:27                   ` Russell King - ARM Linux
2013-02-15 13:27                     ` Russell King - ARM Linux
2013-02-15 13:31                     ` Santosh Shilimkar
2013-02-15 13:31                       ` Santosh Shilimkar
2013-02-15 16:30                       ` Tony Lindgren
2013-02-15 16:30                         ` Tony Lindgren
2013-02-15 16:42                         ` Felipe Balbi
2013-02-15 16:42                           ` Felipe Balbi
2013-02-16  6:01                           ` Santosh Shilimkar
2013-02-16  6:01                             ` Santosh Shilimkar
2013-02-16  8:55                             ` Felipe Balbi
2013-02-16  8:55                               ` Felipe Balbi
2013-02-16  9:17                               ` Santosh Shilimkar
2013-02-16  9:17                                 ` Santosh Shilimkar
2013-02-16  9:22                                 ` Felipe Balbi
2013-02-16  9:22                                   ` Felipe Balbi
2013-02-16  9:31                                   ` Santosh Shilimkar
2013-02-16  9:31                                     ` Santosh Shilimkar
2013-02-18 15:27                               ` Kevin Hilman
2013-02-18 15:27                                 ` Kevin Hilman
2013-02-16  5:31                         ` Santosh Shilimkar
2013-02-16  5:31                           ` Santosh Shilimkar
2013-02-16  5:36                         ` Nicolas Pitre
2013-02-16  5:36                           ` Nicolas Pitre
2013-02-16  5:48                           ` Santosh Shilimkar
2013-02-16  5:48                             ` Santosh Shilimkar
2013-02-18  8:08                             ` Bedia, Vaibhav
2013-02-18  8:08                               ` Bedia, Vaibhav
2013-02-18  8:28                               ` Santosh Shilimkar
2013-02-18  8:28                                 ` Santosh Shilimkar
2013-02-15 15:40   ` Kevin Hilman
2013-02-15 15:40     ` Kevin Hilman
2013-02-15 16:03     ` Felipe Balbi
2013-02-15 16:03       ` Felipe Balbi
2013-02-16  4:59     ` Santosh Shilimkar
2013-02-16  4:59       ` Santosh Shilimkar
2013-02-18 14:52       ` Kevin Hilman
2013-02-18 14:52         ` Kevin Hilman
2013-02-14 11:15 ` [RFC/NOT FOR MERGING 3/3] arm: boot: dts: omap: remove ti_hwmods from UART ports Felipe Balbi
2013-02-14 11:20 ` [RFC/NOT FOR MERGING 1/3] arm: omap: use generic implementation if !od Russell King - ARM Linux
2013-02-14 11:20   ` Russell King - ARM Linux
2013-02-14 17:57   ` Felipe Balbi
2013-02-14 17:57     ` Felipe Balbi
2013-02-15 15:28 ` Kevin Hilman
2013-02-15 15:28   ` Kevin Hilman
2013-02-15 16:04   ` Felipe Balbi
2013-02-15 16:04     ` Felipe Balbi

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=1360840554-26901-1-git-send-email-balbi@ti.com \
    --to=balbi@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.