Commit 190e8370b8033f746db5289e9324174564a6f5a7

Authored by Kevin Hilman
Committed by Greg Kroah-Hartman
1 parent da5e4ef7fd

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>

Showing 1 changed file with 4 additions and 4 deletions Side-by-side Diff

drivers/base/platform.c
... ... @@ -735,7 +735,7 @@
735 735  
736 736 #ifdef CONFIG_SUSPEND
737 737  
738   -static int platform_pm_suspend(struct device *dev)
  738 +int __weak platform_pm_suspend(struct device *dev)
739 739 {
740 740 struct device_driver *drv = dev->driver;
741 741 int ret = 0;
... ... @@ -753,7 +753,7 @@
753 753 return ret;
754 754 }
755 755  
756   -static int platform_pm_suspend_noirq(struct device *dev)
  756 +int __weak platform_pm_suspend_noirq(struct device *dev)
757 757 {
758 758 struct device_driver *drv = dev->driver;
759 759 int ret = 0;
... ... @@ -769,7 +769,7 @@
769 769 return ret;
770 770 }
771 771  
772   -static int platform_pm_resume(struct device *dev)
  772 +int __weak platform_pm_resume(struct device *dev)
773 773 {
774 774 struct device_driver *drv = dev->driver;
775 775 int ret = 0;
... ... @@ -787,7 +787,7 @@
787 787 return ret;
788 788 }
789 789  
790   -static int platform_pm_resume_noirq(struct device *dev)
  790 +int __weak platform_pm_resume_noirq(struct device *dev)
791 791 {
792 792 struct device_driver *drv = dev->driver;
793 793 int ret = 0;