diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-02 12:55:37 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-14 12:09:01 +0200 |
commit | b680d2e544f959e4982ff3b6d745978beaf90339 (patch) | |
tree | f63090434f5ebc143fa7d83107e15e9470845d70 | |
parent | 22bdecc9c591ffaca6baaa158012d324c7dfa4da (diff) | |
download | barebox-b680d2e544f959e4982ff3b6d745978beaf90339.tar.gz barebox-b680d2e544f959e4982ff3b6d745978beaf90339.tar.xz |
lds: create and use BAREBOX_PCI_FIXUP macro
No need to repeat the pci fixup sections in each linker script. Add a
define for it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/lib32/barebox.lds.S | 15 | ||||
-rw-r--r-- | arch/arm/lib64/barebox.lds.S | 15 | ||||
-rw-r--r-- | arch/mips/lib/barebox.lds.S | 14 | ||||
-rw-r--r-- | include/asm-generic/barebox.lds.h | 15 |
4 files changed, 18 insertions, 41 deletions
diff --git a/arch/arm/lib32/barebox.lds.S b/arch/arm/lib32/barebox.lds.S index 9ffcffd66d..3a19d8faab 100644 --- a/arch/arm/lib32/barebox.lds.S +++ b/arch/arm/lib32/barebox.lds.S @@ -88,21 +88,8 @@ SECTIONS .barebox_initcalls : { BAREBOX_INITCALLS } .barebox_exitcalls : { BAREBOX_EXITCALLS } __usymtab : { BAREBOX_SYMS } - -#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 - + .pci_fixup : { BAREBOX_PCI_FIXUP } .oftables : { BAREBOX_CLK_TABLE } - .dtb : { BAREBOX_DTB } .rel_dyn_start : { *(.__rel_dyn_start) } diff --git a/arch/arm/lib64/barebox.lds.S b/arch/arm/lib64/barebox.lds.S index 1cc00eca11..3ad9d5f132 100644 --- a/arch/arm/lib64/barebox.lds.S +++ b/arch/arm/lib64/barebox.lds.S @@ -70,21 +70,8 @@ SECTIONS .barebox_initcalls : { BAREBOX_INITCALLS } .barebox_exitcalls : { BAREBOX_EXITCALLS } __usymtab : { BAREBOX_SYMS } - -#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 - + .pci_fixup : { BAREBOX_PCI_FIXUP } .oftables : { BAREBOX_CLK_TABLE } - .dtb : { BAREBOX_DTB } .rel_dyn_start : { *(.__rel_dyn_start) } diff --git a/arch/mips/lib/barebox.lds.S b/arch/mips/lib/barebox.lds.S index 86a469a042..f9a0b44937 100644 --- a/arch/mips/lib/barebox.lds.S +++ b/arch/mips/lib/barebox.lds.S @@ -47,20 +47,8 @@ SECTIONS .barebox_initcalls : { BAREBOX_INITCALLS } .barebox_exitcalls : { BAREBOX_EXITCALLS } __usymtab : { BAREBOX_SYMS } - -#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 + .pci_fixup : { BAREBOX_PCI_FIXUP } .oftables : { BAREBOX_CLK_TABLE } - .dtb : { BAREBOX_DTB } _edata = .; diff --git a/include/asm-generic/barebox.lds.h b/include/asm-generic/barebox.lds.h index 0784048eb6..2f8786356e 100644 --- a/include/asm-generic/barebox.lds.h +++ b/include/asm-generic/barebox.lds.h @@ -85,6 +85,21 @@ *(.barebox_imd_0*) \ KEEP(*(.barebox_imd_end)) +#ifdef CONFIG_PCI +#define BAREBOX_PCI_FIXUP \ + __start_pci_fixups_early = .; \ + KEEP(*(.pci_fixup_early)) \ + __end_pci_fixups_early = .; \ + __start_pci_fixups_header = .; \ + KEEP(*(.pci_fixup_header)) \ + __end_pci_fixups_header = .; \ + __start_pci_fixups_enable = .; \ + KEEP(*(.pci_fixup_enable)) \ + __end_pci_fixups_enable = .; +#else +#define BAREBOX_PCI_FIXUP +#endif + #if defined(CONFIG_ARCH_BAREBOX_MAX_BARE_INIT_SIZE) && \ CONFIG_ARCH_BAREBOX_MAX_BARE_INIT_SIZE < CONFIG_BAREBOX_MAX_BARE_INIT_SIZE #define MAX_BARE_INIT_SIZE CONFIG_ARCH_BAREBOX_MAX_BARE_INIT_SIZE |