On 4/8/21 1:28 AM, Heikki Krogerus wrote: > On Wed, Apr 07, 2021 at 05:15:40PM +0800, Zhen Lei wrote: >> Fixes the following W=1 kernel build warning: >> >> drivers/usb/typec/tcpm/tcpm.c:2107:39: warning: ‘tcpm_altmode_ops’ defined but not used [-Wunused-const-variable=] >> >> The reference to the variable 'tcpm_altmode_ops' is deleted by the >> commit a079973f462a ("usb: typec: tcpm: Remove tcpc_config configuration >> mechanism"). >> >> By the way, the static functions referenced only by the variable >> 'tcpm_altmode_ops' are deleted accordingly. >> >> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> >> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> > > Oh, I thought this was already fixed. Should this go into the stable > trees as well? > I thought there was some code supposed to be coming which would make use of it, but my memory may defeat me. Either case, it is getting old. It it is ever needed, it can be reintroduced. Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Guenter > Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > >> --- >> drivers/usb/typec/tcpm/tcpm.c | 60 ------------------------------------------- >> 1 file changed, 60 deletions(-) >> >> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c >> index ce7af398c7c1c1f..2f89bae29c0c297 100644 >> --- a/drivers/usb/typec/tcpm/tcpm.c >> +++ b/drivers/usb/typec/tcpm/tcpm.c >> @@ -1365,14 +1365,6 @@ static void tcpm_queue_vdm(struct tcpm_port *port, const u32 header, >> mod_vdm_delayed_work(port, 0); >> } >> >> -static void tcpm_queue_vdm_unlocked(struct tcpm_port *port, const u32 header, >> - const u32 *data, int cnt) >> -{ >> - mutex_lock(&port->lock); >> - tcpm_queue_vdm(port, header, data, cnt); >> - mutex_unlock(&port->lock); >> -} >> - >> static void svdm_consume_identity(struct tcpm_port *port, const u32 *p, int cnt) >> { >> u32 vdo = p[VDO_INDEX_IDH]; >> @@ -1705,8 +1697,6 @@ static void tcpm_handle_vdm_request(struct tcpm_port *port, >> * >> * And we also have this ordering: >> * 1. alt-mode driver takes the alt-mode's lock >> - * 2. alt-mode driver calls tcpm_altmode_enter which takes the >> - * tcpm port lock >> * >> * Dropping our lock here avoids this. >> */ >> @@ -2060,56 +2050,6 @@ static int tcpm_validate_caps(struct tcpm_port *port, const u32 *pdo, >> return 0; >> } >> >> -static int tcpm_altmode_enter(struct typec_altmode *altmode, u32 *vdo) >> -{ >> - struct tcpm_port *port = typec_altmode_get_drvdata(altmode); >> - int svdm_version; >> - u32 header; >> - >> - svdm_version = typec_get_negotiated_svdm_version(port->typec_port); >> - if (svdm_version < 0) >> - return svdm_version; >> - >> - header = VDO(altmode->svid, vdo ? 2 : 1, svdm_version, CMD_ENTER_MODE); >> - header |= VDO_OPOS(altmode->mode); >> - >> - tcpm_queue_vdm_unlocked(port, header, vdo, vdo ? 1 : 0); >> - return 0; >> -} >> - >> -static int tcpm_altmode_exit(struct typec_altmode *altmode) >> -{ >> - struct tcpm_port *port = typec_altmode_get_drvdata(altmode); >> - int svdm_version; >> - u32 header; >> - >> - svdm_version = typec_get_negotiated_svdm_version(port->typec_port); >> - if (svdm_version < 0) >> - return svdm_version; >> - >> - header = VDO(altmode->svid, 1, svdm_version, CMD_EXIT_MODE); >> - header |= VDO_OPOS(altmode->mode); >> - >> - tcpm_queue_vdm_unlocked(port, header, NULL, 0); >> - return 0; >> -} >> - >> -static int tcpm_altmode_vdm(struct typec_altmode *altmode, >> - u32 header, const u32 *data, int count) >> -{ >> - struct tcpm_port *port = typec_altmode_get_drvdata(altmode); >> - >> - tcpm_queue_vdm_unlocked(port, header, data, count - 1); >> - >> - return 0; >> -} >> - >> -static const struct typec_altmode_ops tcpm_altmode_ops = { >> - .enter = tcpm_altmode_enter, >> - .exit = tcpm_altmode_exit, >> - .vdm = tcpm_altmode_vdm, >> -}; >> - >> /* >> * PD (data, control) command handling functions >> */ >> -- >> 1.8.3 >> >