Re: [PATCH v4 1/7] dt-bindings: pinctrl: renesas: Add alpha-numerical port support for RZ/V2H

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

 



On 17/12/2024 09:49, Biju Das wrote:
> Hi Krzysztof Kozlowski,
> 
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>> Sent: 17 December 2024 07:51
>> Subject: Re: [PATCH v4 1/7] dt-bindings: pinctrl: renesas: Add alpha-numerical port support for RZ/V2H
>>
>> On 17/12/2024 08:29, Biju Das wrote:
>>> Hi Krzysztof Kozlowski,
>>>
>>> Thanks for the feedback.
>>>
>>>> -----Original Message-----
>>>> From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>>>> Sent: 17 December 2024 06:32
>>>> Subject: Re: [PATCH v4 1/7] dt-bindings: pinctrl: renesas: Add
>>>> alpha-numerical port support for RZ/V2H
>>>>
>>>> On Mon, Dec 16, 2024 at 07:53:11PM +0000, Biju Das wrote:
>>>>> RZ/V2H has ports P0-P9 and PA-PB. Add support for defining
>>>>> alpha-numerical ports in DT using RZV2H_* macros.
>>>>
>>>> So this is only for DT? Not really a binding. Binding binds driver
>>>> implementation with DTS and you do not have here driver.
>>>
>>> Please see patch [1], see how this definition binds driver
>>> implementation with DTS
>>>
>>> [1]
>>> https://lore.kernel.org/all/20241216195325.164212-4-biju.das.jz@xxxxxx
>>> esas.com/
>>
>> I don't know what is this patch, it is not part of these series addressed to me and commit msg says
>> "in DT". If you want to receive meaningful review, make it easier for reviewers.
> 
> The header files are part of DT bindings. So if it is wrong, why the 
> Commit "997daa8de64ccbb" "dt-bindings: clock: add ExynosAuto v920 SoC CMU bindings"
> is part of bindings?

I meant that driver patch you linked.

> 
> 
> 
>>
>>
>>>
>>>>
>>>> Calling it a binding makes it immutable and gives us, DT maintainers,
>>>> more work, so really no benefits at all.
>>>
>>>>
>>>> I guess other DT maintainers will ack it, I prefer to reduce number of headers.
>>>
>>> DT describes hardware. The port names are alpha numeric on hardware manual.
>>
>> We talk about binding, not DT.
> 
> Bu the definitions are part of bindings just like Commit "997daa8de64ccbb".

You made them part of bindings, but this is invalid as argument. How is
this anyhow related? How is "DT describes hardware" part of binding?

You said "DT describes hardware", but we do not talk here about DT, do
we? We talk about binding.


> 
>>
>>>
>>> For example, consider the case of  hardware pin PS1 mentioned in hardware manual.
>>>
>>> With current changes,
>>> pinmux = <RZG3E_PORT_PINMUX(S, 1, 0)>;
>>>
>>> With existing code
>>> pinmux = <RZG3E_PORT_PINMUX(28, 1, 0)>;
>>
>> Based on this pure code: still not a binding.
> 
> I agree. Macro converted to a number which binding care of.
> 
>>
>>>
>>> What do you prefer here? 28 is just a number derived from hardware
>>> indices
>>
>> Let me ask rhetorical question: if 28 hardware constant is suitable for binding, then why are you not
>> defining GPIO numbers, IRQ numbers and MMIO addresses as bindings as well?
> 
> On RZ/G2L all ports are in numbers not an issue. But on RZ/V2H an RZ/G3E
> hardware manual just talks about Port {0..8} {A..H}{J..M}{S}. Hardware constant 28 is just derived one.
> 
> A device user just refer, hardware manual and pinctrl list and put the definitions on binding.
> He does not need to undergo mapping for alpha numeric to hardware index conversion.

You just described something entirely else than binding, so why are you
using this as an argument?

> 
> 
>>
>>> Or actual port name PS1 as mentioned in hardware manual?
>>
>> Well, I don't know. Commit says DTS, no driver patches here in my inbox, so what do I know?
> 
> OK, It is just definitions, so you mean it has to merge with driver + dts patch. so it won't
> create any confusion and we can ignore check patch warning, "binding patch should be
> Separate patch"
> 
> What about then merging this patch with [2] and [3] similar to [4], 
> 
> [2] https://lore.kernel.org/all/20241216195325.164212-4-biju.das.jz@xxxxxxxxxxxxxx/
> [3] https://lore.kernel.org/all/20241216195325.164212-6-biju.das.jz@xxxxxxxxxxxxxx/

I am not going to keep reading all the external references you keep
bringing or discussing why someone else did something. This patch must
be logical and correct on its own, not because someone else made
something somewhere.

> 
> [4] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/include/dt-bindings?h=next-20241217&id=ecc79ab919ec54c658fb14f955c76872119829b8

Again, I did not see any driver using this, nothing in commit msg
explained this except referencing that DT will use it. Maybe your
patchset is wrongly organized? Maybe commit msg is incorrect? Not sure,
as I said, you got such review you helped me to make.


Best regards,
Krzysztof




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux