[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <zjrd3dgvcg3pxmn4455iljtugbufr4igyokdycusyhpykbzyl5@nrwgz366wm67>
Date: Sat, 27 Dec 2025 20:26:14 +0100
From: Andi Shyti <andi.shyti@...nel.org>
To: Guodong Xu <guodong@...cstar.com>
Cc: Encrow Thorne <jyc0019@...il.com>,
Troy Mitchell <troy.mitchell@...ux.spacemit.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Yixun Lan <dlan@...too.org>,
Philipp Zabel <p.zabel@...gutronix.de>, Paul Walmsley <pjw@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>, Troy Mitchell <troymitchell988@...il.com>,
linux-i2c@...r.kernel.org, devicetree@...r.kernel.org, linux-riscv@...ts.infradead.org,
spacemit@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/3] i2c: k1: add reset support
Hi Guodong,
On Fri, Dec 26, 2025 at 07:38:22AM +0800, Guodong Xu wrote:
> On Fri, Dec 26, 2025 at 5:01 AM Andi Shyti <andi.shyti@...nel.org> wrote:
> > > + rst = devm_reset_control_get_optional_exclusive_deasserted(dev, NULL);
> > > + if (IS_ERR(rst))
> > > + return dev_err_probe(dev, PTR_ERR(rst),
> > > + "failed to acquire deasserted reset\n");
> >
> > If this is optional, why are we returning with error?
> >
>
> According to include/linux/reset.h, if the requested reset is not
> specified in the device tree, this function returns NULL instead of
> an error. Therefore, IS_ERR(rst) will only be true for actual
> errors (e.g probe deferral).
And this is quite obvious, but you haven't answered my qestion.
Why do we care of internal failures in reset? If reset fails on
an optional reset control function why should we kill our driver?
Just ignore the error and move forward as we have done until now.
If the kernel is suffering from internal failures (say ENOMEM),
it will fail anyway or, with some luck, recover.
Andi
Powered by blists - more mailing lists