[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251130080731.ty2dlxaypxvodxiw@skbuf>
Date: Sun, 30 Nov 2025 10:07:31 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Chen Minqiang <ptpt52@...il.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
"Chester A. Unal" <chester.a.unal@...nc9.com>,
Daniel Golle <daniel@...rotopia.org>,
DENG Qingfang <dqfext@...il.com>,
Sean Wang <sean.wang@...iatek.com>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, netdev@...r.kernel.org
Subject: Re: [PATCH v3 2/2] net: dsa: mt7530: Use GPIO polarity to generate
correct reset sequence
On Sun, Nov 30, 2025 at 02:11:05AM +0100, Andrew Lunn wrote:
> > - gpiod_set_value_cansleep(priv->reset, 0);
> > + int is_active_low = !!gpiod_is_active_low(priv->reset);
> > + gpiod_set_value_cansleep(priv->reset, is_active_low);
>
> I think you did not correctly understand what Russell said. You pass
> the logical value to gpiod_set_value(). If the GPIO has been marked as
> active LOW, the GPIO core will invert the logical values to the raw
> value. You should not be using gpiod_is_active_low().
>
> But as i said to the previous patch, i would just leave everything as
> it is, except document the issue.
>
> Andrew
>
It was my suggestion to do it like this (but I don't understand why I'm
again not in CC).
We _know_ that the reset pin of the switch should be active low. So by
using gpiod_is_active_low(), we can determine whether the device tree is
wrong or not, and we can work with a wrong device tree too (just invert
the logical values).
Powered by blists - more mailing lists