Message ID | 20250327193318.344444-2-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | Simplify Renesas SoC Configuration | expand |
Hi Prabhakar, > -----Original Message----- > From: Prabhakar <prabhakar.csengg@gmail.com> > Sent: 27 March 2025 19:33 > Subject: [PATCH RFC INTERNAL v2 1/4] soc: renesas: Kconfig: Enable SoCs by default when ARCH_RENESAS > is set > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > Adding default y if ARCH_RENESAS to the relevant configurations removes the need to manually enable > individual SoCs in defconfig files. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > --- > drivers/soc/renesas/Kconfig | 42 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index > 49648cf28bd2..40197421ff62 100644 > --- a/drivers/soc/renesas/Kconfig > +++ b/drivers/soc/renesas/Kconfig > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > config ARCH_EMEV2 > bool "ARM32 Platform support for Emma Mobile EV2" > + default y if ARCH_RENESAS > select HAVE_ARM_SCU if SMP > select SYS_SUPPORTS_EM_STI > > config ARCH_R8A7794 > bool "ARM32 Platform support for R-Car E2" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_814220 > select SYSC_R8A7794 > > config ARCH_R8A7779 > bool "ARM32 Platform support for R-Car H1" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN1 > select ARM_ERRATA_754322 > select ARM_GLOBAL_TIMER > @@ -85,6 +88,7 @@ config ARCH_R8A7779 > > config ARCH_R8A7790 > bool "ARM32 Platform support for R-Car H2" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select ARM_ERRATA_814220 > @@ -93,11 +97,13 @@ config ARCH_R8A7790 > > config ARCH_R8A7778 > bool "ARM32 Platform support for R-Car M1A" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN1 > select ARM_ERRATA_754322 > > config ARCH_R8A7793 > bool "ARM32 Platform support for R-Car M2-N" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select I2C > @@ -105,6 +111,7 @@ config ARCH_R8A7793 > > config ARCH_R8A7791 > bool "ARM32 Platform support for R-Car M2-W" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select I2C > @@ -112,18 +119,21 @@ config ARCH_R8A7791 > > config ARCH_R8A7792 > bool "ARM32 Platform support for R-Car V2H" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select SYSC_R8A7792 > > config ARCH_R8A7740 > bool "ARM32 Platform support for R-Mobile A1" > + default y if ARCH_RENESAS > select ARCH_RMOBILE > select ARM_ERRATA_754322 > select RENESAS_INTC_IRQPIN > > config ARCH_R8A73A4 > bool "ARM32 Platform support for R-Mobile APE6" > + default y if ARCH_RENESAS > select ARCH_RMOBILE > select ARM_ERRATA_798181 if SMP > select ARM_ERRATA_814220 > @@ -132,6 +142,7 @@ config ARCH_R8A73A4 > > config ARCH_R7S72100 > bool "ARM32 Platform support for RZ/A1H" > + default y if ARCH_RENESAS > select ARM_ERRATA_754322 > select PM > select PM_GENERIC_DOMAINS > @@ -141,6 +152,7 @@ config ARCH_R7S72100 > > config ARCH_R7S9210 > bool "ARM32 Platform support for RZ/A2" > + default y if ARCH_RENESAS > select PM > select PM_GENERIC_DOMAINS > select RENESAS_OSTM > @@ -148,18 +160,21 @@ config ARCH_R7S9210 > > config ARCH_R8A77470 > bool "ARM32 Platform support for RZ/G1C" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_814220 > select SYSC_R8A77470 > > config ARCH_R8A7745 > bool "ARM32 Platform support for RZ/G1E" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_814220 > select SYSC_R8A7745 > > config ARCH_R8A7742 > bool "ARM32 Platform support for RZ/G1H" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select ARM_ERRATA_814220 > @@ -167,23 +182,27 @@ config ARCH_R8A7742 > > config ARCH_R8A7743 > bool "ARM32 Platform support for RZ/G1M" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select SYSC_R8A7743 > > config ARCH_R8A7744 > bool "ARM32 Platform support for RZ/G1N" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN2 > select ARM_ERRATA_798181 if SMP > select SYSC_R8A7743 > > config ARCH_R9A06G032 > bool "ARM32 Platform support for RZ/N1D" > + default y if ARCH_RENESAS > select ARCH_RZN1 > select ARM_ERRATA_814220 > > config ARCH_SH73A0 > bool "ARM32 Platform support for SH-Mobile AG5" > + default y if ARCH_RENESAS > select ARCH_RMOBILE > select ARM_ERRATA_754322 > select ARM_GLOBAL_TIMER > @@ -197,6 +216,7 @@ if ARM64 > > config ARCH_R8A77995 > bool "ARM64 Platform support for R-Car D3" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77995 > help > @@ -205,6 +225,7 @@ config ARCH_R8A77995 > > config ARCH_R8A77990 > bool "ARM64 Platform support for R-Car E3" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77990 > help > @@ -213,6 +234,7 @@ config ARCH_R8A77990 > > config ARCH_R8A77951 > bool "ARM64 Platform support for R-Car H3 ES2.0+" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A7795 > help > @@ -222,6 +244,7 @@ config ARCH_R8A77951 > > config ARCH_R8A77965 > bool "ARM64 Platform support for R-Car M3-N" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77965 > help > @@ -230,6 +253,7 @@ config ARCH_R8A77965 > > config ARCH_R8A77960 > bool "ARM64 Platform support for R-Car M3-W" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77960 > help > @@ -237,6 +261,7 @@ config ARCH_R8A77960 > > config ARCH_R8A77961 > bool "ARM64 Platform support for R-Car M3-W+" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77961 > help > @@ -245,6 +270,7 @@ config ARCH_R8A77961 > > config ARCH_R8A779F0 > bool "ARM64 Platform support for R-Car S4-8" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN4 > select SYSC_R8A779F0 > help > @@ -252,6 +278,7 @@ config ARCH_R8A779F0 > > config ARCH_R8A77980 > bool "ARM64 Platform support for R-Car V3H" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77980 > help > @@ -259,6 +286,7 @@ config ARCH_R8A77980 > > config ARCH_R8A77970 > bool "ARM64 Platform support for R-Car V3M" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A77970 > help > @@ -266,6 +294,7 @@ config ARCH_R8A77970 > > config ARCH_R8A779A0 > bool "ARM64 Platform support for R-Car V3U" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN4 > select SYSC_R8A779A0 > help > @@ -273,6 +302,7 @@ config ARCH_R8A779A0 > > config ARCH_R8A779G0 > bool "ARM64 Platform support for R-Car V4H" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN4 > select SYSC_R8A779G0 > help > @@ -280,6 +310,7 @@ config ARCH_R8A779G0 > > config ARCH_R8A779H0 > bool "ARM64 Platform support for R-Car V4M" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN4 > select SYSC_R8A779H0 > help > @@ -287,6 +318,7 @@ config ARCH_R8A779H0 > > config ARCH_R8A774C0 > bool "ARM64 Platform support for RZ/G2E" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A774C0 > help > @@ -294,6 +326,7 @@ config ARCH_R8A774C0 > > config ARCH_R8A774E1 > bool "ARM64 Platform support for RZ/G2H" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A774E1 > help > @@ -301,6 +334,7 @@ config ARCH_R8A774E1 > > config ARCH_R8A774A1 > bool "ARM64 Platform support for RZ/G2M" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A774A1 > help > @@ -308,6 +342,7 @@ config ARCH_R8A774A1 > > config ARCH_R8A774B1 > bool "ARM64 Platform support for RZ/G2N" > + default y if ARCH_RENESAS > select ARCH_RCAR_GEN3 > select SYSC_R8A774B1 > help > @@ -315,24 +350,28 @@ config ARCH_R8A774B1 > > config ARCH_R9A07G043 > bool "ARM64 Platform support for RZ/G2UL" > + default y if ARCH_RENESAS > select ARCH_RZG2L > help > This enables support for the Renesas RZ/G2UL SoC variants. > > config ARCH_R9A07G044 > bool "ARM64 Platform support for RZ/G2L" > + default y if ARCH_RENESAS > select ARCH_RZG2L > help > This enables support for the Renesas RZ/G2L SoC variants. > > config ARCH_R9A07G054 > bool "ARM64 Platform support for RZ/V2L" > + default y if ARCH_RENESAS > select ARCH_RZG2L > help > This enables support for the Renesas RZ/V2L SoC variants. > > config ARCH_R9A08G045 > bool "ARM64 Platform support for RZ/G3S" > + default y if ARCH_RENESAS > select ARCH_RZG2L > select SYSC_R9A08G045 > help > @@ -340,6 +379,7 @@ config ARCH_R9A08G045 > > config ARCH_R9A09G011 > bool "ARM64 Platform support for RZ/V2M" > + default y if ARCH_RENESAS > select PM > select PM_GENERIC_DOMAINS > select PWC_RZV2M > @@ -348,12 +388,14 @@ config ARCH_R9A09G011 > > config ARCH_R9A09G047 > bool "ARM64 Platform support for RZ/G3E" > + default y if ARCH_RENESAS > select SYS_R9A09G047 > help > This enables support for the Renesas RZ/G3E SoC variants. > > config ARCH_R9A09G057 > bool "ARM64 Platform support for RZ/V2H(P)" > + default y if ARCH_RENESAS > select RENESAS_RZV2H_ICU > select SYS_R9A09G057 > help Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? So that previous devices, they don't need to patch this file: 1) If they want to do a standalone build for Image size optimization, just remove the unwanted SoCs from defconfig. 2) Debug some issues, some people just use defconfig from different kernel version to try it out. Cheers, Biju
Hi Biju, On Fri, Mar 28, 2025 at 7:15 AM Biju Das <biju.das.jz@bp.renesas.com> wrote: > > Hi Prabhakar, > > > -----Original Message----- > > From: Prabhakar <prabhakar.csengg@gmail.com> > > Sent: 27 March 2025 19:33 > > Subject: [PATCH RFC INTERNAL v2 1/4] soc: renesas: Kconfig: Enable SoCs by default when ARCH_RENESAS > > is set > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > Adding default y if ARCH_RENESAS to the relevant configurations removes the need to manually enable > > individual SoCs in defconfig files. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > --- > > drivers/soc/renesas/Kconfig | 42 +++++++++++++++++++++++++++++++++++++ > > 1 file changed, 42 insertions(+) <snip> > > config ARCH_R9A09G057 > > bool "ARM64 Platform support for RZ/V2H(P)" > > + default y if ARCH_RENESAS > > select RENESAS_RZV2H_ICU > > select SYS_R9A09G057 > > help > > > Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? > I can but I'm not sure it will be a logical change. Also we will have to touch this file again when we add dependencies for example for v2n when SYS driver is added we need to add `select SYS_R9A09G056` > So that previous devices, they don't need to patch this file: > > 1) If they want to do a standalone build for Image size optimization, > just remove the unwanted SoCs from defconfig. > > 2) Debug some issues, some people just use defconfig from > different kernel version to try it out. > Cheers, Prabhakar
Hi Prabhakar, > -----Original Message----- > From: Lad, Prabhakar <prabhakar.csengg@gmail.com> > Sent: 28 March 2025 08:33 > Subject: Re: [PATCH RFC INTERNAL v2 1/4] soc: renesas: Kconfig: Enable SoCs by default when > ARCH_RENESAS is set > > Hi Biju, > > On Fri, Mar 28, 2025 at 7:15 AM Biju Das <biju.das.jz@bp.renesas.com> wrote: > > > > Hi Prabhakar, > > > > > -----Original Message----- > > > From: Prabhakar <prabhakar.csengg@gmail.com> > > > Sent: 27 March 2025 19:33 > > > Subject: [PATCH RFC INTERNAL v2 1/4] soc: renesas: Kconfig: Enable > > > SoCs by default when ARCH_RENESAS is set > > > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > Adding default y if ARCH_RENESAS to the relevant configurations > > > removes the need to manually enable individual SoCs in defconfig files. > > > > > > Signed-off-by: Lad Prabhakar > > > <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > --- > > > drivers/soc/renesas/Kconfig | 42 > > > +++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 42 insertions(+) > <snip> > > > config ARCH_R9A09G057 > > > bool "ARM64 Platform support for RZ/V2H(P)" > > > + default y if ARCH_RENESAS > > > select RENESAS_RZV2H_ICU > > > select SYS_R9A09G057 > > > help > > > > > > Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? > > > I can but I'm not sure it will be a logical change. Also we will have to touch this file again when we > add dependencies for example for v2n when SYS driver is added we need to add `select SYS_R9A09G056` As this is Renesas specific file, I guess there is no issue from external maintainers. Cheers, Biju > > > > So that previous devices, they don't need to patch this file: > > > > 1) If they want to do a standalone build for Image size optimization, > > just remove the unwanted SoCs from defconfig. > > > > 2) Debug some issues, some people just use defconfig from > > different kernel version to try it out. > > > Cheers, > Prabhakar
Hi Prabhakar, On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > Adding default y if ARCH_RENESAS to the relevant configurations removes > the need to manually enable individual SoCs in defconfig files. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Thanks for your patch! > --- a/drivers/soc/renesas/Kconfig > +++ b/drivers/soc/renesas/Kconfig > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS Note that this whole block already depends on ARCH_RENESAS... I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: fix build regressions") reminded me. This is also the reason why we cannot open the block for COMPILE_TEST in general. > > config ARCH_EMEV2 > bool "ARM32 Platform support for Emma Mobile EV2" > + default y if ARCH_RENESAS ... so the "if ..." part is not really needed for arm32 SoCs. > @@ -197,6 +216,7 @@ if ARM64 Note that unlike on arm32, the arm64 (and riscv) block does not depend on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. In case anyone is wondering, on riscv we definitely don't want to enable ARCH_R9A07G043 by default, as it depends on NONPORTABLE. The general idea LGTM. Gr{oetje,eeting}s, Geert
Hi Biju, On Fri, 28 Mar 2025 at 08:15, Biju Das <biju.das.jz@bp.renesas.com> wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > Adding default y if ARCH_RENESAS to the relevant configurations removes the need to manually enable > > individual SoCs in defconfig files. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? > > So that previous devices, they don't need to patch this file: > > 1) If they want to do a standalone build for Image size optimization, > just remove the unwanted SoCs from defconfig. > > 2) Debug some issues, some people just use defconfig from > different kernel version to try it out. While defconfig files need an update, config files do not: running "make oldconfig" does not enable support for extra SoCs. Gr{oetje,eeting}s, Geert
Hi Geert, > -----Original Message----- > From: Geert Uytterhoeven <geert@linux-m68k.org> > Sent: 31 March 2025 16:18 > Subject: Re: [PATCH RFC INTERNAL v2 1/4] soc: renesas: Kconfig: Enable SoCs by default when > ARCH_RENESAS is set > > Hi Biju, > > On Fri, 28 Mar 2025 at 08:15, Biju Das <biju.das.jz@bp.renesas.com> wrote: > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > Adding default y if ARCH_RENESAS to the relevant configurations > > > removes the need to manually enable individual SoCs in defconfig files. > > > > > > Signed-off-by: Lad Prabhakar > > > <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? > > > > So that previous devices, they don't need to patch this file: > > > > 1) If they want to do a standalone build for Image size optimization, > > just remove the unwanted SoCs from defconfig. > > > > 2) Debug some issues, some people just use defconfig from > > different kernel version to try it out. > > While defconfig files need an update, config files do not: > running "make oldconfig" does not enable support for extra SoCs. Thanks for the info. I haven't used oldconfig much. Cheers, Biju
Hi Biju, On Mon, 31 Mar 2025 at 17:26, Biju Das <biju.das.jz@bp.renesas.com> wrote: > > From: Geert Uytterhoeven <geert@linux-m68k.org> > > On Fri, 28 Mar 2025 at 08:15, Biju Das <biju.das.jz@bp.renesas.com> wrote: > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > > Adding default y if ARCH_RENESAS to the relevant configurations > > > > removes the need to manually enable individual SoCs in defconfig files. > > > > > > > > Signed-off-by: Lad Prabhakar > > > > <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > Can we add this changes to newer devices for eg:RZ/T2H, RZ/V2N? > > > > > > So that previous devices, they don't need to patch this file: > > > > > > 1) If they want to do a standalone build for Image size optimization, > > > just remove the unwanted SoCs from defconfig. > > > > > > 2) Debug some issues, some people just use defconfig from > > > different kernel version to try it out. > > > > While defconfig files need an update, config files do not: > > running "make oldconfig" does not enable support for extra SoCs. > > Thanks for the info. I haven't used oldconfig much. I always use: make oldconfig make savedefconfig diff arch/$ARCH/configs/$DEFCONFIG defconfig to make sure nothing gets disabled by accident (e.g. when a select statement is dropped from a Kconfig file). Gr{oetje,eeting}s, Geert
Hi Geert, Thank you for the review. On Mon, Mar 31, 2025 at 4:16 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Prabhakar, > > On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > Adding default y if ARCH_RENESAS to the relevant configurations removes > > the need to manually enable individual SoCs in defconfig files. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Thanks for your patch! > > > --- a/drivers/soc/renesas/Kconfig > > +++ b/drivers/soc/renesas/Kconfig > > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > Note that this whole block already depends on ARCH_RENESAS... > I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: > fix build regressions") reminded me. This is also the reason why we > cannot open the block for COMPILE_TEST in general. > > > > > config ARCH_EMEV2 > > bool "ARM32 Platform support for Emma Mobile EV2" > > + default y if ARCH_RENESAS > > ... so the "if ..." part is not really needed for arm32 SoCs. > Ok, got you. > > @@ -197,6 +216,7 @@ if ARM64 > > Note that unlike on arm32, the arm64 (and riscv) block does not depend > on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. To keep it consistent would you prefer `if ARM64 && ARCH_RENESAS` to be added and then all of the SoCs can just have `default y ARCH_RENESAS`. > In case anyone is wondering, on riscv we definitely don't want to > enable ARCH_R9A07G043 by default, as it depends on NONPORTABLE. > Yep. Cheers, Prabhakar
Hi Prabhakar, On Mon, 31 Mar 2025 at 17:37, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > On Mon, Mar 31, 2025 at 4:16 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > Adding default y if ARCH_RENESAS to the relevant configurations removes > > > the need to manually enable individual SoCs in defconfig files. > > > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Thanks for your patch! > > > > > --- a/drivers/soc/renesas/Kconfig > > > +++ b/drivers/soc/renesas/Kconfig > > > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > > > Note that this whole block already depends on ARCH_RENESAS... > > I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: > > fix build regressions") reminded me. This is also the reason why we > > cannot open the block for COMPILE_TEST in general. > > > > > > > > config ARCH_EMEV2 > > > bool "ARM32 Platform support for Emma Mobile EV2" > > > + default y if ARCH_RENESAS > > > > ... so the "if ..." part is not really needed for arm32 SoCs. > > > Ok, got you. > > > > @@ -197,6 +216,7 @@ if ARM64 > > > > Note that unlike on arm32, the arm64 (and riscv) block does not depend > > on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. > To keep it consistent would you prefer `if ARM64 && ARCH_RENESAS` to > be added and then all of the SoCs can just have `default y > ARCH_RENESAS`. I am still undecided. On one side, I like symmetry; on the other side, I like opening up as much as possible for compile-testing. Note that apart from a scary "WARNING: unmet direct dependencies detected for PM", an m68k allmodconfig kernel builds fine after -if ARM64 +if ARM64 || COMPILE_TEST Gr{oetje,eeting}s, Geert
Hi Geert, On Mon, Mar 31, 2025 at 4:48 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Prabhakar, > > On Mon, 31 Mar 2025 at 17:37, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > On Mon, Mar 31, 2025 at 4:16 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > > Adding default y if ARCH_RENESAS to the relevant configurations removes > > > > the need to manually enable individual SoCs in defconfig files. > > > > > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > Thanks for your patch! > > > > > > > --- a/drivers/soc/renesas/Kconfig > > > > +++ b/drivers/soc/renesas/Kconfig > > > > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > > > > > Note that this whole block already depends on ARCH_RENESAS... > > > I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: > > > fix build regressions") reminded me. This is also the reason why we > > > cannot open the block for COMPILE_TEST in general. > > > > > > > > > > > config ARCH_EMEV2 > > > > bool "ARM32 Platform support for Emma Mobile EV2" > > > > + default y if ARCH_RENESAS > > > > > > ... so the "if ..." part is not really needed for arm32 SoCs. > > > > > Ok, got you. > > > > > > @@ -197,6 +216,7 @@ if ARM64 > > > > > > Note that unlike on arm32, the arm64 (and riscv) block does not depend > > > on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. > > To keep it consistent would you prefer `if ARM64 && ARCH_RENESAS` to > > be added and then all of the SoCs can just have `default y > > ARCH_RENESAS`. > > I am still undecided. On one side, I like symmetry; on the other side, > I like opening up as much as possible for compile-testing. > > Note that apart from a scary "WARNING: unmet direct dependencies > detected for PM", an m68k allmodconfig kernel builds fine after > > -if ARM64 > +if ARM64 || COMPILE_TEST > So I go ahead with your earlier suggestion for now? Cheers, Prabhakar
Hi Geert, On Mon, Mar 31, 2025 at 4:48 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Prabhakar, > > On Mon, 31 Mar 2025 at 17:37, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > On Mon, Mar 31, 2025 at 4:16 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > > Adding default y if ARCH_RENESAS to the relevant configurations removes > > > > the need to manually enable individual SoCs in defconfig files. > > > > > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > Thanks for your patch! > > > > > > > --- a/drivers/soc/renesas/Kconfig > > > > +++ b/drivers/soc/renesas/Kconfig > > > > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > > > > > Note that this whole block already depends on ARCH_RENESAS... > > > I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: > > > fix build regressions") reminded me. This is also the reason why we > > > cannot open the block for COMPILE_TEST in general. > > > > > > > > > > > config ARCH_EMEV2 > > > > bool "ARM32 Platform support for Emma Mobile EV2" > > > > + default y if ARCH_RENESAS > > > > > > ... so the "if ..." part is not really needed for arm32 SoCs. > > > > > Ok, got you. > > > > > > @@ -197,6 +216,7 @@ if ARM64 > > > > > > Note that unlike on arm32, the arm64 (and riscv) block does not depend > > > on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. > > To keep it consistent would you prefer `if ARM64 && ARCH_RENESAS` to > > be added and then all of the SoCs can just have `default y > > ARCH_RENESAS`. > > I am still undecided. On one side, I like symmetry; on the other side, > I like opening up as much as possible for compile-testing. > > Note that apart from a scary "WARNING: unmet direct dependencies > detected for PM", an m68k allmodconfig kernel builds fine after > > -if ARM64 > +if ARM64 || COMPILE_TEST > How about with the below: diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index eb5bb6d36899..31f313d90f0a 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -122,7 +122,7 @@ menu "Kernel Features" endmenu -if !MMU +if !MMU || COMPILE_TEST menu "Power management options" config PM Cheers, Prabhakar
Hi Prabhakar, On Mon, 31 Mar 2025 at 18:57, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > On Mon, Mar 31, 2025 at 4:48 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > On Mon, 31 Mar 2025 at 17:37, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > > On Mon, Mar 31, 2025 at 4:16 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > > On Thu, 27 Mar 2025 at 20:33, Prabhakar <prabhakar.csengg@gmail.com> wrote: > > > > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > > > > > Enable various Renesas SoCs by default when ARCH_RENESAS is selected. > > > > > Adding default y if ARCH_RENESAS to the relevant configurations removes > > > > > the need to manually enable individual SoCs in defconfig files. > > > > > > > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > > > > > Thanks for your patch! > > > > > > > > > --- a/drivers/soc/renesas/Kconfig > > > > > +++ b/drivers/soc/renesas/Kconfig > > > > > @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS > > > > > > > > Note that this whole block already depends on ARCH_RENESAS... > > > > I forgot about the reason, but commit 8070ba6348608aa1 ("ARM: shmobile: > > > > fix build regressions") reminded me. This is also the reason why we > > > > cannot open the block for COMPILE_TEST in general. > > > > > > > > > > > > > > config ARCH_EMEV2 > > > > > bool "ARM32 Platform support for Emma Mobile EV2" > > > > > + default y if ARCH_RENESAS > > > > > > > > ... so the "if ..." part is not really needed for arm32 SoCs. > > > > > > > Ok, got you. > > > > > > > > @@ -197,6 +216,7 @@ if ARM64 > > > > > > > > Note that unlike on arm32, the arm64 (and riscv) block does not depend > > > > on ARCH_RENESAS, so the "if ARCH_RENESAS" part is needed. > > > To keep it consistent would you prefer `if ARM64 && ARCH_RENESAS` to > > > be added and then all of the SoCs can just have `default y > > > ARCH_RENESAS`. > > > > I am still undecided. On one side, I like symmetry; on the other side, > > I like opening up as much as possible for compile-testing. > > > > Note that apart from a scary "WARNING: unmet direct dependencies > > detected for PM", an m68k allmodconfig kernel builds fine after > > > > -if ARM64 > > +if ARM64 || COMPILE_TEST > > > So I go ahead with your earlier suggestion for now? Yes please. Thanks! Gr{oetje,eeting}s, Geert
Hi Prabhakar, On Mon, 31 Mar 2025 at 21:09, Lad, Prabhakar <prabhakar.csengg@gmail.com> wrote: > On Mon, Mar 31, 2025 at 4:48 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Note that apart from a scary "WARNING: unmet direct dependencies > > detected for PM", an m68k allmodconfig kernel builds fine after > > > > -if ARM64 > > +if ARM64 || COMPILE_TEST > > > How about with the below: > > diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig > index eb5bb6d36899..31f313d90f0a 100644 > --- a/arch/m68k/Kconfig > +++ b/arch/m68k/Kconfig > @@ -122,7 +122,7 @@ menu "Kernel Features" > > endmenu > > -if !MMU > +if !MMU || COMPILE_TEST > menu "Power management options" > > config PM I'd rather not add compile-testing for such a core subsystem symbol. The SoC-specific ARCH_* symbols don't enable much code in-se, and mainly expose driver options that become visible when compile-testing anyway. I rather see build issues due to building the latter with PM disabled, else we may lose the ability to notice such issues, and the opportunity to fix them. Gr{oetje,eeting}s, Geert
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index 49648cf28bd2..40197421ff62 100644 --- a/drivers/soc/renesas/Kconfig +++ b/drivers/soc/renesas/Kconfig @@ -65,17 +65,20 @@ if ARM && ARCH_RENESAS config ARCH_EMEV2 bool "ARM32 Platform support for Emma Mobile EV2" + default y if ARCH_RENESAS select HAVE_ARM_SCU if SMP select SYS_SUPPORTS_EM_STI config ARCH_R8A7794 bool "ARM32 Platform support for R-Car E2" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A7794 config ARCH_R8A7779 bool "ARM32 Platform support for R-Car H1" + default y if ARCH_RENESAS select ARCH_RCAR_GEN1 select ARM_ERRATA_754322 select ARM_GLOBAL_TIMER @@ -85,6 +88,7 @@ config ARCH_R8A7779 config ARCH_R8A7790 bool "ARM32 Platform support for R-Car H2" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select ARM_ERRATA_814220 @@ -93,11 +97,13 @@ config ARCH_R8A7790 config ARCH_R8A7778 bool "ARM32 Platform support for R-Car M1A" + default y if ARCH_RENESAS select ARCH_RCAR_GEN1 select ARM_ERRATA_754322 config ARCH_R8A7793 bool "ARM32 Platform support for R-Car M2-N" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select I2C @@ -105,6 +111,7 @@ config ARCH_R8A7793 config ARCH_R8A7791 bool "ARM32 Platform support for R-Car M2-W" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select I2C @@ -112,18 +119,21 @@ config ARCH_R8A7791 config ARCH_R8A7792 bool "ARM32 Platform support for R-Car V2H" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7792 config ARCH_R8A7740 bool "ARM32 Platform support for R-Mobile A1" + default y if ARCH_RENESAS select ARCH_RMOBILE select ARM_ERRATA_754322 select RENESAS_INTC_IRQPIN config ARCH_R8A73A4 bool "ARM32 Platform support for R-Mobile APE6" + default y if ARCH_RENESAS select ARCH_RMOBILE select ARM_ERRATA_798181 if SMP select ARM_ERRATA_814220 @@ -132,6 +142,7 @@ config ARCH_R8A73A4 config ARCH_R7S72100 bool "ARM32 Platform support for RZ/A1H" + default y if ARCH_RENESAS select ARM_ERRATA_754322 select PM select PM_GENERIC_DOMAINS @@ -141,6 +152,7 @@ config ARCH_R7S72100 config ARCH_R7S9210 bool "ARM32 Platform support for RZ/A2" + default y if ARCH_RENESAS select PM select PM_GENERIC_DOMAINS select RENESAS_OSTM @@ -148,18 +160,21 @@ config ARCH_R7S9210 config ARCH_R8A77470 bool "ARM32 Platform support for RZ/G1C" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A77470 config ARCH_R8A7745 bool "ARM32 Platform support for RZ/G1E" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A7745 config ARCH_R8A7742 bool "ARM32 Platform support for RZ/G1H" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select ARM_ERRATA_814220 @@ -167,23 +182,27 @@ config ARCH_R8A7742 config ARCH_R8A7743 bool "ARM32 Platform support for RZ/G1M" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7743 config ARCH_R8A7744 bool "ARM32 Platform support for RZ/G1N" + default y if ARCH_RENESAS select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7743 config ARCH_R9A06G032 bool "ARM32 Platform support for RZ/N1D" + default y if ARCH_RENESAS select ARCH_RZN1 select ARM_ERRATA_814220 config ARCH_SH73A0 bool "ARM32 Platform support for SH-Mobile AG5" + default y if ARCH_RENESAS select ARCH_RMOBILE select ARM_ERRATA_754322 select ARM_GLOBAL_TIMER @@ -197,6 +216,7 @@ if ARM64 config ARCH_R8A77995 bool "ARM64 Platform support for R-Car D3" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77995 help @@ -205,6 +225,7 @@ config ARCH_R8A77995 config ARCH_R8A77990 bool "ARM64 Platform support for R-Car E3" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77990 help @@ -213,6 +234,7 @@ config ARCH_R8A77990 config ARCH_R8A77951 bool "ARM64 Platform support for R-Car H3 ES2.0+" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A7795 help @@ -222,6 +244,7 @@ config ARCH_R8A77951 config ARCH_R8A77965 bool "ARM64 Platform support for R-Car M3-N" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77965 help @@ -230,6 +253,7 @@ config ARCH_R8A77965 config ARCH_R8A77960 bool "ARM64 Platform support for R-Car M3-W" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77960 help @@ -237,6 +261,7 @@ config ARCH_R8A77960 config ARCH_R8A77961 bool "ARM64 Platform support for R-Car M3-W+" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77961 help @@ -245,6 +270,7 @@ config ARCH_R8A77961 config ARCH_R8A779F0 bool "ARM64 Platform support for R-Car S4-8" + default y if ARCH_RENESAS select ARCH_RCAR_GEN4 select SYSC_R8A779F0 help @@ -252,6 +278,7 @@ config ARCH_R8A779F0 config ARCH_R8A77980 bool "ARM64 Platform support for R-Car V3H" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77980 help @@ -259,6 +286,7 @@ config ARCH_R8A77980 config ARCH_R8A77970 bool "ARM64 Platform support for R-Car V3M" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A77970 help @@ -266,6 +294,7 @@ config ARCH_R8A77970 config ARCH_R8A779A0 bool "ARM64 Platform support for R-Car V3U" + default y if ARCH_RENESAS select ARCH_RCAR_GEN4 select SYSC_R8A779A0 help @@ -273,6 +302,7 @@ config ARCH_R8A779A0 config ARCH_R8A779G0 bool "ARM64 Platform support for R-Car V4H" + default y if ARCH_RENESAS select ARCH_RCAR_GEN4 select SYSC_R8A779G0 help @@ -280,6 +310,7 @@ config ARCH_R8A779G0 config ARCH_R8A779H0 bool "ARM64 Platform support for R-Car V4M" + default y if ARCH_RENESAS select ARCH_RCAR_GEN4 select SYSC_R8A779H0 help @@ -287,6 +318,7 @@ config ARCH_R8A779H0 config ARCH_R8A774C0 bool "ARM64 Platform support for RZ/G2E" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A774C0 help @@ -294,6 +326,7 @@ config ARCH_R8A774C0 config ARCH_R8A774E1 bool "ARM64 Platform support for RZ/G2H" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A774E1 help @@ -301,6 +334,7 @@ config ARCH_R8A774E1 config ARCH_R8A774A1 bool "ARM64 Platform support for RZ/G2M" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A774A1 help @@ -308,6 +342,7 @@ config ARCH_R8A774A1 config ARCH_R8A774B1 bool "ARM64 Platform support for RZ/G2N" + default y if ARCH_RENESAS select ARCH_RCAR_GEN3 select SYSC_R8A774B1 help @@ -315,24 +350,28 @@ config ARCH_R8A774B1 config ARCH_R9A07G043 bool "ARM64 Platform support for RZ/G2UL" + default y if ARCH_RENESAS select ARCH_RZG2L help This enables support for the Renesas RZ/G2UL SoC variants. config ARCH_R9A07G044 bool "ARM64 Platform support for RZ/G2L" + default y if ARCH_RENESAS select ARCH_RZG2L help This enables support for the Renesas RZ/G2L SoC variants. config ARCH_R9A07G054 bool "ARM64 Platform support for RZ/V2L" + default y if ARCH_RENESAS select ARCH_RZG2L help This enables support for the Renesas RZ/V2L SoC variants. config ARCH_R9A08G045 bool "ARM64 Platform support for RZ/G3S" + default y if ARCH_RENESAS select ARCH_RZG2L select SYSC_R9A08G045 help @@ -340,6 +379,7 @@ config ARCH_R9A08G045 config ARCH_R9A09G011 bool "ARM64 Platform support for RZ/V2M" + default y if ARCH_RENESAS select PM select PM_GENERIC_DOMAINS select PWC_RZV2M @@ -348,12 +388,14 @@ config ARCH_R9A09G011 config ARCH_R9A09G047 bool "ARM64 Platform support for RZ/G3E" + default y if ARCH_RENESAS select SYS_R9A09G047 help This enables support for the Renesas RZ/G3E SoC variants. config ARCH_R9A09G057 bool "ARM64 Platform support for RZ/V2H(P)" + default y if ARCH_RENESAS select RENESAS_RZV2H_ICU select SYS_R9A09G057 help