Message ID | 20220316095433.20225-1-singh.kuldeep87k@gmail.com |
---|---|
Headers | show |
Series | Fix dtbs warnings for arch timer | expand |
On 16/03/2022 10:54, Kuldeep Singh wrote: > Compatibles entries of arch timer includes few extra items and enum > pairs which are redundant and can be simplified in a more clear, concise > and readable way. Do it. > > Signed-off-by: Kuldeep Singh <singh.kuldeep87k@gmail.com> > --- > .../devicetree/bindings/timer/arm,arch_timer.yaml | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Best regards, Krzysztof
On Wed, Mar 16, 2022 at 11:27:10AM +0000, Marc Zyngier wrote: > On 2022-03-16 09:54, Kuldeep Singh wrote: > > This patchset is an attempt to resolve 'make dtbs_check' warning for > > arch timer. > > > > Patch 1 is done in preparation for following patches which defines > > compatibles order in more clear way. > > Patch 2 documents arm,cortex-a7-timer entry in bindings similar to an > > existing entry arm,cortex-a15-timer. > > Patch 3 adds above 2 properties in of_match list to bring them in > > use. > > > > Please note, this patchset is based on > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, master > > > > Kuldeep Singh (3): > > dt-bindings: timer: Rearrange compatible entries of arch timer > > dt-bindings: timer: Document arm,cortex-a7-timer for arch timer > > clocksource: arch_timer: Add arm,cortex-a7/15-timer in of_match list > > > > .../devicetree/bindings/timer/arm,arch_timer.yaml | 13 +++++-------- > > drivers/clocksource/arm_arch_timer.c | 2 ++ > > 2 files changed, 7 insertions(+), 8 deletions(-) > > Please use my @kernel.org address exclusively. My @arm.com > address stopped working over two years ago, and the MAINTAINERS > file shows the right addresses. Hi Marc, I have tocmd and cccmd set in my gitconfig and it generated mail addresses automatically so I assume it is correct. tocmd ="`pwd`/scripts/get_maintainer.pl --nogit --nogit-fallback --norolestats --nol" It seems your arm mail address got configured from binding file and not from MAINTAINERS. Regards Kuldeep > > Thanks, > > M. > -- > Jazz is not dead. It just smells funny...
On Wed, Mar 16, 2022 at 05:30:26PM +0100, Krzysztof Kozlowski wrote: > On 16/03/2022 10:54, Kuldeep Singh wrote: > > Few platforms such as Renesas RZ/N1D, Calxeda, Alpine etc. are using > > arm,cortex-a15-timer and arm,cortex-a7-timer entries in conjugation with > > arm,armv7-timer which are not currently defined in driver file. Add > > these entries in arch_timer_of_match list to bring them in use. > > > > This looks wrong (also Marc pointed this out) and rationale is not > sufficient. Why do you need these compatibles in the driver? Hi Krzysztof and Marc, I find myself in trouble whenever dealing with compatible entries and had 2 options when I stumble this issue. 1. Remove unused compatible 2. Add required compatible to binding and driver My past experience and advise from other developer says not to remove an existing compatible. And also I found "arm,cortex-a15-timer" in binding which was again not documented and was present in DT. This prompted me to go for second option and make necessary additions in binding and driver following current entries. As per your perspective, current configuration isn't apt which means "arm,cortex-a15-timer" is a stub and is wrongly present in binding. I also observed many other DTs have compatibles which are not present in driver. What is an ideal idealogy behind such cases? - Kuldeep
On Wed, 16 Mar 2022 17:41:08 +0000, Kuldeep Singh <singh.kuldeep87k@gmail.com> wrote: > > On Wed, Mar 16, 2022 at 05:30:26PM +0100, Krzysztof Kozlowski wrote: > > On 16/03/2022 10:54, Kuldeep Singh wrote: > > > Few platforms such as Renesas RZ/N1D, Calxeda, Alpine etc. are using > > > arm,cortex-a15-timer and arm,cortex-a7-timer entries in conjugation with > > > arm,armv7-timer which are not currently defined in driver file. Add > > > these entries in arch_timer_of_match list to bring them in use. > > > > > > > This looks wrong (also Marc pointed this out) and rationale is not > > sufficient. Why do you need these compatibles in the driver? > > Hi Krzysztof and Marc, > > I find myself in trouble whenever dealing with compatible entries and > had 2 options when I stumble this issue. > 1. Remove unused compatible That'd be silly. > 2. Add required compatible to binding and driver To the binding, yes. But to the driver? > My past experience and advise from other developer says not to remove an > existing compatible. And also I found "arm,cortex-a15-timer" in binding > which was again not documented and was present in DT. This prompted me > to go for second option and make necessary additions in binding and > driver following current entries. The "arm,cortex-a15-timer" compatible is documentation, and only that. If, one day, we find a bug in this implementation, we could work around it in the driver thanks to the separate compatible (although in this case, we'd have much better way of doing that). > As per your perspective, current configuration isn't apt which means > "arm,cortex-a15-timer" is a stub and is wrongly present in binding. That's not what I said. This compatible string is perfectly fine, and accurately describe the HW. The driver doesn't need to know about the fine details of the implementation, and is perfectly happy with the current state of things. Think of it as an instance of a class. The driver doesn't need to know the instance, only that it is a certain class. > I also observed many other DTs have compatibles which are not present in > driver. What is an ideal idealogy behind such cases? I think I've made myself clear above. Thanks, M.
On Wed, Mar 16, 2022 at 06:43:15PM +0000, Marc Zyngier wrote: > On Wed, 16 Mar 2022 17:41:08 +0000, > Kuldeep Singh <singh.kuldeep87k@gmail.com> wrote: > > > > On Wed, Mar 16, 2022 at 05:30:26PM +0100, Krzysztof Kozlowski wrote: > > > On 16/03/2022 10:54, Kuldeep Singh wrote: > > > > Few platforms such as Renesas RZ/N1D, Calxeda, Alpine etc. are using > > > > arm,cortex-a15-timer and arm,cortex-a7-timer entries in conjugation with > > > > arm,armv7-timer which are not currently defined in driver file. Add > > > > these entries in arch_timer_of_match list to bring them in use. > > > > > > > > > > This looks wrong (also Marc pointed this out) and rationale is not > > > sufficient. Why do you need these compatibles in the driver? > > > > Hi Krzysztof and Marc, > > > > I find myself in trouble whenever dealing with compatible entries and > > had 2 options when I stumble this issue. > > 1. Remove unused compatible > > That'd be silly. > > > 2. Add required compatible to binding and driver > > To the binding, yes. But to the driver? > > > My past experience and advise from other developer says not to remove an > > existing compatible. And also I found "arm,cortex-a15-timer" in binding > > which was again not documented and was present in DT. This prompted me > > to go for second option and make necessary additions in binding and > > driver following current entries. > > The "arm,cortex-a15-timer" compatible is documentation, and only > that. If, one day, we find a bug in this implementation, we could work > around it in the driver thanks to the separate compatible (although in > this case, we'd have much better way of doing that). > > > As per your perspective, current configuration isn't apt which means > > "arm,cortex-a15-timer" is a stub and is wrongly present in binding. > > That's not what I said. This compatible string is perfectly fine, and > accurately describe the HW. The driver doesn't need to know about the > fine details of the implementation, and is perfectly happy with the > current state of things. > > Think of it as an instance of a class. The driver doesn't need to know > the instance, only that it is a certain class. > Thanks Marc for sharing knowledge. This was indeed helpful. To sum up from what I understood, bindings and DTs should always be in sync and driver file may not need to define all compatible entries as long as purpose is served. This means no driver change will be required to address "arm,cortex-a7-timer". To which I have a question to Krzysztof. Hi Krzysztof, As per your comments on 2/3 patch, that it's DT which is not aligned with binding w.r.t arm,cortex-a7-timer. What makes "arm,cortex-a7-timer" an invalid entry from binding perspective when we have a similar entry "arm,cortex-a15-timer" already present? I think we should share some common grounds here and keep both of them in bindings or remove them altogether. I prefer first option, What's your say? Or please let me know in case there's better way to address this. - Kuldeep > > I also observed many other DTs have compatibles which are not present in > > driver. What is an ideal idealogy behind such cases? > > I think I've made myself clear above. > > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible.
On Wed, Mar 16, 2022 at 05:29:07PM +0100, Krzysztof Kozlowski wrote: > On 16/03/2022 10:54, Kuldeep Singh wrote: > > Compatibles entries of arch timer includes few extra items and enum > > pairs which are redundant and can be simplified in a more clear, concise > > and readable way. Do it. > > > > Signed-off-by: Kuldeep Singh <singh.kuldeep87k@gmail.com> > > --- > > .../devicetree/bindings/timer/arm,arch_timer.yaml | 12 ++++-------- > > 1 file changed, 4 insertions(+), 8 deletions(-) > > > > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > Thanks for your time in reviewing this. - Kuldeep
On 17/03/2022 07:59, Kuldeep Singh wrote: > On Wed, Mar 16, 2022 at 06:43:15PM +0000, Marc Zyngier wrote: >> On Wed, 16 Mar 2022 17:41:08 +0000, >> Kuldeep Singh <singh.kuldeep87k@gmail.com> wrote: >>> >>> On Wed, Mar 16, 2022 at 05:30:26PM +0100, Krzysztof Kozlowski wrote: >>>> On 16/03/2022 10:54, Kuldeep Singh wrote: >>>>> Few platforms such as Renesas RZ/N1D, Calxeda, Alpine etc. are using >>>>> arm,cortex-a15-timer and arm,cortex-a7-timer entries in conjugation with >>>>> arm,armv7-timer which are not currently defined in driver file. Add >>>>> these entries in arch_timer_of_match list to bring them in use. >>>>> >>>> >>>> This looks wrong (also Marc pointed this out) and rationale is not >>>> sufficient. Why do you need these compatibles in the driver? >>> >>> Hi Krzysztof and Marc, >>> >>> I find myself in trouble whenever dealing with compatible entries and >>> had 2 options when I stumble this issue. >>> 1. Remove unused compatible >> >> That'd be silly. >> >>> 2. Add required compatible to binding and driver >> >> To the binding, yes. But to the driver? >> >>> My past experience and advise from other developer says not to remove an >>> existing compatible. And also I found "arm,cortex-a15-timer" in binding >>> which was again not documented and was present in DT. This prompted me >>> to go for second option and make necessary additions in binding and >>> driver following current entries. >> >> The "arm,cortex-a15-timer" compatible is documentation, and only >> that. If, one day, we find a bug in this implementation, we could work >> around it in the driver thanks to the separate compatible (although in >> this case, we'd have much better way of doing that). >> >>> As per your perspective, current configuration isn't apt which means >>> "arm,cortex-a15-timer" is a stub and is wrongly present in binding. >> >> That's not what I said. This compatible string is perfectly fine, and >> accurately describe the HW. The driver doesn't need to know about the >> fine details of the implementation, and is perfectly happy with the >> current state of things. >> >> Think of it as an instance of a class. The driver doesn't need to know >> the instance, only that it is a certain class. >> > > Thanks Marc for sharing knowledge. This was indeed helpful. > To sum up from what I understood, bindings and DTs should always be in > sync and driver file may not need to define all compatible entries as > long as purpose is served. > > This means no driver change will be required to address > "arm,cortex-a7-timer". To which I have a question to Krzysztof. > > Hi Krzysztof, > > As per your comments on 2/3 patch, that it's DT which is not aligned > with binding w.r.t arm,cortex-a7-timer. > > What makes "arm,cortex-a7-timer" an invalid entry from binding > perspective when we have a similar entry "arm,cortex-a15-timer" already > present? > > I think we should share some common grounds here and keep both of them > in bindings or remove them altogether. I prefer first option, What's > your say? In this case the compatible should be added, just please explain it in the message. Your previous commit msg was saying about disastrous backward compatibility issue which so far does not exist here. It's simply more detailed compatible. There were few other cases where more detailed compatible was actually unwanted, so that's why each case should be analyzed. Best regards, Krzysztof
On Wed, Mar 16, 2022 at 06:47:47PM +0000, Marc Zyngier wrote: > On Wed, 16 Mar 2022 17:20:51 +0000, > Kuldeep Singh <singh.kuldeep87k@gmail.com> wrote: > > > > On Wed, Mar 16, 2022 at 11:27:10AM +0000, Marc Zyngier wrote: > > > On 2022-03-16 09:54, Kuldeep Singh wrote: > > > > This patchset is an attempt to resolve 'make dtbs_check' warning for > > > > arch timer. > > > > > > > > Patch 1 is done in preparation for following patches which defines > > > > compatibles order in more clear way. > > > > Patch 2 documents arm,cortex-a7-timer entry in bindings similar to an > > > > existing entry arm,cortex-a15-timer. > > > > Patch 3 adds above 2 properties in of_match list to bring them in > > > > use. > > > > > > > > Please note, this patchset is based on > > > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, master > > > > > > > > Kuldeep Singh (3): > > > > dt-bindings: timer: Rearrange compatible entries of arch timer > > > > dt-bindings: timer: Document arm,cortex-a7-timer for arch timer > > > > clocksource: arch_timer: Add arm,cortex-a7/15-timer in of_match list > > > > > > > > .../devicetree/bindings/timer/arm,arch_timer.yaml | 13 +++++-------- > > > > drivers/clocksource/arm_arch_timer.c | 2 ++ > > > > 2 files changed, 7 insertions(+), 8 deletions(-) > > > > > > Please use my @kernel.org address exclusively. My @arm.com > > > address stopped working over two years ago, and the MAINTAINERS > > > file shows the right addresses. > > > > Hi Marc, > > > > I have tocmd and cccmd set in my gitconfig and it generated mail > > addresses automatically so I assume it is correct. > > tocmd ="`pwd`/scripts/get_maintainer.pl --nogit --nogit-fallback --norolestats --nol" > > > > It seems your arm mail address got configured from binding file and not > > from MAINTAINERS. > > It is a bug in get_maintainer.pl. You'll have to manually apply the > .mailmap transformation. I just sent a fix for this[1]. 'in file' emails were not honoring mailmap. Rob [1] https://lore.kernel.org/all/20220323193645.317514-1-robh@kernel.org/