On Fri Apr 5, 2024 at 4:09 PM CEST, Marc Dietrich wrote: > Improve initialization stability by waiting for command completion before > sending the next one. > > Signed-off-by: Marc Dietrich <marvin24@xxxxxx> > --- > drivers/staging/nvec/nvec_ps2.c | 31 +++++++++++++++++++++---------- > 1 file changed, 21 insertions(+), 10 deletions(-) > > diff --git a/drivers/staging/nvec/nvec_ps2.c b/drivers/staging/nvec/nvec_ps2.c > index cb6d71b8dc83..f34016c4a26b 100644 > --- a/drivers/staging/nvec/nvec_ps2.c > +++ b/drivers/staging/nvec/nvec_ps2.c > @@ -60,16 +60,6 @@ static void ps2_stopstreaming(struct serio *ser_dev) > nvec_write_async(ps2_dev.nvec, buf, sizeof(buf)); > } > > -static int ps2_sendcommand(struct serio *ser_dev, unsigned char cmd) > -{ > - unsigned char buf[] = { NVEC_PS2, SEND_COMMAND, ENABLE_MOUSE, 1 }; > - > - buf[2] = cmd & 0xff; > - > - dev_dbg(&ser_dev->dev, "Sending ps2 cmd %02x\n", cmd); > - return nvec_write_async(ps2_dev.nvec, buf, sizeof(buf)); > -} > - > static int nvec_ps2_notifier(struct notifier_block *nb, > unsigned long event_type, void *data) > { > @@ -98,6 +88,27 @@ static int nvec_ps2_notifier(struct notifier_block *nb, > return NOTIFY_DONE; > } > > +static int ps2_sendcommand(struct serio *ser_dev, unsigned char cmd) > +{ > + unsigned char buf[] = { NVEC_PS2, SEND_COMMAND, ENABLE_MOUSE, 1 }; > + struct nvec_msg *msg; > + int ret; > + > + buf[2] = cmd & 0xff; > + > + dev_dbg(&ser_dev->dev, "Sending ps2 cmd %02x\n", cmd); > + > + ret = nvec_write_sync(ps2_dev.nvec, buf, sizeof(buf), &msg); > + if (ret < 0) > + return ret; > + > + nvec_ps2_notifier(NULL, NVEC_PS2, msg->data); > + > + nvec_msg_free(ps2_dev.nvec, msg); > + > + return 0; > +} > + Is there a particular reason why you've moved the function around? It'd probably make the patch a tiny bit smaller if you kept it in the right spot. Thierry
Attachment:
signature.asc
Description: PGP signature