[PATCH] powerpc: use always-y instead of extra-y in Makefiles
Masahiro Yamada
masahiroy at kernel.org
Mon Jun 9 14:31:43 AEST 2025
On Mon, Jun 9, 2025 at 10:02 AM Michael Ellerman <mpe at ellerman.id.au> wrote:
>
> Masahiro Yamada <masahiroy at kernel.org> writes:
> > On Tue, Jun 3, 2025 at 3:50 PM Christophe Leroy
> > <christophe.leroy at csgroup.eu> wrote:
> >> Le 02/06/2025 à 18:32, Masahiro Yamada a écrit :
> >> > The extra-y syntax is planned for deprecation because it is similar
> >> > to always-y.
> >> >
> >> > When building the boot wrapper, always-y and extra-y are equivalent.
> >> > Use always-y instead.
> >> >
> >> > In arch/powerpc/kernel/Makefile, I added ifdef KBUILD_BUILTIN to
> >> > keep the current behavior: prom_init_check is skipped when building
> >> > only modular objects.
> >>
> >> I don't understand what you mean.
> >>
> >> CONFIG_PPC_OF_BOOT_TRAMPOLINE is a bool, it cannot be a module.
> >>
> >> prom_init_check is only to check the content of prom_init.o which is
> >> never a module.
> >>
> >> Is always-y to run _after_ prom_init.o is built ?
> >
> > The intent of "make ARCH=powerpc modules"
> > is to compile objects that are necessary for modules,
> > that is, all built-in objects are skipped.
> >
> > However,
> > always-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init_check
> > would generate prom_init_check regardless,
> > and its prerequisite, prom_init.o as well.
> >
> > With CONFIG_MODULES=y and
> > CONFIG_MODVERSIONS=n,
> > and without ifdef KBUILD_BUILTIN,
> >
> > $ make ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu- modules
> >
> > would result in this:
> >
> >
> > CC [M] arch/powerpc/kvm/book3s_xive_native.o
> > CC [M] arch/powerpc/kvm/book3s_64_vio.o
> > LD [M] arch/powerpc/kvm/kvm.o
> > CC [M] arch/powerpc/kvm/book3s_hv.o
> > AS [M] arch/powerpc/kvm/book3s_hv_interrupts.o
> > CC [M] arch/powerpc/kvm/book3s_64_mmu_hv.o
> > CC [M] arch/powerpc/kvm/book3s_64_mmu_radix.o
> > CC [M] arch/powerpc/kvm/book3s_hv_nested.o
> > CC [M] arch/powerpc/kvm/book3s_hv_tm.o
> > LD [M] arch/powerpc/kvm/kvm-hv.o
> > CC [M] arch/powerpc/kernel/rtas_flash.o
> > CC arch/powerpc/kernel/prom_init.o
> > PROMCHK arch/powerpc/kernel/prom_init_check
> > CC [M] kernel/locking/locktorture.o
> > CC [M] kernel/time/test_udelay.o
> > CC [M] kernel/time/time_test.o
> > CC [M] kernel/backtracetest.o
> > CC [M] kernel/torture.o
> > CC [M] kernel/resource_kunit.o
> > CC [M] kernel/sysctl-test.o
> > CC [M] fs/ext4/inode-test.o
> > LD [M] fs/ext4/ext4-inode-test.o
> > CC [M] fs/fat/namei_vfat.o
> > LD [M] fs/fat/vfat.o
> > CC [M] fs/fat/fat_test.o
> > CC [M] fs/nls/nls_ucs2_utils.o
> > CC [M] fs/netfs/buffered_read.o
> > CC [M] fs/netfs/buffered_write.o
> > ...
> >
> >
> >
> > You can see these two lines:
> >
> > CC arch/powerpc/kernel/prom_init.o
> > PROMCHK arch/powerpc/kernel/prom_init_check
> >
> > are supposed to be skipped when "make modules",
> > but actually compiled without ifdef.
> >
> > So, I added ifdef KBUILD_BUILTIN to preserve
> > the current behavior.
>
> OK, that makes sense.
>
> I don't really ever build just modules, so I wouldn't notice, but some
> folks probably do.
>
> Acked-by: Michael Ellerman <mpe at ellerman.id.au> (powerpc)
No rush for this patch.
Please take it to your ppc tree.
Thank you.
--
Best Regards
Masahiro Yamada
More information about the Linuxppc-dev
mailing list