]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/core/device.c
devres: introduce Devres (Managed Device Resource) framework
[karo-tx-uboot.git] / drivers / core / device.c
index bf6f2716da7fe4277fad20fac8e71caa079f42e2..e3a42dc928f0cc311863c3e356fd0cee5a870fb8 100644 (file)
@@ -47,6 +47,7 @@ int device_bind(struct udevice *parent, const struct driver *drv,
        INIT_LIST_HEAD(&dev->sibling_node);
        INIT_LIST_HEAD(&dev->child_head);
        INIT_LIST_HEAD(&dev->uclass_node);
+       INIT_LIST_HEAD(&dev->devres_head);
        dev->platdata = platdata;
        dev->name = name;
        dev->of_offset = of_offset;
@@ -170,6 +171,8 @@ fail_alloc2:
                dev->platdata = NULL;
        }
 fail_alloc1:
+       devres_release_all(dev);
+
        free(dev);
 
        return ret;