Re: [PATCH 1/3] gpio: dt-bindings: add new property to wd,mbl-gpio bindings

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

 



On Mon, Jan 30, 2023 at 01:20:55PM +0000, Leonard, Niall wrote:
> On 29/01/2023 15:59, Krzysztof Kozlowski wrote:
> > *External Message* - Use caution before opening links or attachments
> > 
> > On 27/01/2023 12:39, Leonard, Niall wrote:
> >>
> >>
> >>> -----Original Message-----
> >>> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> >>> Sent: 26 January 2023 12:29
> >>> To: Leonard, Niall <Niall.Leonard@xxxxxxx>; Linus Walleij
> >>> <linus.walleij@xxxxxxxxxx>; Bartosz Golaszewski <brgl@xxxxxxxx>; Rob
> >>> Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> >>> <krzysztof.kozlowski+dt@xxxxxxxxxx>
> >>> Cc: linux-gpio@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> >>> kernel@xxxxxxxxxxxxxxx
> >>> Subject: Re: [PATCH 1/3] gpio: dt-bindings: add new property to wd,mbl-gpio
> >>> bindings
> >>>
> >>> *External Message* - Use caution before opening links or attachments
> >>>
> >>> On 26/01/2023 11:17, Niall Leonard via B4 Submission Endpoint wrote:
> >>>> From: Niall Leonard <nl250060@xxxxxxx>
> >>>
> >>> Subject: missing "wd,mbl-gpio:" prefix.
> >>>
> >>> Subject: drop second/last, redundant "bindings". The "dt-bindings"
> >>> prefix is already stating that these are bindings.
> >>>
> >>>>
> >>>> Added optional "no-input" property
> >>>
> >>> Missing full stop.
> >>>
> >>>>
> >>>> Signed-off-by: Niall Leonard <nl250060@xxxxxxx>
> >>>> ---
> >>>>   Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt | 1 +
> >>>>   1 file changed, 1 insertion(+)
> >>>>
> >>>> diff --git a/Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt
> >>>> b/Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt
> >>>> index 038c3a6a1f4d..9405f9dad522 100644
> >>>> --- a/Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt
> >>>> +++ b/Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt
> >>>> @@ -18,6 +18,7 @@ Required properties:
> >>>>
> >>>>   Optional properties:
> >>>>   	- no-output: GPIOs are read-only.
> >>>> +	- no-input: GPIOs are write-only. Read is via a shadow register.
> >>>
> >>> Why this property is needed? Why driver cannot always use shadow
> >>> register?
> >>>
> >> The shadow register is currently only used during the write operation. It is not available during the read operation.
> > 
> > You just wrote above that reading is via shadow register, so how can it
> > not be available for reads? Again, why you cannot always read via shadow
> > register and need to make a property? You mean that for other GPIOs
> > there is no shadow register at all?
> > 
> The existing read method does not use the shadow register.
> 
> static int bgpio_get(struct gpio_chip *gc, unsigned int gpio)
> {
> 	return !!(gc->read_reg(gc->reg_dat) & bgpio_line2mask(gc, gpio));
> }
> 
> > What changes between one board and another that justifies this property?
> 
> I have a couple of boards where the electronics engineer decided to only 
> use the chip select line, so no read/write signal is connected. This 
> means that reading the address activates the chip select and drives the 
> contents of the data bus to the port. 

This part makes sense as you explained the h/w.

> For example is someone reads the 
> file /sys/kernel/debug/gpio this corrupts the port. So I have had to add 
> this property to avoid that situation.

Not quite relevant to the DT binding being a Linux detail.

> 
> If you are strongly against this then just reject it and I will look 
> after it myself. I thought there may be others who would find this 
> change useful.

A property for a board level quirk is appropriate. You just need to 
explain that in the commit message rather than stating what the diff 
already tells us.

Rob



[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