diff options
author | Simon Glass <sjg@chromium.org> | 2016-05-01 19:52:23 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-05-17 15:54:43 (GMT) |
commit | a2040facd23b88082b9b40f0aa9bcfd495eab88e (patch) | |
tree | adc314cd94f8a10e4ac5bb228ae8d98c1b54fead /drivers/core/device-remove.c | |
parent | 72a85c0d2dfe965c831670f06d3803aaad7bb5b1 (diff) | |
download | u-boot-a2040facd23b88082b9b40f0aa9bcfd495eab88e.tar.xz |
dm: core: Allow device names to be freed automatically
Some devices have a name that is stored in allocated memory. At present
there is no mechanism to free this memory when the device is unbound.
Add a device flag to track whether a name is allocated and a function to
add the flag. Free the memory when the device is unbound.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core/device-remove.c')
-rw-r--r-- | drivers/core/device-remove.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c index e1714b2..0e56b23 100644 --- a/drivers/core/device-remove.c +++ b/drivers/core/device-remove.c @@ -112,6 +112,8 @@ int device_unbind(struct udevice *dev) devres_release_all(dev); + if (dev->flags & DM_NAME_ALLOCED) + free((char *)dev->name); free(dev); return 0; |