[PATCH] drivers: base: core: Removed superfluous calls to put_device in device_destroy and to kobject deletion functions in device_del.

From: David Graham White
Date: Sun Jul 21 2013 - 11:34:41 EST


When device_destroy is called and the device's embedded kobject may be removed,
this would occur with the call to put_device in device_unregister. Further,
put_device should take care of cleaning up the kobject without the need to
call kobject_del indepenedently in device_del.

Signed-off-by: David Graham White <dgwhite11@xxxxxxxxx>
---
drivers/base/core.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 8856d74..d6494ee 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1292,9 +1292,7 @@ void device_del(struct device *dev)
*/
if (platform_notify_remove)
platform_notify_remove(dev);
- kobject_uevent(&dev->kobj, KOBJ_REMOVE);
cleanup_device_parent(dev);
- kobject_del(&dev->kobj);
put_device(parent);
}

@@ -1849,10 +1847,8 @@ void device_destroy(struct class *class, dev_t devt)
struct device *dev;

dev = class_find_device(class, NULL, &devt, __match_devt);
- if (dev) {
- put_device(dev);
+ if (dev)
device_unregister(dev);
- }
}
EXPORT_SYMBOL_GPL(device_destroy);

--
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/