linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Johan Hovold <johan@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	"Mychaela N . Falconia" <falcon@freecalypso.org>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	USB <linux-usb@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/5] serial: core: add sysfs attribute to suppress ready signalling on open
Date: Tue, 1 Dec 2020 12:05:23 +0100	[thread overview]
Message-ID: <X8Yjc0+Q7fM0nZP+@localhost> (raw)
In-Reply-To: <CAHp75VfQud=QxwZyhYRU9mtNvrudj0tS6LOuutfJDVdv=-ptXw@mail.gmail.com>

On Tue, Dec 01, 2020 at 12:55:54PM +0200, Andy Shevchenko wrote:
> On Tue, Dec 1, 2020 at 10:20 AM Johan Hovold <johan@kernel.org> wrote:
> > On Mon, Nov 30, 2020 at 08:27:54PM +0200, Andy Shevchenko wrote:
> > > On Mon, Nov 30, 2020 at 5:42 PM Johan Hovold <johan@kernel.org> wrote:
> 
> > > > +       ret = kstrtouint(buf, 0, &val);
> > > > +       if (ret)
> > > > +               return ret;
> > >
> > > > +       if (val > 1)
> > > > +               return -EINVAL;
> > >
> > > Can't we utilise kstrtobool() instead?
> >
> > I chose not to as kstrtobool() results in a horrid interface. To many
> > options to do the same thing and you end up with confusing things like
> > "0x01" being accepted but treated as false (as only the first character
> > is considered).
> 
> And this is perfectly fine. 0x01 is not boolean.

0x01 is 1 and is generally treated as boolean true as you know.

So why should a sysfs-interface accept it as valid input and treat it as
false? That's just bad design.

> > Not sure how that ever made it into sysfs code...
> >
> > The attribute is read back as "0" or "1" and those are precisely the
> > values that can be written back (well, modulo radix).
> 
> So, how does it affect the kstrtobool() interface?
> You read back 0 and 1 and they are pretty much accepted by it.
> 
> > It's not relevant in this case, but tight control over the inputs also
> > allows for extending the range later.
> 
> And kstrtobool() does it. So I don't see any difference except a few
> less lines of code and actually *stricter* rules than kstrtouint()
> has.

You miss the point; kstrobool accepts "12" today and treats it as true.
You cannot extend such an interface to later accept a larger range than
0 and 1 as you didn't return an error for "12" from the start (as someone
might now rely on "12" being treated as "1").

Johan

  reply	other threads:[~2020-12-01 11:05 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30 15:37 [PATCH 0/5] tty: add flag to suppress ready signalling on open Johan Hovold
2020-11-30 15:37 ` [PATCH 1/5] tty: add port " Johan Hovold
2020-11-30 23:36   ` Mychaela Falconia
2020-12-01  5:49   ` Jiri Slaby
2020-12-01  7:09     ` Mychaela Falconia
2020-12-01  7:16       ` Jiri Slaby
2020-12-01  8:46     ` Johan Hovold
2020-11-30 15:37 ` [PATCH 2/5] serial: core: add sysfs attribute " Johan Hovold
2020-11-30 18:27   ` Andy Shevchenko
2020-12-01  8:21     ` Johan Hovold
2020-12-01 10:55       ` Andy Shevchenko
2020-12-01 11:05         ` Johan Hovold [this message]
2020-12-01 11:19           ` Andy Shevchenko
2020-12-01 13:22             ` Johan Hovold
2020-12-01 13:49               ` Andy Shevchenko
2020-12-01 17:43                 ` Johan Hovold
2020-12-01 16:44           ` Greg Kroah-Hartman
2020-12-01 17:24             ` Johan Hovold
2020-11-30 15:37 ` [PATCH 3/5] USB: serial: " Johan Hovold
2020-11-30 18:29   ` Andy Shevchenko
2020-11-30 15:37 ` [PATCH 4/5] USB: serial: ftdi_sio: pass port to quirk port_probe functions Johan Hovold
2020-11-30 15:37 ` [PATCH 5/5] USB: serial: ftdi_sio: add support for FreeCalypso DUART28C adapter Johan Hovold
2020-12-01  6:54   ` Jiri Slaby
2020-12-01  8:55     ` Johan Hovold
2020-11-30 21:22 ` [PATCH 0/5] tty: add flag to suppress ready signalling on open Mychaela Falconia
2020-12-01  7:14   ` Jiri Slaby
2020-12-01  7:18     ` Mychaela Falconia
2020-12-02 11:48     ` Johan Hovold
2020-12-04  6:58       ` Jiri Slaby
2020-12-08  9:30         ` Johan Hovold
2020-12-01  8:40   ` Johan Hovold
2020-12-01 10:48   ` Andy Shevchenko
2020-12-01 10:58     ` Johan Hovold

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=X8Yjc0+Q7fM0nZP+@localhost \
    --to=johan@kernel.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=falcon@freecalypso.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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).