Hi Krzysztof Kozlowski, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > 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@xxxxxxxxxx> > >> 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@xxxxxxxxxx> > >>>> 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