PCI/portdrv: Use FIELD_GET()
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 10 Oct 2023 20:44:36 +0000 (15:44 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 24 Oct 2023 21:55:45 +0000 (16:55 -0500)
Use FIELD_GET() to remove dependences on the field position, i.e., the
shift value.  No functional change intended.

Link: https://lore.kernel.org/r/20231010204436.1000644-11-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
drivers/pci/pcie/portdrv.c

index 46fad0d813b2b43599f10bd74b93bbdfc0feafea..14a4b89a3b8388104f251a6e2bd8d3561435d6be 100644 (file)
@@ -6,6 +6,7 @@
  * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
  */
 
+#include <linux/bitfield.h>
 #include <linux/dmi.h>
 #include <linux/init.h>
 #include <linux/module.h>
@@ -69,7 +70,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
        if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP |
                    PCIE_PORT_SERVICE_BWNOTIF)) {
                pcie_capability_read_word(dev, PCI_EXP_FLAGS, &reg16);
-               *pme = (reg16 & PCI_EXP_FLAGS_IRQ) >> 9;
+               *pme = FIELD_GET(PCI_EXP_FLAGS_IRQ, reg16);
                nvec = *pme + 1;
        }
 
@@ -81,7 +82,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
                if (pos) {
                        pci_read_config_dword(dev, pos + PCI_ERR_ROOT_STATUS,
                                              &reg32);
-                       *aer = (reg32 & PCI_ERR_ROOT_AER_IRQ) >> 27;
+                       *aer = FIELD_GET(PCI_ERR_ROOT_AER_IRQ, reg32);
                        nvec = max(nvec, *aer + 1);
                }
        }
@@ -92,7 +93,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
                if (pos) {
                        pci_read_config_word(dev, pos + PCI_EXP_DPC_CAP,
                                             &reg16);
-                       *dpc = reg16 & PCI_EXP_DPC_IRQ;
+                       *dpc = FIELD_GET(PCI_EXP_DPC_IRQ, reg16);
                        nvec = max(nvec, *dpc + 1);
                }
        }