diff options
author | Jiri Kosina <jkosina@suse.cz> | 2014-02-20 08:54:28 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2014-02-20 08:54:28 -0500 |
commit | d4263348f796f29546f90802177865dd4379dd0a (patch) | |
tree | adcbdaebae584eee2f32fab95e826e8e49eef385 /drivers/base/bus.c | |
parent | be873ac782f5ff5ee6675f83929f4fe6737eead2 (diff) | |
parent | 6d0abeca3242a88cab8232e4acd7e2bf088f3bc2 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'drivers/base/bus.c')
-rw-r--r-- | drivers/base/bus.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 1db22d3c4036..83e910a57563 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c | |||
@@ -146,8 +146,19 @@ void bus_remove_file(struct bus_type *bus, struct bus_attribute *attr) | |||
146 | } | 146 | } |
147 | EXPORT_SYMBOL_GPL(bus_remove_file); | 147 | EXPORT_SYMBOL_GPL(bus_remove_file); |
148 | 148 | ||
149 | static void bus_release(struct kobject *kobj) | ||
150 | { | ||
151 | struct subsys_private *priv = | ||
152 | container_of(kobj, typeof(*priv), subsys.kobj); | ||
153 | struct bus_type *bus = priv->bus; | ||
154 | |||
155 | kfree(priv); | ||
156 | bus->p = NULL; | ||
157 | } | ||
158 | |||
149 | static struct kobj_type bus_ktype = { | 159 | static struct kobj_type bus_ktype = { |
150 | .sysfs_ops = &bus_sysfs_ops, | 160 | .sysfs_ops = &bus_sysfs_ops, |
161 | .release = bus_release, | ||
151 | }; | 162 | }; |
152 | 163 | ||
153 | static int bus_uevent_filter(struct kset *kset, struct kobject *kobj) | 164 | static int bus_uevent_filter(struct kset *kset, struct kobject *kobj) |
@@ -953,8 +964,6 @@ void bus_unregister(struct bus_type *bus) | |||
953 | kset_unregister(bus->p->devices_kset); | 964 | kset_unregister(bus->p->devices_kset); |
954 | bus_remove_file(bus, &bus_attr_uevent); | 965 | bus_remove_file(bus, &bus_attr_uevent); |
955 | kset_unregister(&bus->p->subsys); | 966 | kset_unregister(&bus->p->subsys); |
956 | kfree(bus->p); | ||
957 | bus->p = NULL; | ||
958 | } | 967 | } |
959 | EXPORT_SYMBOL_GPL(bus_unregister); | 968 | EXPORT_SYMBOL_GPL(bus_unregister); |
960 | 969 | ||