From: Okash Khawaja <okash.khawaja@gmail.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.com>,
Samuel Thibault <samuel.thibault@ens-lyon.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
William Hubbs <w.d.hubbs@gmail.com>,
Chris Brannon <chris@the-brannons.com>,
Kirk Reiser <kirk@reisers.ca>,
speakup@linux-speakup.org, devel@driverdev.osuosl.org
Subject: Re: [patch v2 1/3] tty: add function to convert device name to number
Date: Mon, 19 Jun 2017 09:09:26 +0100 [thread overview]
Message-ID: <20170619080926.GA1374@sanghar> (raw)
In-Reply-To: <CAHp75VdrS=aSZvg2LwxwV0sR03SQb6do=aG5KGmgs1WKyvDirg@mail.gmail.com>
On Sun, Jun 18, 2017 at 04:27:42PM +0300, Andy Shevchenko wrote:
> This doesn't have actual parameter name.
> Btw, I would drop dev_ suffix completely from parameter (you have it
> in function name).
Good call, thanks.
> > + * Locking: this acquires tty_mutex
>
> ...and releases.
>
> Perhaps it makes sense to describe what it protects (like it's done in
> some functions around).
Yes, will add the description
> > + */
> > +int tty_dev_name_to_number(char *dev_name, dev_t *dev_no)
>
> const char *name, right?
Yes :)
> > + int rv, index, prefix_length = 0;
>
> I would keep returned variable on a separate line and name it like
> other functions do in this file, i.e. ret.
>
> int ret;
Sure
> > + while (!isdigit(*(dev_name + prefix_length)) && prefix_length <
> > + strlen(dev_name) )
> > + prefix_length++;
> > +
> > + if (prefix_length == strlen(dev_name))
> > + return -EINVAL;
>
> Basically, what you need is to get tailing digits, right?
>
> Moreover, there is quite similar piece of code in
> tty_find_polling_driver() you may share.
tty_find_polling_driver does something slightly different. It looks for
digits embedded in a string, so something like kgdboc=ttyS0,115200 where
the digit being sought is 0 after ttyS. So the sanity checks aren't the
same. It also looks for a comma in addition to looking for a number,
which doesn't apply here. Little bit of functionality may be factored
out but that will be too trivial.
While skimming through tty_find_polling_driver, I also noticed that, in
a strict sense, the following check may not be sufficient when name is
prefix of p->name.
if (strncmp(name, p->name, len) != 0)
> > + if (rv) {
>
> > + mutex_unlock(&tty_mutex);
> > + return rv;
>
> I would go with goto style in this function (since it has locking involved).
Sure
>
> > + }
>
> All together kstrtoint() is invariant here as far as I can see and can
> be done out of locking. Also see above comment how to get line index.
Good call, thanks. Think I changed the code afterwards but didn't
notice that kstrtoint no longer needs to be inside the loop and lock.
Best regards,
Okash
next prev parent reply other threads:[~2017-06-19 8:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-18 8:58 [patch v2 0/3] staging: speakup: support more than ttyS* Okash Khawaja
2017-06-18 8:58 ` [patch v2 1/3] tty: add function to convert device name to number Okash Khawaja
2017-06-18 13:27 ` Andy Shevchenko
2017-06-19 8:09 ` Okash Khawaja [this message]
2017-06-18 8:58 ` [patch v2 2/3] staging: speakup: check and convert dev name or ser to dev_t Okash Khawaja
2017-06-18 13:35 ` Andy Shevchenko
2017-06-18 17:22 ` Okash Khawaja
2017-06-18 19:54 ` Andy Shevchenko
2017-06-19 0:37 ` Joe Perches
2017-06-19 1:15 ` Greg Kroah-Hartman
2017-06-19 5:33 ` Joe Perches
2017-06-19 5:38 ` Greg Kroah-Hartman
2017-06-19 5:39 ` Okash Khawaja
2017-06-19 8:27 ` Dan Carpenter
2017-06-18 8:58 ` [patch v2 3/3] staging: speakup: make ttyio synths use device name Okash Khawaja
2017-06-18 13:38 ` Andy Shevchenko
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=20170619080926.GA1374@sanghar \
--to=okash.khawaja@gmail.com \
--cc=andy.shevchenko@gmail.com \
--cc=chris@the-brannons.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=kirk@reisers.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=samuel.thibault@ens-lyon.org \
--cc=speakup@linux-speakup.org \
--cc=w.d.hubbs@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.