diff mbox

[5/5] i2c: tegra: convert normal suspend/resume to *_noirq

Message ID 1341919244-23327-6-git-send-email-ldewangan@nvidia.com
State Not Applicable, archived
Headers show

Commit Message

Laxman Dewangan July 10, 2012, 11:20 a.m. UTC
To provide the late suspend and early resume for i2c
driver, convert the suspend/resume as
	suspend-> suspend_noirq
	resume -> resume_noirq

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/i2c/busses/i2c-tegra.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Comments

Laxman Dewangan July 12, 2012, 10:30 a.m. UTC | #1
On Thursday 12 July 2012 04:05 PM, Wolfram Sang wrote:
> * PGP Signed by an unknown key
>
> On Tue, Jul 10, 2012 at 04:50:44PM +0530, Laxman Dewangan wrote:
>> To provide the late suspend and early resume for i2c
>> driver, convert the suspend/resume as
>> 	suspend->  suspend_noirq
>> 	resume ->  resume_noirq
>>
>> Signed-off-by: Laxman Dewangan<ldewangan@nvidia.com>
> Applied to next on top of Rafael's patches. Please have a look if I did
> the fixup right.
Thanks for taking care.
Can you please point me your git path so that I can verify it?

Thanks,
Laxman
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang July 12, 2012, 10:35 a.m. UTC | #2
On Tue, Jul 10, 2012 at 04:50:44PM +0530, Laxman Dewangan wrote:
> To provide the late suspend and early resume for i2c
> driver, convert the suspend/resume as
> 	suspend-> suspend_noirq
> 	resume -> resume_noirq
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Applied to next on top of Rafael's patches. Please have a look if I did
the fixup right.

Thanks,

   Wolfram
Laxman Dewangan July 12, 2012, 11:53 a.m. UTC | #3
On Thursday 12 July 2012 05:28 PM, Wolfram Sang wrote:
> * PGP Signed by an unknown key
>
>
>> Can you please point me your git path so that I can verify it?
> git://git.pengutronix.de/git/wsa/linux.git i2c-embedded/for-next
>
> or
>
> http://git.pengutronix.de/?p=wsa/linux.git;a=shortlog;h=refs/heads/i2c-embedded/for-next
>

The change is fine.  No issue here.

Thanks,
Laxman

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang July 12, 2012, 11:58 a.m. UTC | #4
> Can you please point me your git path so that I can verify it?

git://git.pengutronix.de/git/wsa/linux.git i2c-embedded/for-next

or

http://git.pengutronix.de/?p=wsa/linux.git;a=shortlog;h=refs/heads/i2c-embedded/for-next
Stephen Warren July 23, 2012, 6:24 p.m. UTC | #5
On 07/10/2012 05:20 AM, Laxman Dewangan wrote:
> To provide the late suspend and early resume for i2c
> driver, convert the suspend/resume as
> 	suspend-> suspend_noirq
> 	resume -> resume_noirq
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Why do we need this change?

IIRC, I proposed it before solely to solve some suspend/resume ordering
issues, and Colin Cross NAKd it. These days, deferred probe should make
this change unnecessary.

Unless there's a really good reason for this change, I'd tend to request
reverting it.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter De Schrijver July 24, 2012, 9:13 a.m. UTC | #6
On Mon, Jul 23, 2012 at 08:24:38PM +0200, Stephen Warren wrote:
> On 07/10/2012 05:20 AM, Laxman Dewangan wrote:
> > To provide the late suspend and early resume for i2c
> > driver, convert the suspend/resume as
> > 	suspend-> suspend_noirq
> > 	resume -> resume_noirq
> > 
> > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> 
> Why do we need this change?
> 
> IIRC, I proposed it before solely to solve some suspend/resume ordering
> issues, and Colin Cross NAKd it. These days, deferred probe should make
> this change unnecessary.
> 

How does deferred probe solve this? Iirc the problem is that i2c is needed to
talk to the PMIC, so we need to make sure i2c is shutdown last because drivers
might want to do regulator control in the suspend function.

Cheers,

Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Brown July 24, 2012, 12:52 p.m. UTC | #7
On Tue, Jul 24, 2012 at 12:13:58PM +0300, Peter De Schrijver wrote:
> On Mon, Jul 23, 2012 at 08:24:38PM +0200, Stephen Warren wrote:

> > IIRC, I proposed it before solely to solve some suspend/resume ordering
> > issues, and Colin Cross NAKd it. These days, deferred probe should make
> > this change unnecessary.

> How does deferred probe solve this? Iirc the problem is that i2c is needed to
> talk to the PMIC, so we need to make sure i2c is shutdown last because drivers
> might want to do regulator control in the suspend function.

With probe deferral the drivers will be after the regulator driver in
the DPM list and so be suspended first.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang July 24, 2012, 3:29 p.m. UTC | #8
On Mon, Jul 23, 2012 at 12:24:38PM -0600, Stephen Warren wrote:
> On 07/10/2012 05:20 AM, Laxman Dewangan wrote:
> > To provide the late suspend and early resume for i2c
> > driver, convert the suspend/resume as
> > 	suspend-> suspend_noirq
> > 	resume -> resume_noirq
> > 
> > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> 
> Why do we need this change?
> 
> IIRC, I proposed it before solely to solve some suspend/resume ordering
> issues, and Colin Cross NAKd it. These days, deferred probe should make
> this change unnecessary.
> 
> Unless there's a really good reason for this change, I'd tend to request
> reverting it.

I will drop it from my tree and exclude it from my pull request. Please
resend if it should go in later.
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 5f0572d..99e6ae5 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -713,7 +713,7 @@  static int __devexit tegra_i2c_remove(struct platform_device *pdev)
 }
 
 #ifdef CONFIG_PM
-static int tegra_i2c_suspend(struct device *dev)
+static int tegra_i2c_suspend_noirq(struct device *dev)
 {
 	struct platform_device *pdev = to_platform_device(dev);
 	struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
@@ -725,7 +725,7 @@  static int tegra_i2c_suspend(struct device *dev)
 	return 0;
 }
 
-static int tegra_i2c_resume(struct device *dev)
+static int tegra_i2c_resume_noirq(struct device *dev)
 {
 	struct platform_device *pdev = to_platform_device(dev);
 	struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
@@ -748,8 +748,8 @@  static int tegra_i2c_resume(struct device *dev)
 }
 
 static const struct dev_pm_ops tegra_i2c_dev_pm_ops = {
-	.suspend = tegra_i2c_suspend,
-	.resume = tegra_i2c_resume,
+	.suspend_noirq = tegra_i2c_suspend_noirq,
+	.resume_noirq = tegra_i2c_resume_noirq,
 };
 #define TEGRA_I2C_DEV_PM_OPS (&tegra_i2c_dev_pm_ops)
 #else