From 8ec7ebb3964a2909f070b493879e4f23aab3d8a3 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 14 Sep 2006 11:23:28 +0200 Subject: [PATCH] --- yaml --- r: 41174 b: refs/heads/master c: b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/base/bus.c | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 5d2dc0159f21..e6074957490d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 40fa54226f518a9bc97ed1d711c0016e416e3782 +refs/heads/master: b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a diff --git a/trunk/drivers/base/bus.c b/trunk/drivers/base/bus.c index ed3e8a2be64a..472810f8e6e7 100644 --- a/trunk/drivers/base/bus.c +++ b/trunk/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) {