[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221020162631.68914-1-andriy.shevchenko@linux.intel.com>
Date: Thu, 20 Oct 2022 19:26:26 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-arm-kernel@...ts.infradead.org, linux-spi@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Daniel Mack <daniel@...que.org>,
Haojian Zhuang <haojian.zhuang@...il.com>,
Robert Jarzmik <robert.jarzmik@...e.fr>,
Mark Brown <broonie@...nel.org>
Subject: [PATCH v3 0/5] spi: pxa2xx: Pass the SSP type via device property
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
Powered by blists - more mailing lists