aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/platform.c35
-rw-r--r--include/linux/platform_device.h3
2 files changed, 0 insertions, 38 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 079c18a5e471..48425f183029 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -916,41 +916,6 @@ struct bus_type platform_bus_type = {
916}; 916};
917EXPORT_SYMBOL_GPL(platform_bus_type); 917EXPORT_SYMBOL_GPL(platform_bus_type);
918 918
919/**
920 * platform_bus_get_pm_ops() - return pointer to busses dev_pm_ops
921 *
922 * This function can be used by platform code to get the current
923 * set of dev_pm_ops functions used by the platform_bus_type.
924 */
925const struct dev_pm_ops * __init platform_bus_get_pm_ops(void)
926{
927 return platform_bus_type.pm;
928}
929
930/**
931 * platform_bus_set_pm_ops() - update dev_pm_ops for the platform_bus_type
932 *
933 * @pm: pointer to new dev_pm_ops struct to be used for platform_bus_type
934 *
935 * Platform code can override the dev_pm_ops methods of
936 * platform_bus_type by using this function. It is expected that
937 * platform code will first do a platform_bus_get_pm_ops(), then
938 * kmemdup it, then customize selected methods and pass a pointer to
939 * the new struct dev_pm_ops to this function.
940 *
941 * Since platform-specific code is customizing methods for *all*
942 * devices (not just platform-specific devices) it is expected that
943 * any custom overrides of these functions will keep existing behavior
944 * and simply extend it. For example, any customization of the
945 * runtime PM methods should continue to call the pm_generic_*
946 * functions as the default ones do in addition to the
947 * platform-specific behavior.
948 */
949void __init platform_bus_set_pm_ops(const struct dev_pm_ops *pm)
950{
951 platform_bus_type.pm = pm;
952}
953
954int __init platform_bus_init(void) 919int __init platform_bus_init(void)
955{ 920{
956 int error; 921 int error;
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index e0093e061b08..ede1a80e3358 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -150,9 +150,6 @@ extern struct platform_device *platform_create_bundle(struct platform_driver *dr
150 struct resource *res, unsigned int n_res, 150 struct resource *res, unsigned int n_res,
151 const void *data, size_t size); 151 const void *data, size_t size);
152 152
153extern const struct dev_pm_ops * platform_bus_get_pm_ops(void);
154extern void platform_bus_set_pm_ops(const struct dev_pm_ops *pm);
155
156/* early platform driver interface */ 153/* early platform driver interface */
157struct early_platform_driver { 154struct early_platform_driver {
158 const char *class_str; 155 const char *class_str;