Re: [PATCH 3/5] watchdog: Make RZV2HWDT driver depend on ARCH_R9A09G47

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux