Re: [PATCH 0/6] tty: serial: propagate errors from uart_ops.pm callback

Tony Lindgren <[email protected]> Tue, 14 Jul 2026 08:25:32 +0300
Newsgroups org.kernel.vger.linux-omap,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-mips,org.kernel.vger.linux-samsung-soc,org.kernel.vger.linux-serial
Message-ID <alXITHzkv4TlvwcT@tlindgre-MOBL1>
On Mon, Jul 13, 2026 at 02:21:24PM +0300, Andy Shevchenko wrote:
> On Mon, Jul 13, 2026 at 12:29:20PM +0300, Tony Lindgren wrote:
> > On Fri, Jul 10, 2026 at 07:37:46AM +0300, Tony Lindgren wrote:
> > > * Andy Shevchenko <[email protected]> [260709 10:38]:
> > > > Note, that Tony (you have him in the Cc list) did a lot for some corner cases
> > > > with that and we still have them IIRC. Tony, do you know what is the state of
> > > > affairs with runtime PM for UART?
> > > 
> > > The RX side of things should work for hardware that can wake up to an incoming
> > > event. Linux for sure needs more work to properly handle the various corner case
> > > TX wake-up of a PM runtime idled UART. I'm mostly offline until Monday though,
> > > will check my notes for more details next week.
> > 
> > For the TX side handling, my understanding is that at least uart_update_mctrl()
> > needs to call PM runtime resume and put autosuspend. And we should assume
> > uart_update_mctrl() can sleep to resume the PM runtime suspended serial port.
> > 
> > For drivers, the callers of uport->ops->get/set_mctrl() should be updated
> > to use uart_update_mctrl() where possible. And the remaining ones that cannot
> > sleep should be fixed so they can sleep or have PM runtime disabled.
> > 
> > Anybody have better ideas?
> 
> I don't, but the above sounds like a plan. Is it a big task? I can help with
> something in that area, perhaps Ilpo also would be able to participate.

Not sure how much changes are involved. Maybe it's safer to set up a
runtime PM enabled wrapper for uart_update_mctrl() and then start updating
the uart_update_mctrl() and get/set_mctrl() callers one at a time to make
them runtime PM aware.