PM: omap_device fix for v3.1-rc
Subsystems (2)
cover PM: omap_device fix for v3.1-rc
While this fix could go via the OMAP tree, since the original patch causing the problem went via Rafael's tree (due to dependencies) I'm submitting the fix to go via Rafael's tree as well.
Applies on v3.1-rc3.
Kevin Hilman (1):
OMAP: omap_device: only override _noirq methods, not normal
suspend/resume
arch/arm/plat-omap/omap_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.6
PATCH 1/1 OMAP: omap_device: only override _noirq methods, not normal suspend/resume
commit c03f007a8bf0e092caeb6856a5c8a850df10b974 (OMAP: PM:omap_device: add system PM methods for PM domain handling) mistakenly used SET_SYSTEM_SLEEP_PM_OPS() when trying to configure custom methods for the PM domains noirq methods. Fix that by setting only the suspend_noirq and resume_noirq methods with custom versions.
Note that all other PM domain methods (including the "normal" suspend/resume methods) are populated using USE_PLATFORM_PM_SLEEP_OPS, which configures them all to the default subsystem (platform_bus) methods.
--- arch/arm/plat-omap/omap_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
arch/arm/plat-omap/omap_device.c +2 -1
@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
Signature · 1 line
1.7.6
Rafael J. Wysocki
AppliedPATCH 1/1 OMAP: omap_device: only override _noirq methods, not normal suspend/resume
Quoted 6 lines · Kevin Hilman
commit
c03f007a8bf0e092caeb6856a5c8a850df10b974(OMAP: PM:omap_device: add system PM methods for PM domain handling) mistakenly usedSET_SYSTEM_SLEEP_PM_OPS()when trying to configure custom methods for the PM domains noirq methods. Fix that by setting only thesuspend_noirqandresume_noirqmethods with custom versions.
Quoted 8 lines
Note that all other PM domain methods (including the "normal" suspend/resume methods) are populated using
USE_PLATFORM_PM_SLEEP_OPS, which configures them all to the default subsystem (platform_bus) methods.Reported-by Santosh Shilimkar <[email protected]>Tested-by Santosh Shilimkar <[email protected]>Signed-off-by Kevin Hilman <[email protected]>
Applied to linux-pm/pm-fixes, will be pushed for 3.1, thanks!
Rafael
Quoted 19 lines
--- arch/arm/plat-omap/omap_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
Rafael J. Wysocki
AppliedRe: [PATCH 1/1] OMAP: omap_device: only override _noirq methods, not normal suspend/resume
In reply to Kevin HilmanQuoted 6 lines · Kevin Hilman
commit
c03f007a8bf0e092caeb6856a5c8a850df10b974(OMAP: PM:omap_device: add system PM methods for PM domain handling) mistakenly usedSET_SYSTEM_SLEEP_PM_OPS()when trying to configure custom methods for the PM domains noirq methods. Fix that by setting only thesuspend_noirqandresume_noirqmethods with custom versions.
Quoted 8 lines
Note that all other PM domain methods (including the "normal" suspend/resume methods) are populated using
USE_PLATFORM_PM_SLEEP_OPS, which configures them all to the default subsystem (platform_bus) methods.Reported-by Santosh Shilimkar <[email protected]>Tested-by Santosh Shilimkar <[email protected]>Signed-off-by Kevin Hilman <[email protected]>
Applied to linux-pm/pm-fixes, will be pushed for 3.1, thanks!
Rafael
Quoted 19 lines
--- arch/arm/plat-omap/omap_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
PATCH 1/1 OMAP: omap_device: only override _noirq methods, not normal suspend/resume
In reply to Kevin Hilmanarch/arm/plat-omap/omap_device.c static struct dev_pm_domain omap_device_pm_domain = { · line 628
Quoted 11 lines · Kevin Hilman
arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
This breaks if CONFIG_SUSPEND is not set and the _od_suspend_noirq/_od_resume_noirq functions are not defined.
Arnd
PATCH 1/1 OMAP: omap_device: only override _noirq methods, not normal suspend/resume
Quoted 15 lines · Arnd Bergmann
arch/arm/plat-omap/omap_device.c static struct dev_pm_domain omap_device_pm_domain = { · line 628
Quoted 11 lines · Kevin Hilman
arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };This breaks if
CONFIG_SUSPENDis not set and the _od_suspend_noirq/_od_resume_noirq functions are not defined.
Indeed.
Will post a fix shortly.
Kevin
Re: [PATCH 1/1] OMAP: omap_device: only override _noirq methods, not normal suspend/resume
In reply to Arnd BergmannQuoted 15 lines · Arnd Bergmann
arch/arm/plat-omap/omap_device.c static struct dev_pm_domain omap_device_pm_domain = { · line 628
Quoted 11 lines · Kevin Hilman
arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };This breaks if
CONFIG_SUSPENDis not set and the _od_suspend_noirq/_od_resume_noirq functions are not defined.
Indeed.
Will post a fix shortly.
Kevin
Re: [PATCH 1/1] OMAP: omap_device: only override _noirq methods, not normal suspend/resume
In reply to Kevin Hilmanarch/arm/plat-omap/omap_device.c static struct dev_pm_domain omap_device_pm_domain = { · line 628
Quoted 11 lines · Kevin Hilman
arch/arm/plat-omap/omap_device.c +2
-1@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
This breaks if CONFIG_SUSPEND is not set and the _od_suspend_noirq/_od_resume_noirq functions are not defined.
Arnd
PATCH 1/1 OMAP: omap_device: only override _noirq methods, not normal suspend/resume
In reply to Kevin Hilmancommit c03f007a8bf0e092caeb6856a5c8a850df10b974 (OMAP: PM:omap_device: add system PM methods for PM domain handling) mistakenly used SET_SYSTEM_SLEEP_PM_OPS() when trying to configure custom methods for the PM domains noirq methods. Fix that by setting only the suspend_noirq and resume_noirq methods with custom versions.
Note that all other PM domain methods (including the "normal" suspend/resume methods) are populated using USE_PLATFORM_PM_SLEEP_OPS, which configures them all to the default subsystem (platform_bus) methods.
--- arch/arm/plat-omap/omap_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
arch/arm/plat-omap/omap_device.c +2 -1
@@ -622,7 +622,8 @@ static struct dev_pm_domain omap_device_pm_domain = {SET_RUNTIME_PM_OPS (_od_runtime_suspend, _od_runtime_resume, _od_runtime_idle) USE_PLATFORM_PM_SLEEP_OPS - SET_SYSTEM_SLEEP_PM_OPS(_od_suspend_noirq, _od_resume_noirq) + .suspend_noirq = _od_suspend_noirq, + .resume_noirq = _od_resume_noirq, } };
Signature · 1 line
1.7.6