powerpc/powernv: Replace variables with flags
authorGavin Shan <shangw@linux.vnet.ibm.com>
Thu, 27 Jun 2013 05:46:44 +0000 (13:46 +0800)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 1 Jul 2013 01:10:32 +0000 (11:10 +1000)
We have 2 fields in "struct pnv_phb" to trace the states. The patch
replace the fields with one and introduces flags for that. The patch
doesn't impact the logic.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/powernv/eeh-ioda.c
arch/powerpc/platforms/powernv/pci.c
arch/powerpc/platforms/powernv/pci.h

index 84f3036511cb9998fcd9febfc3ff192b43fff105..85025d7e639623f7c0815ad337f96884941db1c7 100644 (file)
@@ -132,7 +132,7 @@ static int ioda_eeh_post_init(struct pci_controller *hose)
                                            &ioda_eeh_dbgfs_ops);
 #endif
 
-               phb->eeh_enabled = 1;
+               phb->eeh_state |= PNV_EEH_STATE_ENABLED;
        }
 
        return 0;
@@ -815,7 +815,7 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
                 * removed, we needn't take care of it any more.
                 */
                phb = hose->private_data;
-               if (phb->removed)
+               if (phb->eeh_state & PNV_EEH_STATE_REMOVED)
                        continue;
 
                rc = opal_pci_next_error(phb->opal_id,
@@ -850,7 +850,7 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
                                list_for_each_entry_safe(hose, tmp,
                                                &hose_list, list_node) {
                                        phb = hose->private_data;
-                                       phb->removed = 1;
+                                       phb->eeh_state |= PNV_EEH_STATE_REMOVED;
                                }
 
                                WARN(1, "EEH: dead IOC detected\n");
@@ -867,7 +867,7 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
 
                                WARN(1, "EEH: dead PHB#%x detected\n",
                                     hose->global_number);
-                               phb->removed = 1;
+                               phb->eeh_state |= PNV_EEH_STATE_REMOVED;
                                ret = 3;
                                goto out;
                        } else if (severity == OPAL_EEH_SEV_PHB_FENCED) {
index 577cbeadb0ea802b9556be32c0c1325527ffe3fc..4c91e6dd1af29c2647c95ff02339db27c112fb9f 100644 (file)
@@ -309,7 +309,7 @@ static int pnv_pci_read_config(struct pci_bus *bus,
        if (phb_pe && (phb_pe->state & EEH_PE_ISOLATED))
                return PCIBIOS_SUCCESSFUL;
 
-       if (phb->eeh_enabled) {
+       if (phb->eeh_state & PNV_EEH_STATE_ENABLED) {
                if (*val == EEH_IO_ERROR_VALUE(size)) {
                        busdn = pci_bus_to_OF_node(bus);
                        for (dn = busdn->child; dn; dn = dn->sibling) {
@@ -359,7 +359,7 @@ static int pnv_pci_write_config(struct pci_bus *bus,
 
        /* Check if the PHB got frozen due to an error (no response) */
 #ifdef CONFIG_EEH
-       if (!phb->eeh_enabled)
+       if (!(phb->eeh_state & PNV_EEH_STATE_ENABLED))
                pnv_pci_config_check_eeh(phb, bus, bdfn);
 #else
        pnv_pci_config_check_eeh(phb, bus, bdfn);
index 43906e3ab26f7f538cac0ae1cb7c25fd2a61142e..40bdf0219b96582f8d58b426abf56d064d13104f 100644 (file)
@@ -78,6 +78,10 @@ struct pnv_eeh_ops {
        int (*configure_bridge)(struct eeh_pe *pe);
        int (*next_error)(struct eeh_pe **pe);
 };
+
+#define PNV_EEH_STATE_ENABLED  (1 << 0)        /* EEH enabled  */
+#define PNV_EEH_STATE_REMOVED  (1 << 1)        /* PHB removed  */
+
 #endif /* CONFIG_EEH */
 
 struct pnv_phb {
@@ -92,8 +96,7 @@ struct pnv_phb {
 
 #ifdef CONFIG_EEH
        struct pnv_eeh_ops      *eeh_ops;
-       int                     eeh_enabled;
-       int                     removed;
+       int                     eeh_state;
 #endif
 
 #ifdef CONFIG_DEBUG_FS