lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 22 Apr 2013 19:13:57 +0530
From:	Sourav Poddar <sourav.poddar@...com>
To:	<gregkh@...uxfoundation.org>, <tony@...mide.com>,
	<rmk+kernel@....linux.org.uk>, <khilman@...aro.org>
CC:	<linux-serial@...r.kernel.org>, <linux-omap@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>,
	Sourav Poddar <sourav.poddar@...com>,
	Santosh Shilimkar <santosh.shilimkar@...com>,
	Felipe Balbi <balbi@...com>, Rajendra nayak <rnayak@...com>,
	Grygorii Strashko <grygorii.strashko@...com>
Subject: [RFC/PATCHv2 5/5] arm: omap2+: omap_device: remove no_idle_on_suspend

Remove the "OMAP_DEVICE_NO_IDLE_ON_SUSPEND" check, since 
driver should be able to prevent idling of an omap device
whenever required.

Cc: Santosh Shilimkar <santosh.shilimkar@...com>
Cc: Felipe Balbi <balbi@...com>
Cc: Rajendra nayak <rnayak@...com>
Cc: Grygorii Strashko <grygorii.strashko@...com>
Signed-off-by: Sourav Poddar <sourav.poddar@...com>
---
Hi Kevin,

I have put this as an RFC, due to few comments on cover letter of
the previous version by Grygorii Strashko.
As, he has mentioned that there are Audio playback use cases which 
also requires "no_idle_on_suspend" and using them on mainline after
this series can cause regression.

What you think will be the right approach on this in relation to this patch? 
I mean every driver(if possible) should  prevent 
runtime PM for no_idle_on_suspend usecase and we get 
rid of this OMAP_DEVICE_NO_IDLE_ON_SUSPEND check? OR we should
drop this patch as of now? 

Hi Grygorii,

Is it possible to handle ABE no_idle_on_suspend uscase the way I am
trying to handle it for UART in the 2nd patch of this series? 


 arch/arm/mach-omap2/omap_device.c |   12 +++---------
 arch/arm/mach-omap2/omap_device.h |   10 ----------
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
index 381be7a..2043d71 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:
@@ -620,11 +617,9 @@ static int _od_suspend_noirq(struct device *dev)
 	ret = pm_generic_suspend_noirq(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);
+		if (pm_generic_runtime_suspend(dev) == 0)
+			omap_device_idle(pdev);
 			od->flags |= OMAP_DEVICE_SUSPENDED;
-		}
 	}
 
 	return ret;
@@ -638,8 +633,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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists