On Mon, Jan 16, 2023 at 09:59:58AM +0200, 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 do this, let's set up a 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. A side note. Perhaps it makes sense to also clean up documentation somehow related to this change. For example, I found that Documentation/firmware-guide/acpi/enumeration.rst has this: "Note that standard UARTs are not busses so there is no struct uart_device, although some of them may be represented by struct serdev_device." -- With Best Regards, Andy Shevchenko