diff options
| author | Rosen Penev <rosenp@gmail.com> | 2026-11-01 12:01:55 -0800 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-11-02 01:00:42 +0000 |
| commit | 2d0953ab69d316589624b0517fdce01f8e630bf0 (patch) | |
| tree | 5be26e4893e6bf0eb62a852317c7faee28eaebe4 /scripts/dummy-tools/python3 | |
| parent | 2066970324a1439e5a2e08c4599098367f8f82cc (diff) | |
spi: acpi: only look up the IRQ of confirmed SPI devices
When an SPI controller is registered, acpi_register_spi_device() is
called for every present ACPI device in the namespace and
acpi_spi_device_alloc() walks each device's _CRS. While doing so,
acpi_spi_add_resource() converts the first interrupt resource it finds,
even for devices that have no SpiSerialBus resource at all and are
discarded right afterwards. Converting an interrupt resource registers
its GSI, so this maps IRQs for arbitrary unrelated ACPI devices.
On a Dell Precision M4800 (Lynx Point, 24-pin IOAPIC) the DSDT reports
Haswell-ULT LPSS child devices (\_SB.PCI0.I2C0.ACD0 and
\_SB.PCI0.SDHC.WI01) as present with interrupts on GSI 37 and 38.
Registering the intel-spi controller then results in:
ERROR: Unable to locate IOAPIC for GSI 37
ERROR: Unable to locate IOAPIC for GSI 38
Do what the I2C core does and only parse the interrupt resource once the
device has been identified as an SPI device on this controller.
Fixes: 4c3c59544f33 ("spi/acpi: enumerate all SPI slaves in the namespace")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20261101200155.15740-1-rosenp@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/dummy-tools/python3')
0 files changed, 0 insertions, 0 deletions
