spi: pxa2xx: Remove LPSS private register restoring during resume
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 1 Nov 2018 14:36:36 +0000 (16:36 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 5 Nov 2018 11:50:51 +0000 (11:50 +0000)
Intel LPSS private register restoring in spi-pxa2xx.c: pxa2xx_spi_resume()
was added before there was no any other code restoring them. This was
changed after following commits for previous and current LPSS platforms:

c78b0830667a ("ACPI / LPSS: custom power domain for LPSS")
41a3da2b8e16 ("mfd: intel-lpss: Save register context on suspend")

However there is one caveat: There is no LPSS private register context
save/restore for the Intel Lynxpoint in the Linux kernel code.

I did some debugging on one Lynxpoint based device I have and on it the
LPSS register context is not lost over suspend/resume cycle (s2idle).
Which happens for instance on Intel Braswell. I'm speculating but I guess
either firmware does it or the LPSS is kept always on Lynxpoint.

Given that we haven't needed to implement Lynxpoint LPSS I2C or UART
private register context save/restore over four years time I think we are
safe to remove this LPSS private register restoring during resume here.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c

index 612cc49..d46af11 100644 (file)
@@ -1811,10 +1811,6 @@ static int pxa2xx_spi_resume(struct device *dev)
                        return status;
        }
 
-       /* Restore LPSS private register bits */
-       if (is_lpss_ssp(drv_data))
-               lpss_ssp_setup(drv_data);
-
        /* Start the queue running */
        return spi_controller_resume(drv_data->master);
 }