Re: [RESEND PATCH 00/16] PCI: Use FIELD_MODIFY() to simplify bitfield operations
From: Bjorn Helgaas
Date: Thu Apr 30 2026 - 14:09:10 EST
On Fri, May 01, 2026 at 12:24:04AM +0800, Hans Zhang wrote:
> Replace open-coded bitmask clear + FIELD_PREP() sequences with the
> dedicated FIELD_MODIFY() macro. FIELD_MODIFY() performs the same
> operation but is shorter, less error-prone, and includes compile-time
> checks to prevent field overflow.
>
> This series touches the PCI core, PCIe extended capabilities (PTM, IDE,
> TPH, MSI, REBAR, IOV, CardBus), and several DesignWare-based and
> other PCI host controllers. No functional change is intended.
>
> The patches are split per subsystem or per driver to ease review:
A "resend" implies that this is the same series as posted earlier but
forgotten for some reason. But the original was only twelve minutes
earlier, and this adds more instances. This should be a "v2" with a
note about what changed from the original posting. In any event, I'll
ignore the original posting in favor of this one.
Looks like a good candidate for coccinelle.
> Hans Zhang (16):
> PCI: Use FIELD_MODIFY()
> PCI/PTM: Use FIELD_MODIFY()
> PCI/IDE: Use FIELD_MODIFY()
> PCI/IOV: Use FIELD_MODIFY()
> PCI/TPH: Use FIELD_MODIFY()
> PCI/MSI: Use FIELD_MODIFY()
> PCI/REBAR: Use FIELD_MODIFY()
> PCI/CARDBUS: Use FIELD_MODIFY()
> PCI: al: Use FIELD_MODIFY()
> PCI: eswin: Use FIELD_MODIFY()
> PCI: s32g: Use FIELD_MODIFY()
> PCI: tegra194: Use FIELD_MODIFY()
> PCI: qcom: Use FIELD_MODIFY()
> PCI: dwc: Use FIELD_MODIFY()
> PCI: mvebu: Use FIELD_MODIFY()
> PCI: mediatek-gen3: Use FIELD_MODIFY()
>
> drivers/pci/controller/dwc/pcie-al.c | 12 ++----
> .../controller/dwc/pcie-designware-debugfs.c | 23 ++++-------
> .../pci/controller/dwc/pcie-designware-ep.c | 3 +-
> drivers/pci/controller/dwc/pcie-designware.c | 3 +-
> drivers/pci/controller/dwc/pcie-eswin.c | 3 +-
> drivers/pci/controller/dwc/pcie-nxp-s32g.c | 3 +-
> drivers/pci/controller/dwc/pcie-qcom-common.c | 40 +++++++------------
> drivers/pci/controller/dwc/pcie-qcom-ep.c | 6 +--
> drivers/pci/controller/dwc/pcie-tegra194.c | 8 ++--
> drivers/pci/controller/pci-mvebu.c | 3 +-
> drivers/pci/controller/pcie-mediatek-gen3.c | 3 +-
> drivers/pci/ide.c | 6 +--
> drivers/pci/iov.c | 3 +-
> drivers/pci/msi/msi.c | 11 ++---
> drivers/pci/pci.c | 3 +-
> drivers/pci/pcie/ptm.c | 3 +-
> drivers/pci/rebar.c | 6 +--
> drivers/pci/setup-cardbus.c | 3 +-
> drivers/pci/tph.c | 10 ++---
> 19 files changed, 51 insertions(+), 101 deletions(-)
>
>
> base-commit: 3b3bea6d4b9c162f9e555905d96b8c1da67ecd5b
> --
> 2.34.1
>