This is third version to get rid of problematic DMA and PM calls in the serial kernel console code. Patches 1, 3 and 4 are preparatory ones. After previous discussion Tony suggested to add a possibility to detach and attach back kernel console from user space. It's done in the patch 2. Kernel console is sensitive to any kind of complex work needed to print out anything on it. One such case is emergency print during Oops. More details on topic are in the commit messages of the patches 5 and 6. The series has been tested on few Intel platforms. Note, it depends to recently submitted and applied patches in the core console code [2, 3]. Petr, may you confirm that [3] is immutable or even send Greg KH a PR? Greg, see above note before applying, thanks! [1]: https://lore.kernel.org/patchwork/cover/905632/ [2]: https://lore.kernel.org/lkml/20200203133130.11591-1-andriy.shevchenko@xxxxxxxxxxxxxxx/ [3]: https://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git/log/?h=for-5.7-console-exit Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxxx> Changelog v3: - dropped applied patches - dropped "cleanup" DMA patches, that they were not tested and actually are regressions - added DEVICE_ATTR_RO/_RW conversion patches (Greg) - added pr_*() to dev_*() conversion patch (Greg) - updated commit message to note OMAP behaviour change (Russell) - replace run-time PM callbacks to be _sync() (Tony) Changelog v2: - added possibility to detach and attach back console from userspace (Tony) - reworded commit messages in patches 5 and 6 (Sebastian) - dropped console patch (it had been pushed separately [2]) Andy Shevchenko (6): serial: core: Switch to use DEVICE_ATTR_RO() serial: core: Allow detach and attach serial device for console serial: 8250_port: Switch to use DEVICE_ATTR_RW() serial: 8250_port: Use dev_*() instead of pr_*() serial: 8250_port: Don't use power management for kernel console serial: 8250_port: Disable DMA operations for kernel console Documentation/ABI/testing/sysfs-tty | 7 ++ drivers/tty/serial/8250/8250_core.c | 9 +++ drivers/tty/serial/8250/8250_port.c | 64 +++++++++------ drivers/tty/serial/serial_core.c | 117 ++++++++++++++++++++-------- include/linux/serial_8250.h | 1 + 5 files changed, 141 insertions(+), 57 deletions(-) -- 2.25.0