On Fri, Aug 26, 2016 at 3:12 PM, Pavel Machek <pavel@xxxxxx> wrote: > Hi! > >> @@ -133,26 +133,29 @@ static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *c >> if (!test_bit(SERPORT_ACTIVE, &serport->flags)) >> goto out; >> >> - for (i = 0; i < count; i++) { >> - if (fp) { >> - switch (fp[i]) { >> - case TTY_FRAME: >> - ch_flags = SERIO_FRAME; >> - break; >> - >> - case TTY_PARITY: >> - ch_flags = SERIO_PARITY; >> - break; >> - >> - default: >> - ch_flags = 0; >> - break; >> + if (serio_buffered_mode_enabled(serport->serio)) { >> + serio_receive_buf(serport->serio, cp, count); > > Elsewhere: > + /* Use buffer receive if the driver provides a callback */ > + if (drv->receive_buf) > + set_bit(SERIO_MODE_BUFFERED, &drv->flags); > > Could we use if (drv->receive_buf) above directly, and not require the > bitfield? I'm allowing for allowing drivers to provide both functions and be able to switch between them. However, I didn't provide any mechanism to do so yet. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html