Hi, * Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> [230601 11:00]: > Hi Tony, > > On 25.05.2023 13:30, Tony Lindgren wrote: > > We want to enable runtime PM for serial port device drivers in a generic > > way. To do this, we want to have the serial core layer manage the > > registered physical serial controller devices. > > > > To manage serial controllers, let's set up a struct bus and struct device > > for the serial core controller as suggested by Greg and Jiri. The serial > > core controller devices are children of the physical serial port device. > > The serial core controller device is needed to support multiple different > > kind of ports connected to single physical serial port device. > > > > Let's also set up a struct device for the serial core port. The serial > > core port instances are children of the serial core controller device. > > > > With the serial core port device we can now flush pending TX on the > > runtime PM resume as suggested by Johan. > > > > Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Suggested-by: Jiri Slaby <jirislaby@xxxxxxxxxx> > > Suggested-by: Johan Hovold <johan@xxxxxxxxxx> > > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > > This patch landed in today's linux next-20230601 as commit 84a9582fd203 > ("serial: core: Start managing serial controllers to enable runtime > PM"). Unfortunately it breaks booting some of my test boards. This can > be easily reproduced with QEMU and ARM64 virt machine. The last message > I see in the log is: > > [ 3.084743] Run /sbin/init as init process OK thanks for the report. I wonder if this issue is specific to ttyAM serial port devices somehow? > I've tried a hack posted here by Steven Price, but unfortunately it > doesn't fix my issue. Reverting $subject on top of next-20230601 fixes > the boot. OK > Here is my qemu test command (nothing really special...): > > qemu-system-aarch64 -kernel Image -append "console=ttyAMA0 > no_console_suspend root=/dev/vda rootwait ip=::::target::off" -M virt > -cpu cortex-a57 -smp 2 -m 1024 -device > virtio-blk-device,drive=virtio-blk0 -device > virtio-blk-device,drive=virtio-blk1 -drive > file=qemu-virt-rootfs.raw,id=virtio-blk1,if=none,format=raw -drive > file=initrd,id=virtio-blk0,if=none,format=raw -netdev user,id=user > -device virtio-net-device,netdev=user -display none OK thanks I'll try to reproduce it. Regards, Tony