aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harvey2021-04-16 14:53:47 -0700
committerStefano Babic2021-05-02 12:46:54 +0200
commitcecd013fdfc740612c171cb3ffa5cabd88ffa1de (patch)
tree1fd4956100533bde26c57d78a07621872b97e1e2
parent19e1b8d9b283514eb6ab8d7253f4867068007938 (diff)
pci: pci-uclass: Add board_pci_fixup_dev for DM_PCI
Add a board_pci_fixup_dev weak function to allow PCI device fixups during enumeration. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
-rw-r--r--drivers/pci/pci-uclass.c6
-rw-r--r--include/pci.h8
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
index f463ef35509..22a033e6329 100644
--- a/drivers/pci/pci-uclass.c
+++ b/drivers/pci/pci-uclass.c
@@ -790,6 +790,10 @@ error:
return ret;
}
+__weak extern void board_pci_fixup_dev(struct udevice *bus, struct udevice *dev)
+{
+}
+
int pci_bind_bus_devices(struct udevice *bus)
{
ulong vendor, device;
@@ -895,6 +899,8 @@ int pci_bind_bus_devices(struct udevice *bus)
}
}
}
+
+ board_pci_fixup_dev(bus, dev);
}
return 0;
diff --git a/include/pci.h b/include/pci.h
index 5f36537b725..2353cebb2a3 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -1690,6 +1690,14 @@ int sandbox_pci_get_emul(const struct udevice *bus, pci_dev_t find_devfn,
*/
int sandbox_pci_get_client(struct udevice *emul, struct udevice **devp);
+/**
+ * board_pci_fixup_dev() - Board callback for PCI device fixups
+ *
+ * @bus: PCI bus
+ * @dev: PCI device
+ */
+extern void board_pci_fixup_dev(struct udevice *bus, struct udevice *dev);
+
#endif /* CONFIG_DM_PCI */
/**