dm: fix an 'undefined' error in some macros
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Fri, 10 Dec 2021 06:49:36 +0000 (15:49 +0900)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 18 Dec 2021 11:05:19 +0000 (12:05 +0100)
Due to a non-existing parameter name in macro's, use of those macro's will
cause a compiler error of "undefined reference".
Unfortunately, dm test doesn't fail because a wrong name ("&dev", hence it
is accidentally a valid name in the context of a caller site) is passed on.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Fixes: f262d4ca4b2b ("dm: core: Add a way to read platdata for all
child devices")
Fixes: 903e83ee8464 ("dm: core: Add a way to iterate through children,
probing each")
Reviewed-by: Simon Glass <sjg@chromium.org>
include/dm/device.h

index 3028d00..f790041 100644 (file)
@@ -959,8 +959,8 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev)
  * @parent: parent device to scan
  */
 #define device_foreach_child_of_to_plat(pos, parent)   \
-       for (int _ret = device_first_child_ofdata_err(parent, &dev); !_ret; \
-            _ret = device_next_child_ofdata_err(&dev))
+       for (int _ret = device_first_child_ofdata_err(parent, &pos); !_ret; \
+            _ret = device_next_child_ofdata_err(&pos))
 
 /**
  * device_foreach_child_probe() - iterate through children, probing them
@@ -976,8 +976,8 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev)
  * @parent: parent device to scan
  */
 #define device_foreach_child_probe(pos, parent)        \
-       for (int _ret = device_first_child_err(parent, &dev); !_ret; \
-            _ret = device_next_child_err(&dev))
+       for (int _ret = device_first_child_err(parent, &pos); !_ret; \
+            _ret = device_next_child_err(&pos))
 
 /**
  * dm_scan_fdt_dev() - Bind child device in the device tree