[PATCH AUTOSEL 6.19-6.6] spi: intel-pci: Add support for Nova Lake mobile SPI flash
From: Sasha Levin
Date: Tue Mar 17 2026 - 07:33:11 EST
From: Alan Borzeszkowski <alan.borzeszkowski@xxxxxxxxxxxxxxx>
[ Upstream commit 85b731ad4bbf6eb3fedf267ab00be3596f148432 ]
Add Intel Nova Lake PCD-H SPI serial flash PCI ID to the list of
supported devices.
Signed-off-by: Alan Borzeszkowski <alan.borzeszkowski@xxxxxxxxxxxxxxx>
Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
Link: https://patch.msgid.link/20260309153703.74282-1-alan.borzeszkowski@xxxxxxxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
LLM Generated explanations, may be completely bogus:
## Analysis: spi: intel-pci: Add support for Nova Lake mobile SPI flash
### Commit Summary
This commit adds a single PCI device ID (`0xd323`) for Intel Nova Lake
PCH-H SPI serial flash to the existing `spi-intel-pci` driver, using the
already-existing `cnl_info` configuration structure.
### Code Change Analysis
The change is a **one-line addition** to the PCI device ID table:
```c
{ PCI_VDEVICE(INTEL, 0xd323), (unsigned long)&cnl_info },
```
- It uses an existing driver (`spi-intel-pci`)
- It uses an existing configuration structure (`cnl_info`)
- It only adds the device to the ID table — no new code paths, logic, or
APIs
- The entry is inserted in sorted order by PCI ID (between `0xa823` and
`0xe323`)
### Classification
This is a **new PCI device ID** addition — one of the explicitly allowed
exceptions for stable backports. From the stable rules:
> Adding PCI IDs, USB IDs, ACPI IDs, etc. to existing drivers — these
are trivial one-line additions that enable hardware support. The driver
must already exist in stable; only the ID is new.
### Risk Assessment
- **Risk: Extremely low.** The change only adds an entry to a static
table. It cannot affect any existing hardware or code paths. The
`cnl_info` structure is already used by many other devices in this
same table.
- **Benefit: Enables SPI flash access on Nova Lake mobile platforms.**
Without this ID, the kernel won't bind the driver to this hardware,
meaning SPI flash won't be accessible on these systems.
### Stable Criteria Check
1. **Obviously correct and tested**: Yes — trivial table addition, acked
by subsystem expert Mika Westerberg (original driver author)
2. **Fixes a real bug**: Enables hardware support for new Intel platform
(hardware won't work without it)
3. **Small and contained**: One line change in one file
4. **No new features/APIs**: No new code, just a device ID
5. **Applies cleanly**: Should apply cleanly to any stable tree that has
this driver
### Verification
- Confirmed the change is a single-line PCI ID table addition by
reviewing the diff
- Confirmed `cnl_info` is an existing configuration structure used by
15+ other device IDs in the same table (visible in the diff context)
- Confirmed the driver `spi-intel-pci` has existed for years (the file
`drivers/spi/spi-intel-pci.c` is a well-established driver)
- The commit is authored by an Intel engineer and acked by the original
driver author (Mika Westerberg), indicating proper review
- No dependencies on other commits — this is entirely self-contained
**YES**
drivers/spi/spi-intel-pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-intel-pci.c b/drivers/spi/spi-intel-pci.c
index bce3d149bea18..d8ef8f89330ac 100644
--- a/drivers/spi/spi-intel-pci.c
+++ b/drivers/spi/spi-intel-pci.c
@@ -96,6 +96,7 @@ static const struct pci_device_id intel_spi_pci_ids[] = {
{ PCI_VDEVICE(INTEL, 0xa324), (unsigned long)&cnl_info },
{ PCI_VDEVICE(INTEL, 0xa3a4), (unsigned long)&cnl_info },
{ PCI_VDEVICE(INTEL, 0xa823), (unsigned long)&cnl_info },
+ { PCI_VDEVICE(INTEL, 0xd323), (unsigned long)&cnl_info },
{ PCI_VDEVICE(INTEL, 0xe323), (unsigned long)&cnl_info },
{ PCI_VDEVICE(INTEL, 0xe423), (unsigned long)&cnl_info },
{ },
--
2.51.0