Messages in this thread | | | From | Paul Mackerras <> | Date | Sat, 20 Apr 2002 19:10:55 +1000 (EST) | Subject | Re: PowerPC Linux and PCI |
| |
David S. Miller writes:
> From: James L Peterson <peterson@austin.ibm.com> > Date: Fri, 19 Apr 2002 16:37:03 -0500 > > if (pci_read_config_dword(temp, PCI_VENDOR_ID, &l)) > return NULL; > .... > memcpy(dev, temp, sizeof(*dev)); > dev->vendor = l & 0xffff; > dev->device = (l >> 16) & 0xffff; > > It seems to me this is incorrect for a big-endian machine > (like PowerPC). If we read the two 16-bit parts out of the > first 32-bit part, we will end up with: > > pci_read_config_dword should do the byte swapping on &l for > the caller, fix your pci_{read,write}_config_*() arch implementation.
It does, that's why it all works. :) James Peterson seems to have missed this fact, hence his confusion.
Paul. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |