Add OSC_OWNER() helper to prettify checking the _OSC control bits to learn
whether the platform has granted us control of PCI features.  No functional
change intended.

[bhelgaas: split to separate patch, commit log]
Signed-off-by: Kuppuswamy Sathyanarayanan 
<sathyanarayanan.kuppusw...@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelg...@google.com>
---
 drivers/acpi/pci_root.c | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 0bf072cef6cf..601fbe905993 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -874,6 +874,12 @@ static void acpi_pci_root_release_info(struct 
pci_host_bridge *bridge)
        __acpi_pci_root_release_info(bridge->release_data);
 }
 
+#define OSC_OWNER(ctrl, bit, flag)     \
+       do {                            \
+               if (!(ctrl & bit))      \
+                       flag = 0;       \
+       } while (0)
+
 struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,
                                     struct acpi_pci_root_ops *ops,
                                     struct acpi_pci_root_info *info,
@@ -885,6 +891,7 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root 
*root,
        struct pci_bus *bus;
        struct pci_host_bridge *host_bridge;
        union acpi_object *obj;
+       u32 ctrl;
 
        info->root = root;
        info->bridge = device;
@@ -910,18 +917,16 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root 
*root,
                goto out_release_info;
 
        host_bridge = to_pci_host_bridge(bus->bridge);
-       if (!(root->osc_control_set & OSC_PCI_EXPRESS_NATIVE_HP_CONTROL))
-               host_bridge->native_pcie_hotplug = 0;
-       if (!(root->osc_control_set & OSC_PCI_SHPC_NATIVE_HP_CONTROL))
-               host_bridge->native_shpc_hotplug = 0;
-       if (!(root->osc_control_set & OSC_PCI_EXPRESS_AER_CONTROL))
-               host_bridge->native_aer = 0;
-       if (!(root->osc_control_set & OSC_PCI_EXPRESS_PME_CONTROL))
-               host_bridge->native_pme = 0;
-       if (!(root->osc_control_set & OSC_PCI_EXPRESS_LTR_CONTROL))
-               host_bridge->native_ltr = 0;
-       if (!(root->osc_control_set & OSC_PCI_EXPRESS_DPC_CONTROL))
-               host_bridge->native_dpc = 0;
+
+       ctrl = root->osc_control_set;
+       OSC_OWNER(ctrl, OSC_PCI_EXPRESS_NATIVE_HP_CONTROL,
+                 host_bridge->native_pcie_hotplug);
+       OSC_OWNER(ctrl, OSC_PCI_SHPC_NATIVE_HP_CONTROL,
+                 host_bridge->native_shpc_hotplug);
+       OSC_OWNER(ctrl, OSC_PCI_EXPRESS_AER_CONTROL, host_bridge->native_aer);
+       OSC_OWNER(ctrl, OSC_PCI_EXPRESS_PME_CONTROL, host_bridge->native_pme);
+       OSC_OWNER(ctrl, OSC_PCI_EXPRESS_LTR_CONTROL, host_bridge->native_ltr);
+       OSC_OWNER(ctrl, OSC_PCI_EXPRESS_DPC_CONTROL, host_bridge->native_dpc);
 
        /*
         * Evaluate the "PCI Boot Configuration" _DSM Function.  If it
-- 
2.25.1

Reply via email to