[PATCH v2 0/5] spi: pxa2xx: Pass the SSP type via device property
From: Andy Shevchenko
Date: Wed Oct 19 2022 - 11:11:35 EST
Currently the SPI PXA2xx devices on Intel platforms can be instantiated
via the following paths:
1) as ACPI LPSS device on Haswell, Bay Trail and Cherry Trail
2) as ACPI LPSS device on the Sky Lake and newer
3) as PCI LPSS device on Haswell, Bay Trail and Cherry Trail
4) as PCI LPSS device on the Sky Lake and newer
5) as PCI device via ID table
Each of this case provides some platform related data differently,
i.e.:
1) via drivers/acpi/acpi_lpss.c and drivers/spi/spi-pxa2xx.c;
2) via drivers/mfd/intel-lpss-acpi.c;
3) via drivers/spi/spi-pxa2xx-pci.c;
4) via drivers/mfd/intel-lpss-pci.c and drivers/spi/spi-pxa2xx.c;
5) via drivers/spi/spi-pxa2xx-pci.c;
This approach has two downsides:
a) there is no data propagated in the case #2 because we can't have
two or more drivers to match the same ACPI ID and hence some cases
are still not supported (Sky Lake and Cannon Lake ACPI enabled
LPSS);
a) the data is duplicated over two drivers in case #4 and, besides
to be a bloatware, it is error prone (e.g. Lakefield has a wrong
data right now due to missed PCI entry in the spi-pxa2xx.c);
This series fixes the downsides, and enables previously unsupported
cases. On top of that it has a coupole of cleanups (patches 4 and 5).
Changelog v2:
- added cover letter (Mark)
- dropped applied patch
Andy Shevchenko (5):
spi: pxa2xx: Respect Intel SSP type given by a property
spi: pxa2xx: Remove no more needed PCI ID table
spi: pxa2xx: Remove no more needed driver data
spi: pxa2xx: Move OF and ACPI ID tables closer to their user
spi: pxa2xx: Switch from PM ifdeffery to pm_ptr()
drivers/spi/spi-pxa2xx.c | 170 +++++++------------------------------
include/linux/pxa2xx_ssp.h | 1 +
2 files changed, 30 insertions(+), 141 deletions(-)
--
2.35.1