
Hi Anatolij,
Subject: [PATCH v2 2/2] serial: lpuart: request dm device removal when booting OS
Extend the driver to allow dm device removal, but always let the console serial device power domain enabled, so that U-Boot doesn't crash when i. e. the serial output is enabled for debugging.
Signed-off-by: Anatolij Gustschin agust@denx.de
Changes in v2:
- None
drivers/serial/serial_lpuart.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index 57dd4a72c6..b028f4b35f 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -489,6 +489,13 @@ static int lpuart_serial_probe(struct udevice *dev) return _lpuart_serial_init(dev); }
+static int lpuart_serial_remove(struct udevice *dev) {
- if (dev == gd->cur_serial_dev)
dev->flags |= DM_FLAG_REMOVE_WITH_PD_ON;
How about introduce a device tree property for DM? Then Set the flags in common code, not in specific driver.
Thanks, Peng
- return 0;
+}
static int lpuart_serial_ofdata_to_platdata(struct udevice *dev) { struct lpuart_serial_platdata *plat = dev->platdata; @@ -543,5 +550,7 @@ U_BOOT_DRIVER(serial_lpuart) = { .ofdata_to_platdata = lpuart_serial_ofdata_to_platdata, .platdata_auto_alloc_size = sizeof(struct lpuart_serial_platdata), .probe = lpuart_serial_probe,
- .remove = lpuart_serial_remove, .ops = &lpuart_serial_ops,
- .flags = DM_FLAG_OS_PREPARE,
};
2.17.1