On Mon, Nov 02, 2020 at 07:22:39PM +0800, Chunyan Zhang wrote: > From: Chunyan Zhang <chunyan.zhang@xxxxxxxxxx> > Before transfer message, spi devices probably have been in runtime suspended, > that would cause the kernel crash on some platforms once access spi > registers, such as on Unisoc's SoCs. The spi devices can be suspended > until message transfer completed. This commit message is a bit hard to follow so I don't really understand what the issue is. We only ever call transfer_one_message() from within __spi_pump_messages() which already handles auto_runtime_pm so I'm not seeing the situation where we might get to transfer_one_message() without having already runtime resumed the controller. What exactly is the error situation here? This code has been around for a while and I'm not aware of reports of issues here and I can't see anything unusual that the Spreadtrum driver is doing. Also why are we doing this in transfer_one_message() where it will only work for controllers using that? If we're missing runtime PM in some paths then presumably controllers with a custom implementation are also going to be affected as well, auto_runtime_pm is supposed to work for them as well.
Attachment:
signature.asc
Description: PGP signature