From: Anton Blanchard Date: Thu, 17 Oct 2013 12:19:43 +0000 (+1100) Subject: powerpc: Fix little endian issue in OF PCI scan X-Git-Tag: v3.13-rc1~20^2~45 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e7cec6b17d1c915cf4de1a3853f1b4ae0ed26b0;p=profile%2Fcommon%2Fkernel-common.git powerpc: Fix little endian issue in OF PCI scan This issue was causing the QEMU emulated USB device to fail dring PCI probe. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt --- diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c index 4368ec6..ac0b034 100644 --- a/arch/powerpc/kernel/pci_of_scan.c +++ b/arch/powerpc/kernel/pci_of_scan.c @@ -302,7 +302,7 @@ static struct pci_dev *of_scan_pci_dev(struct pci_bus *bus, struct device_node *dn) { struct pci_dev *dev = NULL; - const u32 *reg; + const __be32 *reg; int reglen, devfn; pr_debug(" * %s\n", dn->full_name); @@ -312,7 +312,7 @@ static struct pci_dev *of_scan_pci_dev(struct pci_bus *bus, reg = of_get_property(dn, "reg", ®len); if (reg == NULL || reglen < 20) return NULL; - devfn = (reg[0] >> 8) & 0xff; + devfn = (of_read_number(reg, 1) >> 8) & 0xff; /* Check if the PCI device is already there */ dev = pci_get_slot(bus, devfn);