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