On Wed, Dec 12, 2018 at 01:42:29PM +0200, Jarkko Nikula wrote: > Hi > > On 10/25/18 4:57 PM, Rafael J. Wysocki wrote: > > On Tue, Oct 23, 2018 at 1:46 PM Jarkko Nikula > > <jarkko.nikula@xxxxxxxxxxxxxxx> wrote: > > > > > > Commit a9c8088c7988 ("i2c: i801: Don't restore config registers on > > > runtime PM") nullified the runtime PM suspend/resume callback pointers > > > while keeping the runtime PM enabled. > > > > > > This causes that SMBus PCI device stays in D0 power state and sysfs > > > /sys/bus/pci/devices/[SMBus PCI ID]/power/runtime_status shows "error" > > > when the runtime PM framework attempts to autosuspend the device. This > > > is due PCI bus runtime PM which checks for driver runtime PM callbacks > > > and returns with -ENOSYS if they are not set. > > > > > > Since i2c-i801.c don't need to do anything device specific beyond PCI > > > device power state management Jean Delvare proposed if this can be fixed > > > in the PCI subsystem core level rather than adding dummy runtime PM > > > callback functions in the PCI drivers. > > > > > > Change the pci_pm_runtime_suspend()/pci_pm_runtime_resume() semantics so > > > that they allow change the PCI device power state during runtime PM > > > transitions even if no runtime PM callback functions are defined. > > > > > > This change fixes the runtime PM regression on i2c-i801.c. > > > > > > It is not obvious why the code had hard requirements for the runtime PM > > > callbacks. Test has been here since the code was introduced by the > > > commit 6cbf82148ff2 ("PCI PM: Run-time callbacks for PCI bus type"). > > > > > > On the other hand similar change than this was done to generic runtime > > > PM callbacks way back in the commit 05aa55dddb9e ("PM / Runtime: Lenient > > > generic runtime pm callbacks"). > > > > > > Fixes: a9c8088c7988 ("i2c: i801: Don't restore config registers on runtime PM") > > > Reported-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > > > Cc: <stable@xxxxxxxxxxxxxxx> # 4.18+ > > > Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> > > > > Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > > I guess this patch with Reviewed-by tags from Rafael and Jean got buried > under other list traffic as I don't find this from pci.git or linux-next? Sorry, I totally dropped the ball on this. I normally would interpret Rafael's reviewed-by as an indication that he intends me to pick it up. My only excuse is some travel and unexpected sick time that has put me behind. I applied this to pci/pm for v4.21, with Reviewed-by tags from Jean and Rafael, thanks! Bjorn