cmd: bind: Fix driver binding on a device
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 10 Sep 2021 14:16:20 +0000 (16:16 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Tue, 12 Oct 2021 12:19:52 +0000 (14:19 +0200)
commit38f7d3b6530edae4c4d506d6b9dbd0ae8b8ee5e6
treee8b2819e6fa074adaaa01d8aadc8cfac3993174b
parent089e433e560f883b23c53b66ce3f8fb5a81bd431
cmd: bind: Fix driver binding on a device

Fix a regression brings by commit 84f8e36f03fa ("cmd: bind: allow to
bind driver with driver data")

As example, the following bind command doesn't work:

   bind /soc/usb-otg@49000000 usb_ether

As usb_ether driver has no compatible string, it can't be find by
lists_bind_fdt(). In bind_by_node_path(), which called lists_bind_fdt(),
the driver entry is known, pass it to lists_bind_fdt() to force the driver
entry selection.

For this, add a new parameter struct *driver to lists_bind_fdt().
Fix also all lists_bind_fdt() callers.

Fixes: 84f8e36f03fa ("cmd: bind: allow to bind driver with driver data")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reported-by: Herbert Poetzl <herbert@13thfloor.at>
Cc: Marek Vasut <marex@denx.de>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
board/congatec/cgtqmx8/spl.c
cmd/bind.c
drivers/core/device.c
drivers/core/lists.c
drivers/core/root.c
drivers/misc/imx8/scu.c
drivers/serial/serial-uclass.c
drivers/timer/timer-uclass.c
include/dm/lists.h
test/dm/nop.c