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]

 



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?



> 
> 
> >
> >>
> >> 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".

> 
> >
> > 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.


> 
> > 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/

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

Cheers,
Biju




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux