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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel