summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-10-24 08:02:20 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2005-10-29 01:47:52 +0200
commit9a7834d06d553d02cc6e659e94772f69a8b5367f (patch)
tree9ca891740becd9a090565bc3d73f8da2c2ea54d3
parent[PATCH] USB: fix pm patches with CONFIG_PM off part 1 (diff)
downloadlinux-9a7834d06d553d02cc6e659e94772f69a8b5367f.tar.xz
linux-9a7834d06d553d02cc6e659e94772f69a8b5367f.zip
[PATCH] USB: fix pm patches with CONFIG_PM off part 2
With CONFIG_PM=n: drivers/built-in.o(.text+0x1098c): In function `hub_thread': drivers/usb/core/hub.c:2673: undefined reference to `.dpm_runtime_resume' drivers/built-in.o(.text+0x10998):drivers/usb/core/hub.c:2674: undefined reference to `.dpm_runtime_resume' Please, never ever ever put extern decls into .c files. Use the darn header files :( Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/base/power/power.h13
-rw-r--r--drivers/usb/core/hub.c2
-rw-r--r--include/linux/pm.h13
3 files changed, 13 insertions, 15 deletions
diff --git a/drivers/base/power/power.h b/drivers/base/power/power.h
index 2e700d795cf1..fb3d35a9e101 100644
--- a/drivers/base/power/power.h
+++ b/drivers/base/power/power.h
@@ -67,9 +67,6 @@ extern int suspend_device(struct device *, pm_message_t);
* runtime.c
*/
-extern int dpm_runtime_suspend(struct device *, pm_message_t);
-extern void dpm_runtime_resume(struct device *);
-
#else /* CONFIG_PM */
@@ -82,14 +79,4 @@ static inline void device_pm_remove(struct device * dev)
}
-static inline int dpm_runtime_suspend(struct device * dev, pm_message_t state)
-{
- return 0;
-}
-
-static inline void dpm_runtime_resume(struct device * dev)
-{
-
-}
-
#endif
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 1bacb374b007..9660a8909b7c 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2652,8 +2652,6 @@ static void hub_events(void)
* stub "device" node was never suspended.
*/
if (i) {
- extern void dpm_runtime_resume(struct device *);
-
dpm_runtime_resume(&hdev->dev);
dpm_runtime_resume(&intf->dev);
}
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 83bae1cbe55b..c61d5de837ef 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -243,6 +243,9 @@ extern int device_suspend(pm_message_t state);
#define device_may_wakeup(dev) \
(device_can_wakeup(dev) && (dev)->power.should_wakeup)
+extern int dpm_runtime_suspend(struct device *, pm_message_t);
+extern void dpm_runtime_resume(struct device *);
+
#else /* !CONFIG_PM */
static inline int device_suspend(pm_message_t state)
@@ -253,6 +256,16 @@ static inline int device_suspend(pm_message_t state)
#define device_set_wakeup_enable(dev,val) do{}while(0)
#define device_may_wakeup(dev) (0)
+static inline int dpm_runtime_suspend(struct device * dev, pm_message_t state)
+{
+ return 0;
+}
+
+static inline void dpm_runtime_resume(struct device * dev)
+{
+
+}
+
#endif
/* changes to device_may_wakeup take effect on the next pm state change.