diff options
author | David Brownell <david-b@pacbell.net> | 2005-05-12 12:06:27 -0700 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-05-17 14:54:55 -0700 |
commit | 0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab (patch) | |
tree | 49d74df6eddfdd095c650e0af34cde7f4548a2d5 /drivers/base/bus.c | |
parent | 82428b62aa6294ea640c7e920a9224ecaf46db65 (diff) | |
download | op-kernel-dev-0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab.zip op-kernel-dev-0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab.tar.gz |
[PATCH] Driver Core: remove driver model detach_state
The driver model has a "detach_state" mechanism that:
- Has never been used by any in-kernel drive;
- Is superfluous, since driver remove() methods can do the same thing;
- Became buggy when the suspend() parameter changed semantics and type;
- Could self-deadlock when called from certain suspend contexts;
- Is effectively wasted documentation, object code, and headspace.
This removes that "detach_state" mechanism; net code shrink, as well
as a per-device saving in the driver model and sysfs.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/bus.c')
-rw-r--r-- | drivers/base/bus.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 2b3902c..3cb04bb 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -390,7 +390,6 @@ void device_release_driver(struct device * dev) sysfs_remove_link(&drv->kobj, kobject_name(&dev->kobj)); sysfs_remove_link(&dev->kobj, "driver"); list_del_init(&dev->driver_list); - device_detach_shutdown(dev); if (drv->remove) drv->remove(dev); dev->driver = NULL; |