diff -urN linux-acp-am335x-cpm3-3.12/drivers/tty/serial/omap-serial.c linux-acp-am335x-cpm3-3.12_new/drivers/tty/serial/omap-serial.c --- linux-acp-am335x-cpm3-3.12/drivers/tty/serial/omap-serial.c 2015-04-03 03:13:07.000000000 +0800 +++ linux-acp-am335x-cpm3-3.12_new/drivers/tty/serial/omap-serial.c 2026-03-27 14:38:47.304278946 +0800 @@ -1441,14 +1441,26 @@ static int serial_omap_suspend(struct device *dev) { + struct uart_omap_port *up = dev_get_drvdata(dev); + //逻辑要区分是不是console + //加打印 + //返回busy + //打印加上串口号 + if(!uart_console(&up->port)) + { + printk("serial_omap_suspend uart port num =%d \n",up->port.line); + return -EBUSY; + } + uart_suspend_port(&serial_omap_reg, &up->port); flush_work(&up->qos_work); /* Select sleep pin state */ pinctrl_pm_select_sleep_state(dev); + return 0; } @@ -1808,6 +1820,16 @@ if (!up) return -EINVAL; + //逻辑要区分是不是console ppty + //加打印 + //返回busy + //打印加上串口号 + if(!uart_console(&up->port)) + { + printk("serial_omap_runtime_suspend uart port num =%d \n",up->port.line); + return -EBUSY; + } + /* * When using 'no_console_suspend', the console UART must not be * suspended. Since driver suspend is managed by runtime suspend, 二进制文件 linux-acp-am335x-cpm3-3.12/drivers/tty/serial.tar.gz 和 linux-acp-am335x-cpm3-3.12_new/drivers/tty/serial.tar.gz 不同