* [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD
@ 2018-10-23 23:40 Florian Fainelli
2018-10-23 23:40 ` [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures Florian Fainelli
2018-10-23 23:40 ` [PATCH 2/2] arm64: Create asm/initrd.h Florian Fainelli
0 siblings, 2 replies; 3+ messages in thread
From: Florian Fainelli @ 2018-10-23 23:40 UTC (permalink / raw)
To: linux-kernel
Cc: arnd, linux-arm-kernel, Florian Fainelli, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Vineet Gupta, Russell King,
Catalin Marinas, Will Deacon, Mark Salter, Aurelien Jacquiot,
Yoshinori Sato, Richard Kuo, Tony Luck, Fenghua Yu,
Geert Uytterhoeven, Michal Simek, Ralf Baechle, Paul Burton,
James Hogan, Greentime Hu, Vincent Chen, Ley Foon Tan, Jonas Bonn,
Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
Helge Deller, Benjamin Herrenschmidt, Paul Mackerras,
Michael Ellerman, Palmer Dabbelt, Albert Ou, Martin Schwidefsky,
Heiko Carstens, Rich Felker, David S. Miller, Jeff Dike,
Richard Weinberger, Guan Xuetao, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, H. Peter Anvin,
maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT, Chris Zankel,
Max Filippov, Rob Herring, Frank Rowand, Stephen Boyd,
Greg Kroah-Hartman, Kate Stewart, Philippe Ombredanne,
Andrew Morton, Andrey Ryabinin, Christoffer Dall,
Andrey Konovalov, Masahiro Yamada, Marc Zyngier, Greg Ungerer,
Matt Redfearn, Thomas Petazzoni, Jan Henrik Weinstock, Alan Kao,
Deepa Dinamani, Olof Johansson, Hendrik Brueckner,
Alexei Starovoitov, Daniel Borkmann, Jessica Yu, Ard Biesheuvel,
open list:ALPHA PORT, open list:SYNOPSYS ARC ARCHITECTURE,
open list:C6X ARCHITECTURE, moderated list:H8/300 ARCHITECTURE,
open list:QUALCOMM HEXAGON ARCHITECTURE,
open list:IA64 Itanium PLATFORM, open list:M68K ARCHITECTURE,
open list:MIPS, moderated list:NIOS2 ARCHITECTURE,
open list:OPENRISC ARCHITECTURE, open list:PARISC ARCHITECTURE,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT,
open list:RISC-V ARCHITECTURE, open list:S390, open list:SUPERH,
open list:SPARC + UltraSPARC sparc/sparc64,
open list:USER-MODE LINUX UML,
open list:TENSILICA XTENSA PORT xtensa,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE,
open list:GENERIC INCLUDE/ASM HEADER FILES
Hi all,
While investigating why ARM64 required a ton of objects to be rebuilt
when toggling CONFIG_DEV_BLK_INITRD, it became clear that this was
because we define __early_init_dt_declare_initrd() differently and we do
that in arch/arm64/include/asm/memory.h which gets included by a fair
amount of other header files, and translation units as well.
This patch series proposes adding an empty initrd.h to satisfy the need
for drivers/of/fdt.c to unconditionally include that file, and moves the
custom __early_init_dt_declare_initrd() definition away from
asm/memory.h
This cuts the number of objects rebuilds from 1920 down to 26, so a
factor 73 approximately.
Apologies for the long CC list, please let me know how you would go
about merging that and if another approach would be preferable, e.g:
introducing a CONFIG_ARCH_INITRD_BELOW_START_OK Kconfig option or
something like that.
Florian Fainelli (2):
arch: Add asm-generic/initrd.h and make use of it for most
architectures
arm64: Create asm/initrd.h
arch/alpha/include/asm/Kbuild | 1 +
arch/arc/include/asm/Kbuild | 1 +
arch/arm/include/asm/Kbuild | 1 +
arch/arm64/include/asm/initrd.h | 13 +++++++++++++
arch/arm64/include/asm/memory.h | 8 --------
arch/c6x/include/asm/Kbuild | 1 +
arch/h8300/include/asm/Kbuild | 1 +
arch/hexagon/include/asm/Kbuild | 1 +
arch/ia64/include/asm/Kbuild | 1 +
arch/m68k/include/asm/Kbuild | 1 +
arch/microblaze/include/asm/Kbuild | 1 +
arch/mips/include/asm/Kbuild | 1 +
arch/nds32/include/asm/Kbuild | 1 +
arch/nios2/include/asm/Kbuild | 1 +
arch/openrisc/include/asm/Kbuild | 1 +
arch/parisc/include/asm/Kbuild | 1 +
arch/powerpc/include/asm/Kbuild | 1 +
arch/riscv/include/asm/Kbuild | 1 +
arch/s390/include/asm/Kbuild | 1 +
arch/sh/include/asm/Kbuild | 1 +
arch/sparc/include/asm/Kbuild | 1 +
arch/um/include/asm/Kbuild | 1 +
arch/unicore32/include/asm/Kbuild | 1 +
arch/x86/include/asm/Kbuild | 1 +
arch/xtensa/include/asm/Kbuild | 1 +
drivers/of/fdt.c | 1 +
include/asm-generic/initrd.h | 1 +
27 files changed, 38 insertions(+), 8 deletions(-)
create mode 100644 arch/arm64/include/asm/initrd.h
create mode 100644 include/asm-generic/initrd.h
--
2.17.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures
2018-10-23 23:40 [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD Florian Fainelli
@ 2018-10-23 23:40 ` Florian Fainelli
2018-10-23 23:40 ` [PATCH 2/2] arm64: Create asm/initrd.h Florian Fainelli
1 sibling, 0 replies; 3+ messages in thread
From: Florian Fainelli @ 2018-10-23 23:40 UTC (permalink / raw)
To: linux-kernel
Cc: arnd, linux-arm-kernel, Florian Fainelli, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Vineet Gupta, Russell King,
Catalin Marinas, Will Deacon, Mark Salter, Aurelien Jacquiot,
Yoshinori Sato, Richard Kuo, Tony Luck, Fenghua Yu,
Geert Uytterhoeven, Michal Simek, Ralf Baechle, Paul Burton,
James Hogan, Greentime Hu, Vincent Chen, Ley Foon Tan, Jonas Bonn,
Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
Helge Deller, Benjamin Herrenschmidt, Paul Mackerras,
Michael Ellerman, Palmer Dabbelt, Albert Ou, Martin Schwidefsky,
Heiko Carstens, Rich Felker, David S. Miller, Jeff Dike,
Richard Weinberger, Guan Xuetao, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, H. Peter Anvin,
maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT, Chris Zankel,
Max Filippov, Rob Herring, Frank Rowand, Stephen Boyd,
Greg Kroah-Hartman, Kate Stewart, Philippe Ombredanne,
Andrew Morton, Andrey Ryabinin, Christoffer Dall,
Andrey Konovalov, Masahiro Yamada, Marc Zyngier, Greg Ungerer,
Matt Redfearn, Thomas Petazzoni, Jan Henrik Weinstock, Alan Kao,
Deepa Dinamani, Olof Johansson, Hendrik Brueckner,
Alexei Starovoitov, Daniel Borkmann, Jessica Yu, Ard Biesheuvel,
open list:ALPHA PORT, open list:SYNOPSYS ARC ARCHITECTURE,
open list:C6X ARCHITECTURE, moderated list:H8/300 ARCHITECTURE,
open list:QUALCOMM HEXAGON ARCHITECTURE,
open list:IA64 Itanium PLATFORM, open list:M68K ARCHITECTURE,
open list:MIPS, moderated list:NIOS2 ARCHITECTURE,
open list:OPENRISC ARCHITECTURE, open list:PARISC ARCHITECTURE,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT,
open list:RISC-V ARCHITECTURE, open list:S390, open list:SUPERH,
open list:SPARC + UltraSPARC sparc/sparc64,
open list:USER-MODE LINUX UML,
open list:TENSILICA XTENSA PORT xtensa,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE,
open list:GENERIC INCLUDE/ASM HEADER FILES
In preparation for separating the definition of
__early_init_dt_declare_initrd() on ARM64 in order to cut the amount of
files that require a rebuild when CONFIG_BLK_DEV_INITRD value is
changed, introduce an empty asm-generic initrd.h file and update all
architectures but arm64 to make use of it.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/alpha/include/asm/Kbuild | 1 +
arch/arc/include/asm/Kbuild | 1 +
arch/arm/include/asm/Kbuild | 1 +
arch/c6x/include/asm/Kbuild | 1 +
arch/h8300/include/asm/Kbuild | 1 +
arch/hexagon/include/asm/Kbuild | 1 +
arch/ia64/include/asm/Kbuild | 1 +
arch/m68k/include/asm/Kbuild | 1 +
arch/microblaze/include/asm/Kbuild | 1 +
arch/mips/include/asm/Kbuild | 1 +
arch/nds32/include/asm/Kbuild | 1 +
arch/nios2/include/asm/Kbuild | 1 +
arch/openrisc/include/asm/Kbuild | 1 +
arch/parisc/include/asm/Kbuild | 1 +
arch/powerpc/include/asm/Kbuild | 1 +
arch/riscv/include/asm/Kbuild | 1 +
arch/s390/include/asm/Kbuild | 1 +
arch/sh/include/asm/Kbuild | 1 +
arch/sparc/include/asm/Kbuild | 1 +
arch/um/include/asm/Kbuild | 1 +
arch/unicore32/include/asm/Kbuild | 1 +
arch/x86/include/asm/Kbuild | 1 +
arch/xtensa/include/asm/Kbuild | 1 +
include/asm-generic/initrd.h | 1 +
24 files changed, 24 insertions(+)
create mode 100644 include/asm-generic/initrd.h
diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild
index 0580cb8c84b2..cd6f723aed1b 100644
--- a/arch/alpha/include/asm/Kbuild
+++ b/arch/alpha/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += compat.h
generic-y += exec.h
generic-y += export.h
generic-y += fb.h
+generic-y += initrd.h
generic-y += irq_work.h
generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild
index feed50ce89fa..ba18632aa493 100644
--- a/arch/arc/include/asm/Kbuild
+++ b/arch/arc/include/asm/Kbuild
@@ -10,6 +10,7 @@ generic-y += fb.h
generic-y += ftrace.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kmap_types.h
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 1d66db9c9db5..b91d5b32e64f 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -4,6 +4,7 @@ generic-y += early_ioremap.h
generic-y += emergency-restart.h
generic-y += exec.h
generic-y += extable.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += kdebug.h
generic-y += local.h
diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild
index 33a2c94fed0d..9e14cf6e89b4 100644
--- a/arch/c6x/include/asm/Kbuild
+++ b/arch/c6x/include/asm/Kbuild
@@ -13,6 +13,7 @@ generic-y += extable.h
generic-y += fb.h
generic-y += futex.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += io.h
generic-y += irq_regs.h
generic-y += irq_work.h
diff --git a/arch/h8300/include/asm/Kbuild b/arch/h8300/include/asm/Kbuild
index a5d0b2991f47..7d4e06a757c8 100644
--- a/arch/h8300/include/asm/Kbuild
+++ b/arch/h8300/include/asm/Kbuild
@@ -19,6 +19,7 @@ generic-y += futex.h
generic-y += hardirq.h
generic-y += hash.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/hexagon/include/asm/Kbuild b/arch/hexagon/include/asm/Kbuild
index 47c4da3d64a4..0be62abf2123 100644
--- a/arch/hexagon/include/asm/Kbuild
+++ b/arch/hexagon/include/asm/Kbuild
@@ -13,6 +13,7 @@ generic-y += fb.h
generic-y += ftrace.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += iomap.h
generic-y += irq_regs.h
generic-y += irq_work.h
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index 557bbc8ba9f5..1a1f1e4ba0d5 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -1,5 +1,6 @@
generic-y += compat.h
generic-y += exec.h
+generic-y += initrd.h
generic-y += irq_work.h
generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild
index a4b8d3331a9e..9903551e0c9c 100644
--- a/arch/m68k/include/asm/Kbuild
+++ b/arch/m68k/include/asm/Kbuild
@@ -7,6 +7,7 @@ generic-y += exec.h
generic-y += extable.h
generic-y += futex.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild
index 569ba9e670c1..ec37e6304be5 100644
--- a/arch/microblaze/include/asm/Kbuild
+++ b/arch/microblaze/include/asm/Kbuild
@@ -11,6 +11,7 @@ generic-y += exec.h
generic-y += extable.h
generic-y += fb.h
generic-y += hardirq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild
index 9a81e72119da..005ef04a4c73 100644
--- a/arch/mips/include/asm/Kbuild
+++ b/arch/mips/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += device.h
generic-y += dma-contiguous.h
generic-y += emergency-restart.h
generic-y += export.h
+generic-y += initrd.h
generic-y += irq_work.h
generic-y += local64.h
generic-y += mcs_spinlock.h
diff --git a/arch/nds32/include/asm/Kbuild b/arch/nds32/include/asm/Kbuild
index dbc4e5422550..1400aaf0c840 100644
--- a/arch/nds32/include/asm/Kbuild
+++ b/arch/nds32/include/asm/Kbuild
@@ -25,6 +25,7 @@ generic-y += ftrace.h
generic-y += gpio.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += ioctl.h
generic-y += ioctls.h
generic-y += irq.h
diff --git a/arch/nios2/include/asm/Kbuild b/arch/nios2/include/asm/Kbuild
index 8fde4fa2c34f..d89de02549ee 100644
--- a/arch/nios2/include/asm/Kbuild
+++ b/arch/nios2/include/asm/Kbuild
@@ -18,6 +18,7 @@ generic-y += ftrace.h
generic-y += futex.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild
index eb87cd8327c8..296fd55e8473 100644
--- a/arch/openrisc/include/asm/Kbuild
+++ b/arch/openrisc/include/asm/Kbuild
@@ -15,6 +15,7 @@ generic-y += fb.h
generic-y += ftrace.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq.h
generic-y += irq_regs.h
generic-y += irq_work.h
diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild
index 2013d639e735..1382d78a2477 100644
--- a/arch/parisc/include/asm/Kbuild
+++ b/arch/parisc/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += div64.h
generic-y += emergency-restart.h
generic-y += exec.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/powerpc/include/asm/Kbuild b/arch/powerpc/include/asm/Kbuild
index 3196d227e351..e3ea67c30605 100644
--- a/arch/powerpc/include/asm/Kbuild
+++ b/arch/powerpc/include/asm/Kbuild
@@ -1,5 +1,6 @@
generic-y += div64.h
generic-y += export.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += local64.h
diff --git a/arch/riscv/include/asm/Kbuild b/arch/riscv/include/asm/Kbuild
index efdbe311e936..0e67ed69c423 100644
--- a/arch/riscv/include/asm/Kbuild
+++ b/arch/riscv/include/asm/Kbuild
@@ -17,6 +17,7 @@ generic-y += futex.h
generic-y += hardirq.h
generic-y += hash.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += ioctl.h
generic-y += ioctls.h
generic-y += ipcbuf.h
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild
index e3239772887a..dc618745d427 100644
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -13,6 +13,7 @@ generic-y += div64.h
generic-y += emergency-restart.h
generic-y += export.h
generic-y += fb.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kmap_types.h
diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild
index 6a5609a55965..c006a7cf3a43 100644
--- a/arch/sh/include/asm/Kbuild
+++ b/arch/sh/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += div64.h
generic-y += dma-mapping.h
generic-y += emergency-restart.h
generic-y += exec.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += local.h
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index 410b263ef5c8..a5772c2a96c8 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -5,6 +5,7 @@ generic-y += div64.h
generic-y += emergency-restart.h
generic-y += exec.h
generic-y += export.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += linkage.h
diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild
index b10dde6cb793..032cfe1b530b 100644
--- a/arch/um/include/asm/Kbuild
+++ b/arch/um/include/asm/Kbuild
@@ -12,6 +12,7 @@ generic-y += ftrace.h
generic-y += futex.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += io.h
generic-y += irq_regs.h
generic-y += irq_work.h
diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild
index 1372553dc0a9..32e7dea45fcd 100644
--- a/arch/unicore32/include/asm/Kbuild
+++ b/arch/unicore32/include/asm/Kbuild
@@ -13,6 +13,7 @@ generic-y += ftrace.h
generic-y += futex.h
generic-y += hardirq.h
generic-y += hw_irq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild
index a0ab9ab61c75..290bd1c3ee2d 100644
--- a/arch/x86/include/asm/Kbuild
+++ b/arch/x86/include/asm/Kbuild
@@ -9,5 +9,6 @@ generated-y += xen-hypercalls.h
generic-y += dma-contiguous.h
generic-y += early_ioremap.h
generic-y += export.h
+generic-y += initrd.h
generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild
index 82c756431b49..f2c363f2d22a 100644
--- a/arch/xtensa/include/asm/Kbuild
+++ b/arch/xtensa/include/asm/Kbuild
@@ -9,6 +9,7 @@ generic-y += exec.h
generic-y += extable.h
generic-y += fb.h
generic-y += hardirq.h
+generic-y += initrd.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
diff --git a/include/asm-generic/initrd.h b/include/asm-generic/initrd.h
new file mode 100644
index 000000000000..b1a49677fe25
--- /dev/null
+++ b/include/asm-generic/initrd.h
@@ -0,0 +1 @@
+/* no content, but patch(1) dislikes empty files */
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] arm64: Create asm/initrd.h
2018-10-23 23:40 [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD Florian Fainelli
2018-10-23 23:40 ` [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures Florian Fainelli
@ 2018-10-23 23:40 ` Florian Fainelli
1 sibling, 0 replies; 3+ messages in thread
From: Florian Fainelli @ 2018-10-23 23:40 UTC (permalink / raw)
To: linux-kernel
Cc: arnd, linux-arm-kernel, Florian Fainelli, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Vineet Gupta, Russell King,
Catalin Marinas, Will Deacon, Mark Salter, Aurelien Jacquiot,
Yoshinori Sato, Richard Kuo, Tony Luck, Fenghua Yu,
Geert Uytterhoeven, Michal Simek, Ralf Baechle, Paul Burton,
James Hogan, Greentime Hu, Vincent Chen, Ley Foon Tan, Jonas Bonn,
Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
Helge Deller, Benjamin Herrenschmidt, Paul Mackerras,
Michael Ellerman, Palmer Dabbelt, Albert Ou, Martin Schwidefsky,
Heiko Carstens, Rich Felker, David S. Miller, Jeff Dike,
Richard Weinberger, Guan Xuetao, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, H. Peter Anvin,
maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT, Chris Zankel,
Max Filippov, Rob Herring, Frank Rowand, Stephen Boyd,
Greg Kroah-Hartman, Kate Stewart, Philippe Ombredanne,
Andrew Morton, Andrey Ryabinin, Christoffer Dall,
Andrey Konovalov, Masahiro Yamada, Marc Zyngier, Greg Ungerer,
Matt Redfearn, Thomas Petazzoni, Jan Henrik Weinstock, Alan Kao,
Deepa Dinamani, Olof Johansson, Hendrik Brueckner,
Alexei Starovoitov, Daniel Borkmann, Jessica Yu, Ard Biesheuvel,
open list:ALPHA PORT, open list:SYNOPSYS ARC ARCHITECTURE,
open list:C6X ARCHITECTURE, moderated list:H8/300 ARCHITECTURE,
open list:QUALCOMM HEXAGON ARCHITECTURE,
open list:IA64 Itanium PLATFORM, open list:M68K ARCHITECTURE,
open list:MIPS, moderated list:NIOS2 ARCHITECTURE,
open list:OPENRISC ARCHITECTURE, open list:PARISC ARCHITECTURE,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT,
open list:RISC-V ARCHITECTURE, open list:S390, open list:SUPERH,
open list:SPARC + UltraSPARC sparc/sparc64,
open list:USER-MODE LINUX UML,
open list:TENSILICA XTENSA PORT xtensa,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE,
open list:GENERIC INCLUDE/ASM HEADER FILES
ARM64 is the only architecture that requires a re-definition of
__early_init_dt_declare_initrd(). Now that we added the infrastructure
in asm-generic to provide an asm/initrd.h file, properly break up that
definition from asm/memory.h and make use of that header in
drivers/of/fdt.c where this is used.
This significantly cuts the number of objects that need to be rebuilt on
ARM64 due to the repercusions of including asm/memory.h in several
places.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
arch/arm64/include/asm/initrd.h | 13 +++++++++++++
arch/arm64/include/asm/memory.h | 8 --------
drivers/of/fdt.c | 1 +
3 files changed, 14 insertions(+), 8 deletions(-)
create mode 100644 arch/arm64/include/asm/initrd.h
diff --git a/arch/arm64/include/asm/initrd.h b/arch/arm64/include/asm/initrd.h
new file mode 100644
index 000000000000..0c9572485810
--- /dev/null
+++ b/arch/arm64/include/asm/initrd.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_INITRD_H
+#define __ASM_INITRD_H
+
+#ifdef CONFIG_BLK_DEV_INITRD
+#define __early_init_dt_declare_initrd(__start, __end) \
+ do { \
+ initrd_start = (__start); \
+ initrd_end = (__end); \
+ } while (0)
+#endif
+
+#endif /* __ASM_INITRD_H */
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index b96442960aea..dc3ca21ba240 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -168,14 +168,6 @@
#define IOREMAP_MAX_ORDER (PMD_SHIFT)
#endif
-#ifdef CONFIG_BLK_DEV_INITRD
-#define __early_init_dt_declare_initrd(__start, __end) \
- do { \
- initrd_start = (__start); \
- initrd_end = (__end); \
- } while (0)
-#endif
-
#ifndef __ASSEMBLY__
#include <linux/bitops.h>
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 800ad252cf9c..4e4711af907b 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -28,6 +28,7 @@
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
#include <asm/page.h>
+#include <asm/initrd.h>
#include "of_private.h"
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-23 23:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-23 23:40 [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD Florian Fainelli
2018-10-23 23:40 ` [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures Florian Fainelli
2018-10-23 23:40 ` [PATCH 2/2] arm64: Create asm/initrd.h Florian Fainelli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).