mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
pci-v6.17-fixes-3
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmjEOk4UHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vy/6BAAuG1tHr0eS8N91izFldT+aVt8pAdW wOUsHzj6CkcxSYHuAc1wnSKBb7xxqNLdotsfSOAAUQrCctvlNiy2sxkDp31wrZcJ 5up0h7VXqIV8Vbirde4nrlN3ey8Op1xUGn/V2VulzH+BCRauIjtXBcZVUmgVJ0xw MZ9n9I0GKbykNUiQIZCgJEZvI25rNbAalhfxN7JtY/U0Ra60XI+s6Z6Vi1T8whGt SupYOnNUXubStEDDu2QzPMinHTU266ory3zPU0mbrRSOq1aqfljTuVQsTREjrKVR Q6GnOlB3o9q2E5UfrZcJlskwdN+cT1FvZx97Ec6Izjj4sCsF47CtfYGfwSakdCRU Y2cyGzi1MEwuFmRsiLCmiuW5pk5SzU8vYpC7Vpoi+cyrfF3T8hSIuiMyUsuq/b9x lZv4z/1KLZNdbKX/ZDTaTWq0rKZzvxrpSFfSq+HWzzPj9w3rvSf3p5lVX8gY+pqN WD1uMtv3NKgTeZkxCXkeVBd9x5o0jWWGaohCuuOLTr0FEG63Yg1x4/blCdf1YPCi ZIqcd7aAiKzQAsWylqpJCOvYlRsCDo4mY1HvpPi5mwCtjM9cYmi85L0CwLW/mgZ8 NHLmzlUOOmbqwvHjjmocOFZnxmXlYRlO61S572Lc3H136KrveXv41m8YHubbr8K8 8lt6NE8Cc11M7Ac= =LR29 -----END PGP SIGNATURE----- Merge tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Pull pci fix from Bjorn Helgaas: - Fix mvebu PCI enumeration regression caused by converting to for_each_of_range() iterator (Klaus Kudielka) * tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: PCI: mvebu: Fix use of for_each_of_range() iterator
This commit is contained in:
commit
22f20375f5
1 changed files with 4 additions and 17 deletions
|
@ -1168,12 +1168,6 @@ static void __iomem *mvebu_pcie_map_registers(struct platform_device *pdev,
|
|||
return devm_ioremap_resource(&pdev->dev, &port->regs);
|
||||
}
|
||||
|
||||
#define DT_FLAGS_TO_TYPE(flags) (((flags) >> 24) & 0x03)
|
||||
#define DT_TYPE_IO 0x1
|
||||
#define DT_TYPE_MEM32 0x2
|
||||
#define DT_CPUADDR_TO_TARGET(cpuaddr) (((cpuaddr) >> 56) & 0xFF)
|
||||
#define DT_CPUADDR_TO_ATTR(cpuaddr) (((cpuaddr) >> 48) & 0xFF)
|
||||
|
||||
static int mvebu_get_tgt_attr(struct device_node *np, int devfn,
|
||||
unsigned long type,
|
||||
unsigned int *tgt,
|
||||
|
@ -1189,19 +1183,12 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,
|
|||
return -EINVAL;
|
||||
|
||||
for_each_of_range(&parser, &range) {
|
||||
unsigned long rtype;
|
||||
u32 slot = upper_32_bits(range.bus_addr);
|
||||
|
||||
if (DT_FLAGS_TO_TYPE(range.flags) == DT_TYPE_IO)
|
||||
rtype = IORESOURCE_IO;
|
||||
else if (DT_FLAGS_TO_TYPE(range.flags) == DT_TYPE_MEM32)
|
||||
rtype = IORESOURCE_MEM;
|
||||
else
|
||||
continue;
|
||||
|
||||
if (slot == PCI_SLOT(devfn) && type == rtype) {
|
||||
*tgt = DT_CPUADDR_TO_TARGET(range.cpu_addr);
|
||||
*attr = DT_CPUADDR_TO_ATTR(range.cpu_addr);
|
||||
if (slot == PCI_SLOT(devfn) &&
|
||||
type == (range.flags & IORESOURCE_TYPE_BITS)) {
|
||||
*tgt = (range.parent_bus_addr >> 56) & 0xFF;
|
||||
*attr = (range.parent_bus_addr >> 48) & 0xFF;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue