linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] spi: pxa2xx: Pass the SSP type via device property
@ 2022-10-20 16:26 Andy Shevchenko
  2022-10-20 16:26 ` [PATCH v3 1/5] spi: pxa2xx: Respect Intel SSP type given by a property Andy Shevchenko
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andy Shevchenko @ 2022-10-20 16:26 UTC (permalink / raw)
  To: Andy Shevchenko, linux-arm-kernel, linux-spi, linux-kernel
  Cc: Daniel Mack, Haojian Zhuang, Robert Jarzmik, Mark Brown

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 these cases 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 newer ACPI enabled LPSS);

b) the data is duplicated over two drivers in the cases #1 & #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 couple of cleanups (patches 4 and 5).

Changelog v3:
- added tags to patches 4 & 5 (Jonathan)
- massaged cover letter

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-10-20 16:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-20 16:26 [PATCH v3 0/5] spi: pxa2xx: Pass the SSP type via device property Andy Shevchenko
2022-10-20 16:26 ` [PATCH v3 1/5] spi: pxa2xx: Respect Intel SSP type given by a property Andy Shevchenko
2022-10-20 16:26 ` [PATCH v3 2/5] spi: pxa2xx: Remove no more needed PCI ID table Andy Shevchenko
2022-10-20 16:26 ` [PATCH v3 3/5] spi: pxa2xx: Remove no more needed driver data Andy Shevchenko
2022-10-20 16:26 ` [PATCH v3 4/5] spi: pxa2xx: Move OF and ACPI ID tables closer to their user Andy Shevchenko
2022-10-20 16:26 ` [PATCH v3 5/5] spi: pxa2xx: Switch from PM ifdeffery to pm_ptr() Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).