From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Richard Genoud <richard.genoud@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Boris Brezillon <boris.brezillon@free-electrons.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Janusz Uzycki <j.uzycki@elproma.com.pl>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>
Subject: Re: [PATCH 4/4] tty/serial: sh-sci: remove uneeded IS_ERR_OR_NULL calls
Date: Thu, 23 Mar 2017 11:10:45 +0100 [thread overview]
Message-ID: <20170323101045.u3uigdu5xfwjmjc7@pengutronix.de> (raw)
In-Reply-To: <CACRpkdZy_uguiKfSH-0gdanjr-xkwxoANTx6Fb2VwsvzRwcPRA@mail.gmail.com>
On Thu, Mar 23, 2017 at 10:32:01AM +0100, Linus Walleij wrote:
> On Mon, Mar 20, 2017 at 12:07 PM, Uwe Kleine-König
> <u.kleine-koenig@pengutronix.de> wrote:
> > Hello Geert,
> >
> > On Mon, Mar 20, 2017 at 11:38:52AM +0100, Geert Uytterhoeven wrote:
> >> On Mon, Mar 20, 2017 at 11:31 AM, Uwe Kleine-König
> >> <u.kleine-koenig@pengutronix.de> wrote:
> >> > On Mon, Mar 20, 2017 at 10:56:14AM +0100, Geert Uytterhoeven wrote:
> >> >> Documentation/gpio/consumer.txt rightfully sates:
> >> >> | Note that gpio_get*_optional() functions (and their managed variants), unlike
> >> >> | the rest of gpiolib API, also return NULL when gpiolib support is disabled.
> >> >> | This is helpful to driver authors, since they do not need to special case
> >> >> | -ENOSYS return codes. System integrators should however be careful to enable
> >> >> | gpiolib on systems that need it.
> >> >
> >> > I cannot find this paragraph in Documentation/gpio/consumer.txt:
> >> >
> >> > $ git grep -e 'ENOSYS' v4.11-rc3 -- Documentation/gpio/
> >> > <void>
> >>
> >> It was added by commit 22c403676dbbb7c6 ("gpio: return NULL from
> >> gpiod_get_optional when GPIOLIB is disabled")
> >
> > Ah, that's in next.
> >
> > I still think this is wrong and I'm a bit disappointed that Linus merged
> > this patch (without saying so in the thread even) as I thought Linus and
> > I agreed on this being a bad idea.
>
> I think it is not good, but what we have before this patch is worse.
>
> I.e. it is the lesser evil.
>
> Before this patch the API is inconsistent: it gives NULL if GPIOLIB
> is defined and -ENOSYS if GPIOLIB is not defined.
So old is: it worked as intended with GPIOLIB and produced an error
without GPIOLIB even if no GPIO is there and NULL would be right.
> After this patch it gives NULL in both cases, and that is at least
> consistent.
And new is: with GPIOLIB it still works as intended and gives you NULL
even if a GPIO is there and so -ENOSYS would be right.
I admit that most of the time with GPIOLIB NULL is the right answer
because probably there is no GPIO to handle. But if there is a GPIO you
run in hard to debug problems instead of being able to see the error
code and act accordingly.
write(2) and close(2) succeed most of the time, too. Still it's not a
good idea to not check the return value. Or let the kernel return
success unconditionally.
So you exchanged many obvious and easy to fix problems with a few hard
ones. I don't agree that's a good idea, but you seem to be willing to
try it. Good luck.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2017-03-23 10:10 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170303142201.16452-1-richard.genoud@gmail.com>
[not found] ` <CAMuHMdX-K9B20Tu5NtHJRHmGGuT60OFu8TokZxsF8aSaS7HuHQ@mail.gmail.com>
[not found] ` <20170303191248.wlwjri55ip2x5pgg@pengutronix.de>
[not found] ` <CAMuHMdXFrwa2jCVDb+8ecqgARLG0oGrPp9pLs0b6vEiWeKJ+uA@mail.gmail.com>
[not found] ` <20170303194414.n76tr3oa2mlrzjre@pengutronix.de>
[not found] ` <CAMuHMdXiz5hqW=fm-2H1aNKq_gXD2o0508jD2XjxYUvKoEvHdw@mail.gmail.com>
2017-03-04 17:48 ` [PATCH 4/4] tty/serial: sh-sci: remove uneeded IS_ERR_OR_NULL calls Uwe Kleine-König
2017-03-06 8:49 ` Geert Uytterhoeven
2017-03-06 8:58 ` Uwe Kleine-König
2017-03-06 9:09 ` Geert Uytterhoeven
2017-03-06 9:30 ` Uwe Kleine-König
2017-03-06 9:53 ` Geert Uytterhoeven
2017-03-06 10:02 ` Uwe Kleine-König
2017-03-14 15:32 ` Linus Walleij
2017-03-16 15:18 ` Linus Walleij
2017-03-16 16:37 ` Uwe Kleine-König
2017-03-16 16:38 ` Geert Uytterhoeven
2017-03-20 9:56 ` Geert Uytterhoeven
2017-03-20 10:03 ` Geert Uytterhoeven
2017-03-20 10:31 ` Uwe Kleine-König
2017-03-20 10:38 ` Geert Uytterhoeven
2017-03-20 11:07 ` Uwe Kleine-König
2017-03-23 9:32 ` Linus Walleij
2017-03-23 10:10 ` Uwe Kleine-König [this message]
2017-03-23 10:20 ` Geert Uytterhoeven
2017-03-23 11:11 ` Uwe Kleine-König
2017-03-23 12:03 ` Geert Uytterhoeven
2017-03-23 12:34 ` Uwe Kleine-König
2017-03-23 12:44 ` Geert Uytterhoeven
2017-03-23 13:41 ` Linus Walleij
2017-03-23 14:43 ` Dmitry Torokhov
2017-03-23 15:44 ` Dmitry Torokhov
2017-03-23 19:10 ` Uwe Kleine-König
2017-03-23 19:58 ` Dmitry Torokhov
2017-03-24 8:00 ` Uwe Kleine-König
2017-03-24 8:29 ` Geert Uytterhoeven
2017-03-24 8:39 ` Uwe Kleine-König
2017-03-24 8:59 ` Geert Uytterhoeven
2017-03-24 9:15 ` Uwe Kleine-König
2017-03-24 9:44 ` Geert Uytterhoeven
2017-03-24 10:01 ` Uwe Kleine-König
2017-03-24 8:58 ` Linus Walleij
2017-03-23 15:55 ` Dmitry Torokhov
2017-03-23 13:37 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170323101045.u3uigdu5xfwjmjc7@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=boris.brezillon@free-electrons.com \
--cc=dmitry.torokhov@gmail.com \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=j.uzycki@elproma.com.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=richard.genoud@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).