summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2018-08-01 10:38:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-08-08 09:28:04 +0200
commitfc2c618c2038dda38830d1bfaea7af5b38944f3f (patch)
tree893f24ee71421e1108c0ec2b71eaca625faf1f9f /arch
parentdcad7abc47f78d401519e64a6d917a2835af26d5 (diff)
downloadbarebox-fc2c618c2038dda38830d1bfaea7af5b38944f3f.tar.gz
barebox-fc2c618c2038dda38830d1bfaea7af5b38944f3f.tar.xz
pci: add quirk infrastructure
This is a cut down version of the Linux kernel PCI quirk infrastructure, which allows to register and execute some fixups before the driver is loaded. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib32/barebox.lds.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/lib32/barebox.lds.S b/arch/arm/lib32/barebox.lds.S
index 594bf56837..7230e5f31f 100644
--- a/arch/arm/lib32/barebox.lds.S
+++ b/arch/arm/lib32/barebox.lds.S
@@ -106,6 +106,18 @@ SECTIONS
__usymtab : { BAREBOX_SYMS }
__usymtab_end = .;
+#ifdef CONFIG_PCI
+ __start_pci_fixups_early = .;
+ .pci_fixup_early : { KEEP(*(.pci_fixup_early)) }
+ __end_pci_fixups_early = .;
+ __start_pci_fixups_header = .;
+ .pci_fixup_header : { KEEP(*(.pci_fixup_header)) }
+ __end_pci_fixups_header = .;
+ __start_pci_fixups_enable = .;
+ .pci_fixup_enable : { KEEP(*(.pci_fixup_enable)) }
+ __end_pci_fixups_enable = .;
+#endif
+
.oftables : { BAREBOX_CLK_TABLE() }
.dtb : { BAREBOX_DTB() }