patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
	Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
	linux-spi@vger.kernel.org
Subject: [PATCH AUTOSEL 6.17-6.1] spi: intel-pci: Add support for Arrow Lake-H SPI serial flash
Date: Tue, 28 Oct 2025 08:48:08 -0400	[thread overview]
Message-ID: <20251028124815.1058740-8-sashal@kernel.org> (raw)
In-Reply-To: <20251028124815.1058740-1-sashal@kernel.org>

From: Mika Westerberg <mika.westerberg@linux.intel.com>

[ Upstream commit bc25c6e0a4880b5ad70c31fe1466f30c9e4c8f52 ]

Add Intel Arrow Lake-H PCI ID to the driver list of supported devices.
This is the same controller found in previous generations.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://patch.msgid.link/20251020145415.3377022-3-mika.westerberg@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

Based on my comprehensive analysis of both the commit and the kernel
repository context, here is my assessment:

## **Backport Status: YES**

---

## **Analysis Details**

### **1. Code Changes Analysis**
The commit adds a single line to `drivers/spi/spi-intel-pci.c`:
```c
{ PCI_VDEVICE(INTEL, 0x7723), (unsigned long)&cnl_info },
```

This adds PCI device ID `0x7723` (Intel Arrow Lake-H SPI controller) to
the supported devices table, using the existing `cnl_info` board
configuration that's already proven and tested on numerous other Intel
platforms.

**Change statistics:** 1 file changed, 1 insertion (+)

### **2. Stable Kernel Rules Compliance**

I examined `/home/sasha/linux/Documentation/process/stable-kernel-
rules.rst` and found **explicit authorization** for this type of commit:

**Line 15 states:** *"It must either fix a real bug that bothers people
or just add a device ID."*

This commit satisfies the stable tree requirements:
- ✅ **Adds a device ID** (explicitly allowed per line 15)
- ✅ **Already in mainline** (commit bc25c6e0a4880)
- ✅ **Size: 1 line** (well under the 100-line limit)
- ✅ **Obviously correct** (simple table entry addition)
- ✅ **Enables hardware support** for Arrow Lake-H users

### **3. Historical Precedent - Similar Commits Backported**

I verified that similar PCI ID additions to this driver have been
**consistently backported** to stable trees:

**Evidence from repository analysis:**
```bash
# Lunar Lake-M commit (8f44e3808200c)
Backported to: stable/linux-6.8.y, 6.10.y, 6.11.y, 6.12.y, 6.13.y,
6.14.y, 6.15.y, 6.16.y, 6.17.y

# Arrow Lake non-H commit (8afe3c7fcaf72)
Backported to: stable/linux-6.8.y, 6.10.y, 6.11.y, 6.12.y, 6.13.y,
6.14.y, 6.15.y, 6.16.y, 6.17.y
```

**Pattern:** Device ID additions for Intel SPI controllers are routinely
backported, even without explicit "Cc: stable" tags, because they're
explicitly permitted by stable rules.

### **4. Cross-Subsystem Context**

Arrow Lake-H is a **real, shipping platform**. I found multiple Arrow
Lake-H device ID additions across the kernel, many already backported:

- `i2c: i801: Add support for Intel Arrow Lake-H` (f0eda4ddb2146) →
  **backported to 6.11.y - 6.14.y**
- `usb: dwc3: pci: add support for the Intel Arrow Lake-H`
  (2fff7bb8f1c26) → **backported to 6.7.y**
- `mfd: intel-lpss: Add Intel Arrow Lake-H LPSS PCI IDs` (1523d8ea99d28,
  6112597f5ba84)
- `pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID` (080c3068715df,
  a366e46da10d7)

This demonstrates that Arrow Lake-H support is being actively backported
across subsystems.

### **5. Risk Assessment**

**Risk: MINIMAL**

- **No code behavior changes** - only adds a PCI ID entry
- **Uses existing, proven code path** - references `cnl_info` used by
  20+ other device IDs
- **Isolated impact** - only affects systems with Arrow Lake-H hardware
  (PCI ID 0x7723)
- **No dependencies** - standalone change requiring no prerequisites
- **No architectural changes** - no API modifications, no data structure
  changes

### **6. User Impact**

**Without this patch:** Users with Arrow Lake-H systems cannot access
their SPI flash controller, preventing firmware access and critical
hardware functionality.

**With this patch:** Arrow Lake-H hardware works identically to other
supported Intel platforms (Lunar Lake, Meteor Lake, Granite Rapids,
etc.)

### **7. Author & Maintainer Context**

- **Author:** Mika Westerberg (original driver author and maintainer)
- **Commit history:** 16 out of 23 recent commits to this file are by
  Mika, primarily adding new Intel platform PCI IDs
- **Pattern:** Consistent, incremental hardware enablement for new Intel
  platforms

---

## **Conclusion**

This commit is a **textbook example** of what should be backported to
stable trees:
1. Explicitly permitted by stable kernel rules (device ID addition)
2. Minimal size (1 line) and zero risk
3. Consistent with historical backporting patterns
4. Enables real hardware that users have
5. No behavior changes to existing code
6. Part of broader Arrow Lake-H enablement across kernel subsystems

**Recommendation:** Backport to all active stable trees (6.12.y, 6.11.y,
6.10.y, etc.) following the same pattern as previous Intel SPI
controller device additions.

 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 4bb158a23349e..7765fb27c37c3 100644
--- a/drivers/spi/spi-intel-pci.c
+++ b/drivers/spi/spi-intel-pci.c
@@ -80,6 +80,7 @@ static const struct pci_device_id intel_spi_pci_ids[] = {
 	{ PCI_VDEVICE(INTEL, 0x51a4), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x54a4), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x5794), (unsigned long)&cnl_info },
+	{ PCI_VDEVICE(INTEL, 0x7723), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x7a24), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x7aa4), (unsigned long)&cnl_info },
 	{ PCI_VDEVICE(INTEL, 0x7e23), (unsigned long)&cnl_info },
-- 
2.51.0


  parent reply	other threads:[~2025-10-28 12:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-28 12:48 [PATCH AUTOSEL 6.17-6.1] spi: intel-pci: Add support for Intel Wildcat Lake SPI serial flash Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17] erofs: consolidate z_erofs_extent_lookback() Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.12] drm/panic: Fix overlap between qr code and logo Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.1] net: datagram: introduce datagram_poll_queue for custom receive queues Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-5.4] of/irq: Fix OF node refcount in of_msi_get_domain() Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.1] riscv: mm: Define MAX_POSSIBLE_PHYSMEM_BITS for zsmalloc Sasha Levin
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.6] firmware: arm_scmi: Skip RAW initialization on failure Sasha Levin
2025-10-28 12:48 ` Sasha Levin [this message]
2025-10-28 12:48 ` [PATCH AUTOSEL 6.17-6.12] drm/panic: Fix divide by 0 if the screen width < font width Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251028124815.1058740-8-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=broonie@kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).