powerpc/powernv: Simplify pnv_ioda_configure_pe()
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Wed, 12 Nov 2014 02:36:09 +0000 (13:36 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 14 Nov 2014 06:24:24 +0000 (17:24 +1100)
Nested if statements are always bad and the patch avoids one by
checking PHB type and bail in advance if necessary.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/pci-ioda.c

index b96ba48462f7a0579e0d283e0da9b0218a006752..762ca14228ea45ba55a3472c405b17b7939649da 100644 (file)
@@ -684,26 +684,28 @@ static int pnv_ioda_configure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe)
                phb->ioda.pe_rmap[rid] = pe->pe_number;
 
        /* Setup one MVTs on IODA1 */
-       if (phb->type == PNV_PHB_IODA1) {
-               pe->mve_number = pe->pe_number;
-               rc = opal_pci_set_mve(phb->opal_id, pe->mve_number,
-                                     pe->pe_number);
+       if (phb->type != PNV_PHB_IODA1) {
+               pe->mve_number = 0;
+               goto out;
+       }
+
+       pe->mve_number = pe->pe_number;
+       rc = opal_pci_set_mve(phb->opal_id, pe->mve_number, pe->pe_number);
+       if (rc != OPAL_SUCCESS) {
+               pe_err(pe, "OPAL error %ld setting up MVE %d\n",
+                      rc, pe->mve_number);
+               pe->mve_number = -1;
+       } else {
+               rc = opal_pci_set_mve_enable(phb->opal_id,
+                                            pe->mve_number, OPAL_ENABLE_MVE);
                if (rc) {
-                       pe_err(pe, "OPAL error %ld setting up MVE %d\n",
+                       pe_err(pe, "OPAL error %ld enabling MVE %d\n",
                               rc, pe->mve_number);
                        pe->mve_number = -1;
-               } else {
-                       rc = opal_pci_set_mve_enable(phb->opal_id,
-                                                    pe->mve_number, OPAL_ENABLE_MVE);
-                       if (rc) {
-                               pe_err(pe, "OPAL error %ld enabling MVE %d\n",
-                                      rc, pe->mve_number);
-                               pe->mve_number = -1;
-                       }
                }
-       } else if (phb->type == PNV_PHB_IODA2)
-               pe->mve_number = 0;
+       }
 
+out:
        return 0;
 }