/* The read routines must check the error status of the last configuration cycle. If there was an error, the routine returns all hex f's.  */
static int iop3xx_read_config(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value)
/* The read routines must check the error status of the last configuration cycle. If there was an error, the routine returns all hex f's.  */
static int iop3xx_read_config(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value)
{
	unsigned long addr = iop3xx_cfg_address(bus, devfn, where);
	u32 val = iop3xx_read(addr) >> ((where & 3) * 8);
	if (iop3xx_pci_status())
		val = 0xffffffff;
	*value = val;
	return PCIBIOS_SUCCESSFUL;
}