summaryrefslogtreecommitdiff
path: root/drivers/base/bus.c
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2006-09-14 13:23:28 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-02 01:51:58 +0300
commitb9cafc7d5b8af0c71896f60dfcff40c71bd38a9a (patch)
tree818da5cabe0236b547d1d1fc3a00e4446d439356 /drivers/base/bus.c
parent40fa54226f518a9bc97ed1d711c0016e416e3782 (diff)
downloadlinux-b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a.tar.xz
CONFIG_SYSFS_DEPRECATED - bus symlinks
Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/bus.c')
-rw-r--r--drivers/base/bus.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index ed3e8a2be64a..472810f8e6e7 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -355,6 +355,21 @@ static void device_remove_attrs(struct bus_type * bus, struct device * dev)
}
}
+#ifdef CONFIG_SYSFS_DEPRECATED
+static int make_deprecated_bus_links(struct device *dev)
+{
+ return sysfs_create_link(&dev->kobj,
+ &dev->bus->subsys.kset.kobj, "bus");
+}
+
+static void remove_deprecated_bus_links(struct device *dev)
+{
+ sysfs_remove_link(&dev->kobj, "bus");
+}
+#else
+static inline int make_deprecated_bus_links(struct device *dev) { return 0; }
+static inline void remove_deprecated_bus_links(struct device *dev) { }
+#endif
/**
* bus_add_device - add device to bus
@@ -381,8 +396,7 @@ int bus_add_device(struct device * dev)
&dev->bus->subsys.kset.kobj, "subsystem");
if (error)
goto out_subsys;
- error = sysfs_create_link(&dev->kobj,
- &dev->bus->subsys.kset.kobj, "bus");
+ error = make_deprecated_bus_links(dev);
if (error)
goto out_deprecated;
}
@@ -436,7 +450,7 @@ void bus_remove_device(struct device * dev)
{
if (dev->bus) {
sysfs_remove_link(&dev->kobj, "subsystem");
- sysfs_remove_link(&dev->kobj, "bus");
+ remove_deprecated_bus_links(dev);
sysfs_remove_link(&dev->bus->devices.kobj, dev->bus_id);
device_remove_attrs(dev->bus, dev);
if (dev->is_registered) {