Message ID | 20250115103858.104709-4-biju.das.jz@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add support for RZ/G3E WDT | expand |
On 1/15/25 02:38, Biju Das wrote: > RZ/G3E watchdog timer IP is similar to the one found on RZ/V2H. > Add Kconfig dependency for RZV2HWDT driver with ARCH_R9A09G47 and > update the help description. > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> The subject is a bit misleading. It would be better named "Enable the RZV2HWDT driver for ARCH_R9A09G47" or similar. Guenter > --- > drivers/watchdog/Kconfig | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index f81705f8539a..646a84cc03e3 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -963,13 +963,14 @@ config RENESAS_RZG2LWDT > Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system. > > config RENESAS_RZV2HWDT > - tristate "Renesas RZ/V2H(P) WDT Watchdog" > - depends on ARCH_R9A09G057 || COMPILE_TEST > + tristate "Renesas RZ/{G3E,V2H(P)} WDT Watchdog" > + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST > depends on PM || COMPILE_TEST > select WATCHDOG_CORE > help > This driver adds watchdog support for the integrated watchdogs in the > - Renesas RZ/V2H(P) SoCs. These watchdogs can be used to reset a system. > + Renesas RZ/{G3E,V2H(P)} SoCs. These watchdogs can be used to reset a > + system. > > config ASPEED_WATCHDOG > tristate "Aspeed BMC watchdog support"
Hi Guenter, Thanks for the feedback. > -----Original Message----- > From: Guenter Roeck <groeck7@gmail.com> On Behalf Of Guenter Roeck > Sent: 15 January 2025 14:55 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 1/15/25 02:38, Biju Das wrote: > > RZ/G3E watchdog timer IP is similar to the one found on RZ/V2H. > > Add Kconfig dependency for RZV2HWDT driver with ARCH_R9A09G47 and > > update the help description. > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > > The subject is a bit misleading. It would be better named "Enable the RZV2HWDT driver for > ARCH_R9A09G47" or similar. OK, Will update subject and description. Cheers, Biju
On Wed, Jan 15, 2025 at 10:38:52AM +0000, Biju Das wrote: > RZ/G3E watchdog timer IP is similar to the one found on RZ/V2H. > Add Kconfig dependency for RZV2HWDT driver with ARCH_R9A09G47 and > update the help description. > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > --- > drivers/watchdog/Kconfig | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index f81705f8539a..646a84cc03e3 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -963,13 +963,14 @@ config RENESAS_RZG2LWDT > Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system. > > config RENESAS_RZV2HWDT > - tristate "Renesas RZ/V2H(P) WDT Watchdog" > - depends on ARCH_R9A09G057 || COMPILE_TEST > + tristate "Renesas RZ/{G3E,V2H(P)} WDT Watchdog" This is close to churn... > + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST But this is just wrong. You are supposed to depend on renesas ARHC, not your individual SoC (and this is what you called here "ARCH_R9A..."). Greg many times gave strong opinion that even full ARCH is wrong and we managed to convince him that it has a meaning (or he did not want to keep discussing). But restricting it per soc is pointless and impossible to defend in discussion. Best regards, Krzysztof
Hi Krzysztof Kozlowski, Thanks for the feedback. > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 18 January 2025 15:51 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On Wed, Jan 15, 2025 at 10:38:52AM +0000, Biju Das wrote: > > RZ/G3E watchdog timer IP is similar to the one found on RZ/V2H. > > Add Kconfig dependency for RZV2HWDT driver with ARCH_R9A09G47 and > > update the help description. > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > > --- > > drivers/watchdog/Kconfig | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index > > f81705f8539a..646a84cc03e3 100644 > > --- a/drivers/watchdog/Kconfig > > +++ b/drivers/watchdog/Kconfig > > @@ -963,13 +963,14 @@ config RENESAS_RZG2LWDT > > Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system. > > > > config RENESAS_RZV2HWDT > > - tristate "Renesas RZ/V2H(P) WDT Watchdog" > > - depends on ARCH_R9A09G057 || COMPILE_TEST > > + tristate "Renesas RZ/{G3E,V2H(P)} WDT Watchdog" > > This is close to churn... > > > + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST > > But this is just wrong. You are supposed to depend on renesas ARHC, not your individual SoC (and this > is what you called here "ARCH_R9A..."). > > Greg many times gave strong opinion that even full ARCH is wrong and we managed to convince him that > it has a meaning (or he did not want to keep discussing). But restricting it per soc is pointless and > impossible to defend in discussion. Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. which is pointless. May be ARCH_RENESAS should ok in this case?? Cheers, Biju
On 24/01/2025 11:20, Biju Das wrote: >> >>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST >> >> But this is just wrong. You are supposed to depend on renesas ARHC, not your individual SoC (and this >> is what you called here "ARCH_R9A..."). >> >> Greg many times gave strong opinion that even full ARCH is wrong and we managed to convince him that >> it has a meaning (or he did not want to keep discussing). But restricting it per soc is pointless and >> impossible to defend in discussion. > > Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. > which is pointless. May be ARCH_RENESAS should ok in this case?? Assuming ARCH_RENESAS covers your individual SoCs above, yes, that's the way for driver to limit themselves to usable family. Best regards, Krzysztof
Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 24 January 2025 10:35 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 24/01/2025 11:20, Biju Das wrote: > >> > >>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST > >> > >> But this is just wrong. You are supposed to depend on renesas ARHC, > >> not your individual SoC (and this is what you called here "ARCH_R9A..."). > >> > >> Greg many times gave strong opinion that even full ARCH is wrong and > >> we managed to convince him that it has a meaning (or he did not want > >> to keep discussing). But restricting it per soc is pointless and impossible to defend in > discussion. > > > > Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. > > which is pointless. May be ARCH_RENESAS should ok in this case?? > Assuming ARCH_RENESAS covers your individual SoCs above, yes, that's the way for driver to limit > themselves to usable family. ARCH_RENESAS has ARM, ARM64 and RISC based SoCs. Currently it covers ARCH_RCAR_GEN1, ARCH_RCAR_GEN2, ARCH_RCAR_GEN3, ARCH_RCAR_GEN4, ARCH_RMOBILE, ARCH_RZG2L, ARCH_RZN1 Family SOCs and rest of the individual SoCs such as RZ/V2H abnd RZ/g3E. Since most of IP's in RZ/V2H and RZ/G3E are identical we could introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? Cheers, Biju
On 24/01/2025 11:57, Biju Das wrote: > Hi Krzysztof Kozlowski, > >> -----Original Message----- >> From: Krzysztof Kozlowski <krzk@kernel.org> >> Sent: 24 January 2025 10:35 >> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 >> >> On 24/01/2025 11:20, Biju Das wrote: >>>> >>>>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST >>>> >>>> But this is just wrong. You are supposed to depend on renesas ARHC, >>>> not your individual SoC (and this is what you called here "ARCH_R9A..."). >>>> >>>> Greg many times gave strong opinion that even full ARCH is wrong and >>>> we managed to convince him that it has a meaning (or he did not want >>>> to keep discussing). But restricting it per soc is pointless and impossible to defend in >> discussion. >>> >>> Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. >>> which is pointless. May be ARCH_RENESAS should ok in this case?? >> Assuming ARCH_RENESAS covers your individual SoCs above, yes, that's the way for driver to limit >> themselves to usable family. > > ARCH_RENESAS has ARM, ARM64 and RISC based SoCs. > > Currently it covers ARCH_RCAR_GEN1, ARCH_RCAR_GEN2, > ARCH_RCAR_GEN3, ARCH_RCAR_GEN4, ARCH_RMOBILE, ARCH_RZG2L, ARCH_RZN1 > Family SOCs and rest of the individual SoCs such as RZ/V2H abnd RZ/g3E. Rather tell me why this is supposed to be different than other vendors? || ARM64 is already used solution > > Since most of IP's in RZ/V2H and RZ/G3E are identical we could introduce > a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? You should not write drivers per SoCs (or even two or there SoCs) and there is really no need to restrict them per each SoC. Otherwise come with arguments to my first question: why do you need exception here from generic kernel approach? Best regards, Krzysztof
Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 24 January 2025 12:42 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 24/01/2025 11:57, Biju Das wrote: > > Hi Krzysztof Kozlowski, > > > >> -----Original Message----- > >> From: Krzysztof Kozlowski <krzk@kernel.org> > >> Sent: 24 January 2025 10:35 > >> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on > >> ARCH_R9A09G47 > >> > >> On 24/01/2025 11:20, Biju Das wrote: > >>>> > >>>>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST > >>>> > >>>> But this is just wrong. You are supposed to depend on renesas ARHC, > >>>> not your individual SoC (and this is what you called here "ARCH_R9A..."). > >>>> > >>>> Greg many times gave strong opinion that even full ARCH is wrong > >>>> and we managed to convince him that it has a meaning (or he did not > >>>> want to keep discussing). But restricting it per soc is pointless > >>>> and impossible to defend in > >> discussion. > >>> > >>> Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. > >>> which is pointless. May be ARCH_RENESAS should ok in this case?? > >> Assuming ARCH_RENESAS covers your individual SoCs above, yes, that's > >> the way for driver to limit themselves to usable family. > > > > ARCH_RENESAS has ARM, ARM64 and RISC based SoCs. > > > > Currently it covers ARCH_RCAR_GEN1, ARCH_RCAR_GEN2, ARCH_RCAR_GEN3, > > ARCH_RCAR_GEN4, ARCH_RMOBILE, ARCH_RZG2L, ARCH_RZN1 Family SOCs and > > rest of the individual SoCs such as RZ/V2H abnd RZ/g3E. > > > Rather tell me why this is supposed to be different than other vendors? It is not different from other vendors. See, for eg: config S3C2410_WATCHDOG 557 tristate "S3C6410/S5Pv210/Exynos Watchdog" 558 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 575 config SA1100_WATCHDOG 576 tristate "SA1100/PXA2xx watchdog" 577 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST and many more. > > || ARM64 is already used solution If you are correct, then all should depend on either on ARM or ARM64 or RISCV etc... > > > > > Since most of IP's in RZ/V2H and RZ/G3E are identical we could > > introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? > > You should not write drivers per SoCs (or even two or there SoCs) and there is really no need to > restrict them per each SoC. If I am not wrong, The watchdog subsystem uses similar approach. > > Otherwise come with arguments to my first question: why do you need exception here from generic kernel > approach? It is not deviating from generic kernel approach as lot of vendors are doing this way. eg: config OMAP_WATCHDOG tristate "OMAP Watchdog" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST config DAVINCI_WATCHDOG tristate "DaVinci watchdog" depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST config K3_RTI_WATCHDOG tristate "Texas Instruments K3 RTI watchdog" depends on ARCH_K3 || COMPILE_TEST Cheers, Biju
On 24/01/2025 13:55, Biju Das wrote: > Hi Krzysztof Kozlowski, > >> -----Original Message----- >> From: Krzysztof Kozlowski <krzk@kernel.org> >> Sent: 24 January 2025 12:42 >> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 >> >> On 24/01/2025 11:57, Biju Das wrote: >>> Hi Krzysztof Kozlowski, >>> >>>> -----Original Message----- >>>> From: Krzysztof Kozlowski <krzk@kernel.org> >>>> Sent: 24 January 2025 10:35 >>>> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on >>>> ARCH_R9A09G47 >>>> >>>> On 24/01/2025 11:20, Biju Das wrote: >>>>>> >>>>>>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST >>>>>> >>>>>> But this is just wrong. You are supposed to depend on renesas ARHC, >>>>>> not your individual SoC (and this is what you called here "ARCH_R9A..."). >>>>>> >>>>>> Greg many times gave strong opinion that even full ARCH is wrong >>>>>> and we managed to convince him that it has a meaning (or he did not >>>>>> want to keep discussing). But restricting it per soc is pointless >>>>>> and impossible to defend in >>>> discussion. >>>>> >>>>> Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. >>>>> which is pointless. May be ARCH_RENESAS should ok in this case?? >>>> Assuming ARCH_RENESAS covers your individual SoCs above, yes, that's >>>> the way for driver to limit themselves to usable family. >>> >>> ARCH_RENESAS has ARM, ARM64 and RISC based SoCs. >>> >>> Currently it covers ARCH_RCAR_GEN1, ARCH_RCAR_GEN2, ARCH_RCAR_GEN3, >>> ARCH_RCAR_GEN4, ARCH_RMOBILE, ARCH_RZG2L, ARCH_RZN1 Family SOCs and >>> rest of the individual SoCs such as RZ/V2H abnd RZ/g3E. >> >> >> Rather tell me why this is supposed to be different than other vendors? > > It is not different from other vendors. > > See, for eg: > config S3C2410_WATCHDOG > 557 tristate "S3C6410/S5Pv210/Exynos Watchdog" > 558 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST You see - only one ARCH_EXYNOS. That's the arch and vendor. Exynos is the entire arch for arm32 and arm64 consisting of all of SoCs. S3C and S5P are entirely different, much older archs - these even could not be combined in one image with Exynos some time ago. > > > 575 config SA1100_WATCHDOG > 576 tristate "SA1100/PXA2xx watchdog" > 577 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST > > and many more. Again: only one SA1100, one PXA. Not per each PXA SoC. So these prove my point - use only your ARCH > > >> >> || ARM64 is already used solution > > If you are correct, then all should depend on either on ARM or ARM64 or RISCV etc... > > >> >>> >>> Since most of IP's in RZ/V2H and RZ/G3E are identical we could >>> introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? >> >> You should not write drivers per SoCs (or even two or there SoCs) and there is really no need to >> restrict them per each SoC. > > If I am not wrong, The watchdog subsystem uses similar approach. > >> >> Otherwise come with arguments to my first question: why do you need exception here from generic kernel >> approach? > > It is not deviating from generic kernel approach as lot of vendors are doing this way. > eg: > > config OMAP_WATCHDOG > tristate "OMAP Watchdog" > depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST Anyway, that's ancient OMAP, we speak about new devices. > > > config DAVINCI_WATCHDOG > tristate "DaVinci watchdog" > depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST Different ARCH, not SoCs! > > > config K3_RTI_WATCHDOG > tristate "Texas Instruments K3 RTI watchdog" > depends on ARCH_K3 || COMPILE_TEST Dependency on ARCH. Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 is the SoC - individual or family)? Best regards, Krzysztof
Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 24 January 2025 13:00 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 24/01/2025 13:55, Biju Das wrote: > > Hi Krzysztof Kozlowski, > > > >> -----Original Message----- > >> From: Krzysztof Kozlowski <krzk@kernel.org> > >> Sent: 24 January 2025 12:42 > >> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on > >> ARCH_R9A09G47 > >> > >> On 24/01/2025 11:57, Biju Das wrote: > >>> Hi Krzysztof Kozlowski, > >>> > >>>> -----Original Message----- > >>>> From: Krzysztof Kozlowski <krzk@kernel.org> > >>>> Sent: 24 January 2025 10:35 > >>>> Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on > >>>> ARCH_R9A09G47 > >>>> > >>>> On 24/01/2025 11:20, Biju Das wrote: > >>>>>> > >>>>>>> + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST > >>>>>> > >>>>>> But this is just wrong. You are supposed to depend on renesas > >>>>>> ARHC, not your individual SoC (and this is what you called here "ARCH_R9A..."). > >>>>>> > >>>>>> Greg many times gave strong opinion that even full ARCH is wrong > >>>>>> and we managed to convince him that it has a meaning (or he did > >>>>>> not want to keep discussing). But restricting it per soc is > >>>>>> pointless and impossible to defend in > >>>> discussion. > >>>>> > >>>>> Currently for building RZ/G3E WDT, I need to always have RZ/V2H SoC config. > >>>>> which is pointless. May be ARCH_RENESAS should ok in this case?? > >>>> Assuming ARCH_RENESAS covers your individual SoCs above, yes, > >>>> that's the way for driver to limit themselves to usable family. > >>> > >>> ARCH_RENESAS has ARM, ARM64 and RISC based SoCs. > >>> > >>> Currently it covers ARCH_RCAR_GEN1, ARCH_RCAR_GEN2, ARCH_RCAR_GEN3, > >>> ARCH_RCAR_GEN4, ARCH_RMOBILE, ARCH_RZG2L, ARCH_RZN1 Family SOCs and > >>> rest of the individual SoCs such as RZ/V2H abnd RZ/g3E. > >> > >> > >> Rather tell me why this is supposed to be different than other vendors? > > > > It is not different from other vendors. > > > > See, for eg: > > config S3C2410_WATCHDOG > > 557 tristate "S3C6410/S5Pv210/Exynos Watchdog" > > 558 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST > > You see - only one ARCH_EXYNOS. > > That's the arch and vendor. Exynos is the entire arch for arm32 and > arm64 consisting of all of SoCs. In Renesas case it is ARCH_RENESAS. > > S3C and S5P are entirely different, much older archs - these even could not be combined in one image > with Exynos some time ago. > > > > > > > 575 config SA1100_WATCHDOG > > 576 tristate "SA1100/PXA2xx watchdog" > > 577 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST > > > > and many more. > > Again: only one SA1100, one PXA. Not per each PXA SoC. > > So these prove my point - use only your ARCH > > > > > >> > >> || ARM64 is already used solution > > > > If you are correct, then all should depend on either on ARM or ARM64 or RISCV etc... > > > > > >> > >>> > >>> Since most of IP's in RZ/V2H and RZ/G3E are identical we could > >>> introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? > >> > >> You should not write drivers per SoCs (or even two or there SoCs) and > >> there is really no need to restrict them per each SoC. > > > > If I am not wrong, The watchdog subsystem uses similar approach. > > > >> > >> Otherwise come with arguments to my first question: why do you need > >> exception here from generic kernel approach? > > > > It is not deviating from generic kernel approach as lot of vendors are doing this way. > > eg: > > > > config OMAP_WATCHDOG > > tristate "OMAP Watchdog" > > depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST > > Anyway, that's ancient OMAP, we speak about new devices. > > > > > > > config DAVINCI_WATCHDOG > > tristate "DaVinci watchdog" > > depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST > > Different ARCH, not SoCs! > > > > > > > config K3_RTI_WATCHDOG > > tristate "Texas Instruments K3 RTI watchdog" > > depends on ARCH_K3 || COMPILE_TEST > > Dependency on ARCH. > > Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 is the SoC - individual or > family)? ARCH_R9A09G47 --> Is a SoC (RZ/G3E) ARCH_R9A09G57 --> Is a SoC (RZ/V2H) 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: ARCH_RZ_G3E_V2H family)? Cheers, Biju
On 24/01/2025 14:10, Biju Das wrote: >>>> Rather tell me why this is supposed to be different than other vendors? >>> >>> It is not different from other vendors. >>> >>> See, for eg: >>> config S3C2410_WATCHDOG >>> 557 tristate "S3C6410/S5Pv210/Exynos Watchdog" >>> 558 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST >> >> You see - only one ARCH_EXYNOS. >> >> That's the arch and vendor. Exynos is the entire arch for arm32 and >> arm64 consisting of all of SoCs. > > In Renesas case it is ARCH_RENESAS. So that's your dependency. Said in this thread long time ago. > >> >> S3C and S5P are entirely different, much older archs - these even could not be combined in one image >> with Exynos some time ago. >> >>> >>> >>> 575 config SA1100_WATCHDOG >>> 576 tristate "SA1100/PXA2xx watchdog" >>> 577 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST >>> >>> and many more. >> >> Again: only one SA1100, one PXA. Not per each PXA SoC. >> >> So these prove my point - use only your ARCH >>> >>> >>>> >>>> || ARM64 is already used solution >>> >>> If you are correct, then all should depend on either on ARM or ARM64 or RISCV etc... >>> >>> >>>> >>>>> >>>>> Since most of IP's in RZ/V2H and RZ/G3E are identical we could >>>>> introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? >>>> >>>> You should not write drivers per SoCs (or even two or there SoCs) and >>>> there is really no need to restrict them per each SoC. >>> >>> If I am not wrong, The watchdog subsystem uses similar approach. >>> >>>> >>>> Otherwise come with arguments to my first question: why do you need >>>> exception here from generic kernel approach? >>> >>> It is not deviating from generic kernel approach as lot of vendors are doing this way. >>> eg: >>> >>> config OMAP_WATCHDOG >>> tristate "OMAP Watchdog" >>> depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST >> >> Anyway, that's ancient OMAP, we speak about new devices. >> >>> >>> >>> config DAVINCI_WATCHDOG >>> tristate "DaVinci watchdog" >>> depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST >> >> Different ARCH, not SoCs! >> >>> >>> >>> config K3_RTI_WATCHDOG >>> tristate "Texas Instruments K3 RTI watchdog" >>> depends on ARCH_K3 || COMPILE_TEST >> >> Dependency on ARCH. >> >> Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 is the SoC - individual or >> family)? > > ARCH_R9A09G47 --> Is a SoC (RZ/G3E) > ARCH_R9A09G57 --> Is a SoC (RZ/V2H) > > 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: ARCH_RZ_G3E_V2H family)? We do not discuss what these SoCs belong to. How does it matter if you create ARCH_RZ_ONE_TWO_THREE_SOCS? Your dependency is ARCH, so unified kernel image will be easier to create. This is not helping in unified image and Greg was talking about this *multiple times*. Best regards, Krzysztof
Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 24 January 2025 13:20 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 24/01/2025 14:10, Biju Das wrote: > >>>> Rather tell me why this is supposed to be different than other vendors? > >>> > >>> It is not different from other vendors. > >>> > >>> See, for eg: > >>> config S3C2410_WATCHDOG > >>> 557 tristate "S3C6410/S5Pv210/Exynos Watchdog" > >>> 558 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST > >> > >> You see - only one ARCH_EXYNOS. > >> > >> That's the arch and vendor. Exynos is the entire arch for arm32 and > >> arm64 consisting of all of SoCs. > > > > In Renesas case it is ARCH_RENESAS. > > > So that's your dependency. Said in this thread long time ago. OK. > > > > > >> > >> S3C and S5P are entirely different, much older archs - these even > >> could not be combined in one image with Exynos some time ago. > >> > >>> > >>> > >>> 575 config SA1100_WATCHDOG > >>> 576 tristate "SA1100/PXA2xx watchdog" > >>> 577 depends on ARCH_SA1100 || ARCH_PXA || COMPILE_TEST > >>> > >>> and many more. > >> > >> Again: only one SA1100, one PXA. Not per each PXA SoC. > >> > >> So these prove my point - use only your ARCH > >>> > >>> > >>>> > >>>> || ARM64 is already used solution > >>> > >>> If you are correct, then all should depend on either on ARM or ARM64 or RISCV etc... > >>> > >>> > >>>> > >>>>> > >>>>> Since most of IP's in RZ/V2H and RZ/G3E are identical we could > >>>>> introduce a new family SoC ARCH_RZG3E_RZV2H to cover both or top level ARCH_RENESAS?? > >>>> > >>>> You should not write drivers per SoCs (or even two or there SoCs) > >>>> and there is really no need to restrict them per each SoC. > >>> > >>> If I am not wrong, The watchdog subsystem uses similar approach. > >>> > >>>> > >>>> Otherwise come with arguments to my first question: why do you need > >>>> exception here from generic kernel approach? > >>> > >>> It is not deviating from generic kernel approach as lot of vendors are doing this way. > >>> eg: > >>> > >>> config OMAP_WATCHDOG > >>> tristate "OMAP Watchdog" > >>> depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST > >> > >> Anyway, that's ancient OMAP, we speak about new devices. > >> > >>> > >>> > >>> config DAVINCI_WATCHDOG > >>> tristate "DaVinci watchdog" > >>> depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST > >> > >> Different ARCH, not SoCs! > >> > >>> > >>> > >>> config K3_RTI_WATCHDOG > >>> tristate "Texas Instruments K3 RTI watchdog" > >>> depends on ARCH_K3 || COMPILE_TEST > >> > >> Dependency on ARCH. > >> > >> Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 > >> is the SoC - individual or family)? > > > > ARCH_R9A09G47 --> Is a SoC (RZ/G3E) > > ARCH_R9A09G57 --> Is a SoC (RZ/V2H) > > > > 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: > ARCH_RZ_G3E_V2H family)? > > > We do not discuss what these SoCs belong to. How does it matter if you create > ARCH_RZ_ONE_TWO_THREE_SOCS? Your dependency is ARCH, so unified kernel image will be easier to create. > This is not helping in unified image and Greg was talking about this *multiple times*. OK, I will use ARCH_RENESAS then. Cheers, Biju
On 24/01/2025 14:24, Biju Das wrote: >>>> >>>>> >>>>> >>>>> config K3_RTI_WATCHDOG >>>>> tristate "Texas Instruments K3 RTI watchdog" >>>>> depends on ARCH_K3 || COMPILE_TEST >>>> >>>> Dependency on ARCH. >>>> >>>> Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 >>>> is the SoC - individual or family)? >>> >>> ARCH_R9A09G47 --> Is a SoC (RZ/G3E) >>> ARCH_R9A09G57 --> Is a SoC (RZ/V2H) >>> >>> 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: >> ARCH_RZ_G3E_V2H family)? >> >> >> We do not discuss what these SoCs belong to. How does it matter if you create >> ARCH_RZ_ONE_TWO_THREE_SOCS? Your dependency is ARCH, so unified kernel image will be easier to create. >> This is not helping in unified image and Greg was talking about this *multiple times*. > Renesas needs to finally start integrating the drivers and treating your SoCs in unified way leading to unified kernel image. You have four watchdog drivers, which look like could be combined into two drivers (so each pair of drivers could be combined). For entire Qualcomm family supporting more SoCs than Renesas there is only one driver. Best regards, Krzysztof
Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: 24 January 2025 13:41 > Subject: Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47 > > On 24/01/2025 14:24, Biju Das wrote: > >>>> > >>>>> > >>>>> > >>>>> config K3_RTI_WATCHDOG > >>>>> tristate "Texas Instruments K3 RTI watchdog" > >>>>> depends on ARCH_K3 || COMPILE_TEST > >>>> > >>>> Dependency on ARCH. > >>>> > >>>> Do you understand the difference between ARCH and SoC > >>>> (ARCH_R9A09G47 is the SoC - individual or family)? > >>> > >>> ARCH_R9A09G47 --> Is a SoC (RZ/G3E) > >>> ARCH_R9A09G57 --> Is a SoC (RZ/V2H) > >>> > >>> 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: > >> ARCH_RZ_G3E_V2H family)? > >> > >> > >> We do not discuss what these SoCs belong to. How does it matter if > >> you create ARCH_RZ_ONE_TWO_THREE_SOCS? Your dependency is ARCH, so unified kernel image will be > easier to create. > >> This is not helping in unified image and Greg was talking about this *multiple times*. > > > Renesas needs to finally start integrating the drivers and treating your SoCs in unified way leading > to unified kernel image. You have four watchdog drivers, which look like could be combined into two > drivers (so each pair of drivers could be combined). For entire Qualcomm family supporting more SoCs > than Renesas there is only one driver. You mean combining SoC IP differences into a hw info struct and call function pointers to achieve same functionality?? What will be the image size saving in that case? Cheers, Biju
Hi Krzysztof, On Fri, Jan 24, 2025 at 2:40 PM Krzysztof Kozlowski <krzk@kernel.org> wrote: > On 24/01/2025 14:24, Biju Das wrote: > >>>>> config K3_RTI_WATCHDOG > >>>>> tristate "Texas Instruments K3 RTI watchdog" > >>>>> depends on ARCH_K3 || COMPILE_TEST > >>>> > >>>> Dependency on ARCH. > >>>> > >>>> Do you understand the difference between ARCH and SoC (ARCH_R9A09G47 > >>>> is the SoC - individual or family)? > >>> > >>> ARCH_R9A09G47 --> Is a SoC (RZ/G3E) > >>> ARCH_R9A09G57 --> Is a SoC (RZ/V2H) > >>> > >>> 90%of IP between these SoCs are same. So can't this belongs to same family of SoCs(eg: > >> ARCH_RZ_G3E_V2H family)? > >> > >> > >> We do not discuss what these SoCs belong to. How does it matter if you create > >> ARCH_RZ_ONE_TWO_THREE_SOCS? Your dependency is ARCH, so unified kernel image will be easier to create. > >> This is not helping in unified image and Greg was talking about this *multiple times*. > > > Renesas needs to finally start integrating the drivers and treating your > SoCs in unified way leading to unified kernel image. You have four How does this prevent creating a unified kernel image? None of these ARCH_*-symbols are mutually-exclusive. (out-of-tree[1]) renesas_defconfig supports all Renesas ARM64 SoCs. The standard arm64 defconfig should work, too. > watchdog drivers, which look like could be combined into two drivers (so > each pair of drivers could be combined). For entire Qualcomm family All of them can be combined into a unified kernel image. > supporting more SoCs than Renesas there is only one driver. Different watchdog hardware, different drivers... [1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel.git/log/?h=topic/renesas-defconfig Gr{oetje,eeting}s, Geert
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index f81705f8539a..646a84cc03e3 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -963,13 +963,14 @@ config RENESAS_RZG2LWDT Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system. config RENESAS_RZV2HWDT - tristate "Renesas RZ/V2H(P) WDT Watchdog" - depends on ARCH_R9A09G057 || COMPILE_TEST + tristate "Renesas RZ/{G3E,V2H(P)} WDT Watchdog" + depends on ARCH_R9A09G047 || ARCH_R9A09G057 || COMPILE_TEST depends on PM || COMPILE_TEST select WATCHDOG_CORE help This driver adds watchdog support for the integrated watchdogs in the - Renesas RZ/V2H(P) SoCs. These watchdogs can be used to reset a system. + Renesas RZ/{G3E,V2H(P)} SoCs. These watchdogs can be used to reset a + system. config ASPEED_WATCHDOG tristate "Aspeed BMC watchdog support"
RZ/G3E watchdog timer IP is similar to the one found on RZ/V2H. Add Kconfig dependency for RZV2HWDT driver with ARCH_R9A09G47 and update the help description. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- drivers/watchdog/Kconfig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)