#ifndef _ISERIES_VPDINFO_H #define _ISERIES_VPDINFO_H /************************************************************************/ /* File iSeries_VpdInfo.h created by Allan Trautman Feb 08 2001. */ /************************************************************************/ /* This code supports the location data fon on the IBM iSeries systems. */ /* Copyright (C) 20yy */ /* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ /* the Free Software Foundation; either version 2 of the License, or */ /* (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ /* GNU General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License */ /* along with this program; if not, write to the: */ /* Free Software Foundation, Inc., */ /* 59 Temple Place, Suite 330, */ /* Boston, MA 02111-1307 USA */ /************************************************************************/ /* Change Activity: */ /* Created, Feg 8, 2001 */ /* Reformated for Card, March 8, 2001 */ /* End Change Activity */ /************************************************************************/ struct pci_dev; /* Forward Declare */ /************************************************************************/ /* Location Data extracted from the VPD list and device info. */ /************************************************************************/ struct LocationDataStruct { /* Location data structure for device */ u16 Bus; /* iSeries Bus Number 0x00*/ u16 Board; /* iSeries Board 0x02*/ u8 FrameId; /* iSeries spcn Frame Id 0x04*/ u8 PhbId; /* iSeries Phb Location 0x05*/ u16 Card; /* iSeries Card Slot 0x06*/ char CardLocation[4]; /* Char format of planar vpd 0x08*/ u8 AgentId; /* iSeries AgentId 0x0C*/ u8 SecondaryAgentId; /* iSeries Secondary Agent Id 0x0D*/ u8 LinuxBus; /* Linux Bus Number 0x0E*/ u8 LinuxDevFn; /* Linux Device Function 0x0F*/ }; typedef struct LocationDataStruct LocationData; #define LOCATION_DATA_SIZE 16 /************************************************************************/ /* Protypes */ /************************************************************************/ extern LocationData* iSeries_GetLocationData(struct pci_dev* PciDev); extern int iSeries_Device_Information(struct pci_dev*,char*, int); #endif /* _ISERIES_VPDINFO_H */