diff mbox series

drivers: serial: Remove code that binds devices pre-reloc

Message ID 20220221211758.18292-1-kettenis@openbsd.org
State Deferred
Delegated to: Tom Rini
Headers show
Series drivers: serial: Remove code that binds devices pre-reloc | expand

Commit Message

Mark Kettenis Feb. 21, 2022, 9:17 p.m. UTC
The serial_check_stdout() has code to bind devices that are not
marked to be bound before relocation. This code had a known bug
in the past and should not be needed if targets correctly mark
these devices as bound before relocation in the device tree or
mark the appropriate device drivers using the DM_FLAG_PRE_RELOC
flag.

Note that this commit will break many targets. Those targets will
have need to have the appropriate serial device marked to be bound
before relocation to make them work again.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
---

Note: this is defenitely not material for 2022.04. I'm not even sure
if this is a good idea. But if this does get accepted, it is probably
wise for it to go onto the next branch to give maintainers enough time
to fix any fallout.


 drivers/serial/serial-uclass.c | 11 -----------
 1 file changed, 11 deletions(-)
diff mbox series

Patch

diff --git a/drivers/serial/serial-uclass.c b/drivers/serial/serial-uclass.c
index f30f352bd7..0da5fde429 100644
--- a/drivers/serial/serial-uclass.c
+++ b/drivers/serial/serial-uclass.c
@@ -60,17 +60,6 @@  static int serial_check_stdout(const void *blob, struct udevice **devp)
 	if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node, devp))
 		return 0;
 
-	/*
-	 * If the console is not marked to be bound before relocation, bind it
-	 * anyway.
-	 */
-	if (node > 0 && !lists_bind_fdt(gd->dm_root, offset_to_ofnode(node),
-					devp, NULL, false)) {
-		if (device_get_uclass_id(*devp) == UCLASS_SERIAL &&
-		    !device_probe(*devp))
-			return 0;
-	}
-
 	return -ENODEV;
 }