From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: [PATCH 4/7] lds: create and use BAREBOX_PCI_FIXUP macro
Date: Wed, 2 Oct 2019 16:44:27 +0200 [thread overview]
Message-ID: <20191002144430.14946-5-s.hauer@pengutronix.de> (raw)
In-Reply-To: <20191002144430.14946-1-s.hauer@pengutronix.de>
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>
---
arch/arm/lib32/barebox.lds.S | 15 +--------------
arch/arm/lib64/barebox.lds.S | 15 +--------------
arch/mips/lib/barebox.lds.S | 14 +-------------
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
--
2.23.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2019-10-02 14:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-02 14:44 [PATCH 0/7] Cleanup linker scripts Sascha Hauer
2019-10-02 14:44 ` [PATCH 1/7] barebox.lds: Remove unnecessary braces Sascha Hauer
2019-10-02 14:44 ` [PATCH 2/7] ppc: remove unused variables from linker scripts Sascha Hauer
2019-10-02 14:44 ` [PATCH 3/7] lds: Move start/end address variables into defines Sascha Hauer
2019-10-02 18:46 ` Sam Ravnborg
2019-10-02 14:44 ` Sascha Hauer [this message]
2019-10-02 14:44 ` [PATCH 5/7] X86: lds: remove unnecessary alignments Sascha Hauer
2019-10-02 18:53 ` Sam Ravnborg
2019-10-14 10:05 ` [PATCH] command: Use array of pointers to commands Sascha Hauer
2019-10-14 10:08 ` [PATCH 5/7] X86: lds: remove unnecessary alignments Sascha Hauer
2019-10-02 14:44 ` [PATCH 6/7] lds: remove more " Sascha Hauer
2019-10-02 18:55 ` Sam Ravnborg
2019-10-02 14:44 ` [PATCH 7/7] lds: Add and use RO_DATA_SECTION macro Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191002144430.14946-5-s.hauer@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox