On Fri, Jul 24, 2020 at 07:46:57PM +0200, Hans de Goede wrote: > All callers of tcpm_queue_vdm() immediately follow the tcpm_queue_vdm() > vdm call with a: > > mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > > Call, fold this into tcpm_queue_vdm() itself. > > Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> FWIW: Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/tcpm/tcpm.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c > index b4a66e6bf68c..fc6455a29c74 100644 > --- a/drivers/usb/typec/tcpm/tcpm.c > +++ b/drivers/usb/typec/tcpm/tcpm.c > @@ -967,6 +967,8 @@ static void tcpm_queue_vdm(struct tcpm_port *port, const u32 header, > /* Set ready, vdm state machine will actually send */ > port->vdm_retries = 0; > port->vdm_state = VDM_STATE_READY; > + > + mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > } > > static void svdm_consume_identity(struct tcpm_port *port, const __le32 *payload, > @@ -1246,10 +1248,8 @@ static void tcpm_handle_vdm_request(struct tcpm_port *port, > if (PD_VDO_SVDM(p0)) > rlen = tcpm_pd_svdm(port, payload, cnt, response); > > - if (rlen > 0) { > + if (rlen > 0) > tcpm_queue_vdm(port, response[0], &response[1], rlen - 1); > - mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > - } > } > > static void tcpm_send_vdm(struct tcpm_port *port, u32 vid, int cmd, > @@ -1264,8 +1264,6 @@ static void tcpm_send_vdm(struct tcpm_port *port, u32 vid, int cmd, > header = VDO(vid, ((vid & USB_SID_PD) == USB_SID_PD) ? > 1 : (PD_VDO_CMD(cmd) <= CMD_ATTENTION), cmd); > tcpm_queue_vdm(port, header, data, count); > - > - mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > } > > static unsigned int vdm_ready_timeout(u32 vdm_hdr) > @@ -1513,7 +1511,6 @@ static int tcpm_altmode_enter(struct typec_altmode *altmode, u32 *vdo) > header |= VDO_OPOS(altmode->mode); > > tcpm_queue_vdm(port, header, vdo, vdo ? 1 : 0); > - mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > mutex_unlock(&port->lock); > > return 0; > @@ -1529,7 +1526,6 @@ static int tcpm_altmode_exit(struct typec_altmode *altmode) > header |= VDO_OPOS(altmode->mode); > > tcpm_queue_vdm(port, header, NULL, 0); > - mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > mutex_unlock(&port->lock); > > return 0; > @@ -1542,7 +1538,6 @@ static int tcpm_altmode_vdm(struct typec_altmode *altmode, > > mutex_lock(&port->lock); > tcpm_queue_vdm(port, header, data, count - 1); > - mod_delayed_work(port->wq, &port->vdm_state_machine, 0); > mutex_unlock(&port->lock); > > return 0; > -- > 2.26.2 thanks, -- heikki