Re: [patch v2 2/3] staging: speakup: check and convert dev name or ser to dev_t

From: Okash Khawaja
Date: Sun Jun 18 2017 - 13:22:29 EST


Hi,

Thanks for the reviews. Couple of things inlined below.

On Sun, Jun 18, 2017 at 04:35:21PM +0300, Andy Shevchenko wrote:
>
> > +const char *lp_supported[] = { "acntsa", "bns", "dummy", "txprt" };
>
> static ?
Sure!

> > + if (ser < 0 || ser > (255 - 64)) {
>
> > + pr_err("speakup: Invalid ser param. \
> > + Must be between 0 and 191 inclusive.\n");
>
> Just make it one line.
Is it okay if it becomes larger than 80 chars?

> > +
> > + for (i = 0; i < ARRAY_SIZE(lp_supported); i++) {
> > + if (strcmp(synth->name, lp_supported[i]) == 0)
> > + break;
> > + }
> > +
> > + if (i >= ARRAY_SIZE(lp_supported)) {
>
> match_string()
Cool, didn't know about it

>
> > + pr_err("speakup: lp* is only supported on:");
>
> > + for (i = 0; i < ARRAY_SIZE(lp_supported); i++)
> > + pr_cont(" %s", lp_supported[i]);
> > + pr_cont("\n");
>
> pr_cont() is not the best idea, though I think it will be rare cases
> when it might be broken in pieces.
Hmm... I would like to keep it if it doesn't incur an overhead. It also
indicates to the reader that this all part of same output line. Let me
know what you think.

>
> > +
> > + return -ENOTSUPP;
> > + }
> > + }
> > +
> > + return tty_dev_name_to_number(synth->dev_name, dev_no);
> > + }
> > +
> > + return ser_to_dev(synth->ser, dev_no);
> > +}
> > +
> > static int spk_ttyio_ldisc_open(struct tty_struct *tty)
> > {
> > struct spk_ldisc_data *ldisc_data;
> > --- a/drivers/staging/speakup/spk_types.h
> > +++ b/drivers/staging/speakup/spk_types.h
> > @@ -169,6 +169,7 @@ struct spk_synth {
> > int jiffies;
> > int full;
> > int ser;
>
> > + char *dev_name;
>
> const ?
This becomes the target of module_param in following patch. It complains
when set to const.

Thanks!
Okash