2012-05-28 14:58:32 |
Luis Henriques |
description |
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 <cbouatmailru@gmail.com>
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 <sfr@canb.auug.org.au>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
---
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 |
== Precise SRU Justification ==
Current kernel FTBFS if power_supply is set as a module. This has never
been an issue as its built-in into the kernel. It fails with:
"sysfs_create_link_nowarn" [drivers/power/power_supply.ko] undefined!"
as this symbol is not exported into modules.
== Fix ==
Upstream commit 93278d151e7bd35ccd0e083d7f2d8123cbaf36f8 fixes the build
failure.
== Impact ==
Impact shouldn't be very high. Only users building the kernel from source
and setting this as a module.
== Test Case ==
Build the kernel, setting CONFIG_POWER_SUPPLY=m in the configuration.
================================================================================
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 <cbouatmailru@gmail.com>
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 <sfr@canb.auug.org.au>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
---
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 |
|