aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKevin Hilman <khilman@deeprootsystems.com>2010-03-17 19:18:15 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 12:37:30 -0400
commit190e8370b8033f746db5289e9324174564a6f5a7 (patch)
tree5d6f0102abe82b15b9423ef01d0dbd83b0f43323 /drivers
parentda5e4ef7fdb8f2fb0878dee3bd9d4dd10cea8cf1 (diff)
platform_bus: allow custom extensions to system PM methods
When runtime PM for platform_bus was added, it allowed for platforms to customize the runtime PM methods since they are defined as weak symbols. This patch allows platforms to also extend the system PM methods with custom hooks so runtime PM and system PM extensions can be managed together by custom platform-specific code. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Cc: Magnus Damm <damm@opensource.se> Cc: Rafael Wysocki <rjw@sisk.pl> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/platform.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index ada6397c23a5..4d99c8bdfedc 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -735,7 +735,7 @@ static void platform_pm_complete(struct device *dev)
735 735
736#ifdef CONFIG_SUSPEND 736#ifdef CONFIG_SUSPEND
737 737
738static int platform_pm_suspend(struct device *dev) 738int __weak platform_pm_suspend(struct device *dev)
739{ 739{
740 struct device_driver *drv = dev->driver; 740 struct device_driver *drv = dev->driver;
741 int ret = 0; 741 int ret = 0;
@@ -753,7 +753,7 @@ static int platform_pm_suspend(struct device *dev)
753 return ret; 753 return ret;
754} 754}
755 755
756static int platform_pm_suspend_noirq(struct device *dev) 756int __weak platform_pm_suspend_noirq(struct device *dev)
757{ 757{
758 struct device_driver *drv = dev->driver; 758 struct device_driver *drv = dev->driver;
759 int ret = 0; 759 int ret = 0;
@@ -769,7 +769,7 @@ static int platform_pm_suspend_noirq(struct device *dev)
769 return ret; 769 return ret;
770} 770}
771 771
772static int platform_pm_resume(struct device *dev) 772int __weak platform_pm_resume(struct device *dev)
773{ 773{
774 struct device_driver *drv = dev->driver; 774 struct device_driver *drv = dev->driver;
775 int ret = 0; 775 int ret = 0;
@@ -787,7 +787,7 @@ static int platform_pm_resume(struct device *dev)
787 return ret; 787 return ret;
788} 788}
789 789
790static int platform_pm_resume_noirq(struct device *dev) 790int __weak platform_pm_resume_noirq(struct device *dev)
791{ 791{
792 struct device_driver *drv = dev->driver; 792 struct device_driver *drv = dev->driver;
793 int ret = 0; 793 int ret = 0;