[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230130183706.GA3079628-robh@kernel.org>
Date: Mon, 30 Jan 2023 12:37:06 -0600
From: Rob Herring <robh@...nel.org>
To: "Leonard, Niall" <Niall.Leonard@....com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] gpio: dt-bindings: add new property to wd,mbl-gpio
bindings
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@...aro.org>
> >>> Sent: 26 January 2023 12:29
> >>> To: Leonard, Niall <Niall.Leonard@....com>; Linus Walleij
> >>> <linus.walleij@...aro.org>; Bartosz Golaszewski <brgl@...ev.pl>; Rob
> >>> Herring <robh+dt@...nel.org>; Krzysztof Kozlowski
> >>> <krzysztof.kozlowski+dt@...aro.org>
> >>> Cc: linux-gpio@...r.kernel.org; devicetree@...r.kernel.org; linux-
> >>> kernel@...r.kernel.org
> >>> 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@....com>
> >>>
> >>> 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@....com>
> >>>> ---
> >>>> 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
Powered by blists - more mailing lists