linux-next: build failure after merge of the final tree (pm treerelated)

From: Stephen Rothwell
Date: Thu Dec 22 2011 - 00:28:59 EST


Hi ,

After merging the final tree, today's linux-next build (powerpc
allnoconfig) failed like this:

drivers/base/bus.o: In function `dev_pm_qos_add_ancestor_request':
bus.c:(.text+0x4c0): multiple definition of `dev_pm_qos_add_ancestor_request'
drivers/base/core.o:core.c:(.text+0x8ec): first defined here
drivers/base/dd.o: In function `dev_pm_qos_add_ancestor_request':
dd.c:(.text+0x418): multiple definition of `dev_pm_qos_add_ancestor_request'
drivers/base/core.o:core.c:(.text+0x8ec): first defined here
kernel/sysctl_binary.o: In function `dev_pm_qos_add_ancestor_request':
sysctl_binary.c:(.text+0x124): multiple definition of `dev_pm_qos_add_ancestor_request'

Caused by commit 513dcbda6199 ("PM / QoS: Introduce
dev_pm_qos_add_ancestor_request()") from the pm tree.

Please build with and without config options that protect new code ... :-(

I applied this patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 22 Dec 2011 16:22:27 +1100
Subject: [PATCH] PM / QoS: fix build problem with new
dev_pm_qos_add_ancestor_request api

Fixes these errors:

drivers/base/bus.o: In function `dev_pm_qos_add_ancestor_request':
bus.c:(.text+0x4c0): multiple definition of `dev_pm_qos_add_ancestor_request'
drivers/base/core.o:core.c:(.text+0x8ec): first defined here
drivers/base/dd.o: In function `dev_pm_qos_add_ancestor_request':
dd.c:(.text+0x418): multiple definition of `dev_pm_qos_add_ancestor_request'
drivers/base/core.o:core.c:(.text+0x8ec): first defined here
kernel/sysctl_binary.o: In function `dev_pm_qos_add_ancestor_request':
sysctl_binary.c:(.text+0x124): multiple definition of `dev_pm_qos_add_ancestor_request'

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
include/linux/pm_qos.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h
index b4d67e5..e5bbcba 100644
--- a/include/linux/pm_qos.h
+++ b/include/linux/pm_qos.h
@@ -155,7 +155,7 @@ static inline void dev_pm_qos_constraints_destroy(struct device *dev)
{
dev->power.power_state = PMSG_INVALID;
}
-int dev_pm_qos_add_ancestor_request(struct device *dev,
+static inline int dev_pm_qos_add_ancestor_request(struct device *dev,
struct dev_pm_qos_request *req, s32 value)
{ return 0; }
#endif
--
1.7.8.197.g73c6b

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature