[PATCH v2 0/5] spi: pxa2xx: Pass the SSP type via device property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux