static void iSeries_Parse_MfgArea(u8 *AreaData, int AreaLen, struct iSeries_Device_Node *DevNode) 
static void __init iSeries_Parse_MfgArea(u8 *AreaData, int AreaLen, HvAgentId agent, u8 *PhbId, u8 *frame, char card[4]) 
static void iSeries_Parse_MfgArea(u8 *AreaData, int AreaLen,		struct iSeries_Device_Node *DevNode){	MfgArea *MfgAreaPtr = (MfgArea *)AreaData;	int MfgAreaLen = AreaLen;	u16 SlotMapFmt = 0;	/* Parse Mfg Data */	while (MfgAreaLen > 0) {		int MfgTagLen = MfgAreaPtr->TagLength;		/* Frame ID         (FI 4649020310 ) */		if (MfgAreaPtr->Tag == VpdFruFrameId)		/* FI  */			DevNode->FrameId = MfgAreaPtr->AreaData1;		/* Slot Map Format  (MF 4D46020004 ) */		else if (MfgAreaPtr->Tag == VpdSlotMapFormat)	/* MF  */			SlotMapFmt = (MfgAreaPtr->AreaData1 * 256)				+ MfgAreaPtr->AreaData2;		/* Slot Map         (SM 534D90 */		else if (MfgAreaPtr->Tag == VpdSlotMap)	{	/* SM  */			SlotMap *SlotMapPtr;			if (SlotMapFmt == 0x1004)				SlotMapPtr = (SlotMap *)((char *)MfgAreaPtr						+ MFG_ENTRY_SIZE + 1);			else				SlotMapPtr = (SlotMap *)((char *)MfgAreaPtr						+ MFG_ENTRY_SIZE);	    		iSeries_Parse_SlotArea(SlotMapPtr, MfgTagLen, DevNode);		}		/*		 * Point to the next Mfg Area		 * Use defined size, sizeof give wrong answer		 */		MfgAreaPtr = (MfgArea *)((char *)MfgAreaPtr + MfgTagLen				+ MFG_ENTRY_SIZE);		MfgAreaLen -= (MfgTagLen + MFG_ENTRY_SIZE);	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/061c063efce96b33f9e26d5f83a8eb0643fa493c/iSeries_VpdInfo.c/buggy/arch/ppc64/kernel/iSeries_VpdInfo.c