* [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: open list:MIPS, Alan Kao, open list:SUPERH, Will Deacon,
Paul Mackerras, open list:GENERIC INCLUDE/ASM HEADER FILES,
James E.J. Bottomley, Geert Uytterhoeven, Catalin Marinas,
Matt Turner, moderated list:H8/300 ARCHITECTURE, Marc Zyngier,
open list:USER-MODE LINUX UML, Thomas Gleixner, Richard Henderson,
Matt Redfearn, Greg Kroah-Hartman, Ralf Baechle, Richard Kuo,
Paul Burton, Andrew Morton, open list:IA64 Itanium PLATFORM,
James Hogan, Palmer Dabbelt, Max Filippov, Deepa Dinamani,
Vincent Chen, open list:S390, open list:C6X ARCHITECTURE,
Yoshinori Sato, open list:QUALCOMM HEXAGON ARCHITECTURE,
Helge Deller, Jan Henrik Weinstock, Andrey Ryabinin,
open list:TENSILICA XTENSA PORT xtensa, Jessica Yu,
Philippe Ombredanne, Aurelien Jacquiot,
open list:M68K ARCHITECTURE, Stafford Horne, linux-arm-kernel,
Chris Zankel, Tony Luck, open list:OPENRISC ARCHITECTURE,
Martin Schwidefsky, Kate Stewart, Heiko Carstens,
Alexei Starovoitov, Frank Rowand, Florian Fainelli,
Daniel Borkmann, open list:SYNOPSYS ARC ARCHITECTURE, Fenghua Yu,
arnd, Andrey Konovalov, Jeff Dike, Masahiro Yamada,
Borislav Petkov, Greentime Hu, Guan Xuetao,
open list:PARISC ARCHITECTURE, Ard Biesheuvel, Christoffer Dall,
open list:ALPHA PORT, Olof Johansson, Ley Foon Tan,
David S. Miller, Rich Felker, Hendrik Brueckner, Thomas Petazzoni,
H. Peter Anvin, open list:SPARC + UltraSPARC sparc/sparc64,
open list:RISC-V ARCHITECTURE, Greg Ungerer, Jonas Bonn,
Richard Weinberger, maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT,
Russell King, Ingo Molnar, Mark Salter,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE, Albert Ou,
Stefan Kristiansson, Rob Herring,
moderated list:NIOS2 ARCHITECTURE, Michal Simek, Vineet Gupta,
Stephen Boyd, Ivan Kokshaysky,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT
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: open list:MIPS, Alan Kao, open list:SUPERH, Will Deacon,
Paul Mackerras, open list:GENERIC INCLUDE/ASM HEADER FILES,
James E.J. Bottomley, Geert Uytterhoeven, Catalin Marinas,
Matt Turner, moderated list:H8/300 ARCHITECTURE, Marc Zyngier,
open list:USER-MODE LINUX UML, Thomas Gleixner, Richard Henderson,
Matt Redfearn, Greg Kroah-Hartman, Ralf Baechle, Richard Kuo,
Paul Burton, Andrew Morton, open list:IA64 Itanium PLATFORM,
James Hogan, Palmer Dabbelt, Max Filippov, Deepa Dinamani,
Vincent Chen, open list:S390, open list:C6X ARCHITECTURE,
Yoshinori Sato, open list:QUALCOMM HEXAGON ARCHITECTURE,
Helge Deller, Jan Henrik Weinstock, Andrey Ryabinin,
open list:TENSILICA XTENSA PORT xtensa, Jessica Yu,
Philippe Ombredanne, Aurelien Jacquiot,
open list:M68K ARCHITECTURE, Stafford Horne, linux-arm-kernel,
Chris Zankel, Tony Luck, open list:OPENRISC ARCHITECTURE,
Martin Schwidefsky, Kate Stewart, Heiko Carstens,
Alexei Starovoitov, Frank Rowand, Florian Fainelli,
Daniel Borkmann, open list:SYNOPSYS ARC ARCHITECTURE, Fenghua Yu,
arnd, Andrey Konovalov, Jeff Dike, Masahiro Yamada,
Borislav Petkov, Greentime Hu, Guan Xuetao,
open list:PARISC ARCHITECTURE, Ard Biesheuvel, Christoffer Dall,
open list:ALPHA PORT, Olof Johansson, Ley Foon Tan,
David S. Miller, Rich Felker, Hendrik Brueckner, Thomas Petazzoni,
H. Peter Anvin, open list:SPARC + UltraSPARC sparc/sparc64,
open list:RISC-V ARCHITECTURE, Greg Ungerer, Jonas Bonn,
Richard Weinberger, maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT,
Russell King, Ingo Molnar, Mark Salter,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE, Albert Ou,
Stefan Kristiansson, Rob Herring,
moderated list:NIOS2 ARCHITECTURE, Michal Simek, Vineet Gupta,
Stephen Boyd, Ivan Kokshaysky,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT
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: open list:MIPS, Alan Kao, open list:SUPERH, Will Deacon,
Paul Mackerras, open list:GENERIC INCLUDE/ASM HEADER FILES,
James E.J. Bottomley, Geert Uytterhoeven, Catalin Marinas,
Matt Turner, moderated list:H8/300 ARCHITECTURE, Marc Zyngier,
open list:USER-MODE LINUX UML, Thomas Gleixner, Richard Henderson,
Matt Redfearn, Greg Kroah-Hartman, Ralf Baechle, Richard Kuo,
Paul Burton, Andrew Morton, open list:IA64 Itanium PLATFORM,
James Hogan, Palmer Dabbelt, Max Filippov, Deepa Dinamani,
Vincent Chen, open list:S390, open list:C6X ARCHITECTURE,
Yoshinori Sato, open list:QUALCOMM HEXAGON ARCHITECTURE,
Helge Deller, Jan Henrik Weinstock, Andrey Ryabinin,
open list:TENSILICA XTENSA PORT xtensa, Jessica Yu,
Philippe Ombredanne, Aurelien Jacquiot,
open list:M68K ARCHITECTURE, Stafford Horne, linux-arm-kernel,
Chris Zankel, Tony Luck, open list:OPENRISC ARCHITECTURE,
Martin Schwidefsky, Kate Stewart, Heiko Carstens,
Alexei Starovoitov, Frank Rowand, Florian Fainelli,
Daniel Borkmann, open list:SYNOPSYS ARC ARCHITECTURE, Fenghua Yu,
arnd, Andrey Konovalov, Jeff Dike, Masahiro Yamada,
Borislav Petkov, Greentime Hu, Guan Xuetao,
open list:PARISC ARCHITECTURE, Ard Biesheuvel, Christoffer Dall,
open list:ALPHA PORT, Olof Johansson, Ley Foon Tan,
David S. Miller, Rich Felker, Hendrik Brueckner, Thomas Petazzoni,
H. Peter Anvin, open list:SPARC + UltraSPARC sparc/sparc64,
open list:RISC-V ARCHITECTURE, Greg Ungerer, Jonas Bonn,
Richard Weinberger, maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT,
Russell King, Ingo Molnar, Mark Salter,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE, Albert Ou,
Stefan Kristiansson, Rob Herring,
moderated list:NIOS2 ARCHITECTURE, Michal Simek, Vineet Gupta,
Stephen Boyd, Ivan Kokshaysky,
open list:LINUX FOR POWERPC 32-BIT AND 64-BIT
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-24 10:41 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).