dm: Use access methods for dev/uclass private data

Most drivers use these access methods but a few do not. Update them.

In some cases the access is not permitted, so mark those with a FIXME tag
for the maintainer to check.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Pratyush Yadav <p.yadav@ti.com>
This commit is contained in:
Simon Glass
2020-12-22 19:30:28 -07:00
parent 12559f5bab
commit 0fd3d91152
113 changed files with 372 additions and 278 deletions

View File

@@ -89,15 +89,15 @@ int device_unbind(struct udevice *dev)
return log_msg_ret("child unbind", ret);
if (dev->flags & DM_FLAG_ALLOC_PDATA) {
free(dev->plat);
dev->plat = NULL;
free(dev_get_plat(dev));
dev_set_plat(dev, NULL);
}
if (dev->flags & DM_FLAG_ALLOC_UCLASS_PDATA) {
free(dev->uclass_plat);
free(dev_get_uclass_plat(dev));
dev->uclass_plat = NULL;
}
if (dev->flags & DM_FLAG_ALLOC_PARENT_PDATA) {
free(dev->parent_plat);
free(dev_get_parent_plat(dev));
dev->parent_plat = NULL;
}
ret = uclass_unbind_device(dev);
@@ -125,12 +125,12 @@ void device_free(struct udevice *dev)
int size;
if (dev->driver->priv_auto) {
free(dev->priv);
dev->priv = NULL;
free(dev_get_priv(dev));
dev_set_priv(dev, NULL);
}
size = dev->uclass->uc_drv->per_device_auto;
if (size) {
free(dev->uclass_priv);
free(dev_get_uclass_priv(dev));
dev->uclass_priv = NULL;
}
if (dev->parent) {
@@ -140,7 +140,7 @@ void device_free(struct udevice *dev)
per_child_auto;
}
if (size) {
free(dev->parent_priv);
free(dev_get_parent_priv(dev));
dev->parent_priv = NULL;
}
}