Comment 0 for bug 1005264

Revision history for this message
Jason Conti (jconti) wrote :

When building 3.2.0-25.40 with make-kpkg I get the following error:

ERROR: "sysfs_create_link_nowarn" [drivers/power/power_supply.ko] undefined!

which I believe is caused by the commits pulled in to fix https://bugs.launchpad.net/ubuntu/+source/linux/+bug/568064
The symbol sysfs_create_link_nowarn is not exported to modules, so the build fails. I'm not really sure why the build in proposed didn't fail. The following commit fixes the issue:

From 93278d151e7bd35ccd0e083d7f2d8123cbaf36f8 Mon Sep 17 00:00:00 2001
From: Anton Vorontsov <email address hidden>
Date: Thu, 5 Jan 2012 19:17:25 +0400
Subject: [PATCH] power_supply: Drop usage of nowarn variant of
 sysfs_create_link()

The function is not exported to modules, plus we do want to catch anyone
who tries to create complex hierarchy (in that case we'd need to change
'powers' symlink to a directory, probably under a different name to not
break ABI).

This patch fixes the following build error:

 ERROR: "sysfs_create_link_nowarn" [drivers/power/power_supply.ko] undefined!

Reported-by: Stephen Rothwell <email address hidden>
Signed-off-by: Anton Vorontsov <email address hidden>
---
 drivers/power/power_supply_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
index bc82f95..6ad6127 100644
--- a/drivers/power/power_supply_core.c
+++ b/drivers/power/power_supply_core.c
@@ -159,7 +159,7 @@ EXPORT_SYMBOL_GPL(power_supply_get_by_name);

 int power_supply_powers(struct power_supply *psy, struct device *dev)
 {
- return sysfs_create_link_nowarn(&psy->dev->kobj, &dev->kobj, "powers");
+ return sysfs_create_link(&psy->dev->kobj, &dev->kobj, "powers");
 }
 EXPORT_SYMBOL_GPL(power_supply_powers);

--
1.7.9.5