]> err.no Git - linux-2.6/commitdiff
[POWERPC] iseries: Fix a compiler warning in platforms/iseries/vpdinfo.c
authorMichael Ellerman <michael@ellerman.id.au>
Thu, 13 Jul 2006 07:54:39 +0000 (17:54 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 13 Jul 2006 08:43:01 +0000 (18:43 +1000)
iSeries_Get_Location_Code() has error paths, but currently returns void, so
give it a return code and only print the output if it returns successfully.
Gcc isn't smart enough to be quiet though, so set frame to 0 to shut it up.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/powerpc/platforms/iseries/vpdinfo.c

index 23a6d1e5b4293236fd414d046bae8ecb9c843681..ba7f6a62c3bfdaa5ba286eba344af969bbbfca92 100644 (file)
@@ -205,15 +205,16 @@ static void __init iSeries_Parse_Vpd(u8 *VpdData, int VpdDataLen,
        }
 }
 
-static void __init iSeries_Get_Location_Code(u16 bus, HvAgentId agent,
+static int __init iSeries_Get_Location_Code(u16 bus, HvAgentId agent,
                u8 *frame, char card[4])
 {
+       int status = 0;
        int BusVpdLen = 0;
        u8 *BusVpdPtr = kmalloc(BUS_VPDSIZE, GFP_KERNEL);
 
        if (BusVpdPtr == NULL) {
                printk("PCI: Bus VPD Buffer allocation failure.\n");
-               return;
+               return 0;
        }
        BusVpdLen = HvCallPci_getBusVpd(bus, iseries_hv_addr(BusVpdPtr),
                                        BUS_VPDSIZE);
@@ -228,8 +229,10 @@ static void __init iSeries_Get_Location_Code(u16 bus, HvAgentId agent,
                goto out_free;
        }
        iSeries_Parse_Vpd(BusVpdPtr, BusVpdLen, agent, frame, card);
+       status = 1;
 out_free:
        kfree(BusVpdPtr);
+       return status;
 }
 
 /*
@@ -246,7 +249,7 @@ void __init iSeries_Device_Information(struct pci_dev *PciDev, int count)
        struct device_node *DevNode = PciDev->sysdata;
        struct pci_dn *pdn;
        u16 bus;
-       u8 frame;
+       u8 frame = 0;
        char card[4];
        HvSubBusNumber subbus;
        HvAgentId agent;
@@ -262,10 +265,11 @@ void __init iSeries_Device_Information(struct pci_dev *PciDev, int count)
        subbus = pdn->bussubno;
        agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus),
                        ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus));
-       iSeries_Get_Location_Code(bus, agent, &frame, card);
 
-       printk("%d. PCI: Bus%3d, Device%3d, Vendor %04X Frame%3d, Card %4s  ",
-                       count, bus, PCI_SLOT(PciDev->devfn), PciDev->vendor,
-                       frame, card);
-       printk("0x%04X\n", (int)(PciDev->class >> 8));
+       if (iSeries_Get_Location_Code(bus, agent, &frame, card)) {
+               printk("%d. PCI: Bus%3d, Device%3d, Vendor %04X Frame%3d, "
+                       "Card %4s  0x%04X\n", count, bus,
+                       PCI_SLOT(PciDev->devfn), PciDev->vendor, frame,
+                       card, (int)(PciDev->class >> 8));
+       }
 }