* Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> [230302 16:07]: > 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." OK good point, will update that for the next version. FYI, I replaced the serial core platform bus with just struct device and bus, need to clean-up a bit before posting though. Regards, Tony