Messages in this thread | | | Subject | Re: [PATCH 08/32] usb: typec: tcpm: tcpm: Remove dangling unused 'struct tcpm_altmode_ops' | From | Hans de Goede <> | Date | Mon, 6 Jul 2020 16:00:56 +0200 |
| |
Hi,
On 7/6/20 3:33 PM, Lee Jones wrote: > Looks as though a079973f462a3 ("usb: typec: tcpm: Remove tcpc_config > configuration mechanism") pulled out the only use of 'tcpm_altmode_ops' > last year. No need to keep it around. > > Fixes the following W=1 kernel build warning(s): > > drivers/usb/typec/tcpm/tcpm.c:1551:39: warning: ‘tcpm_altmode_ops’ defined but not used [-Wunused-const-variable=] > 1551 | static const struct typec_altmode_ops tcpm_altmode_ops = { > | ^~~~~~~~~~~~~~~~ > > Cc: Guenter Roeck <linux@roeck-us.net> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Cc: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
This is necessary for adding Display port over Type-C support on devices using the tcpm code, rather then firmware, to do the Type-C alt-mode negotiation.
I have a local patch in my tree which adds support for this.
But Heikki did not like my approach, so that patch (which needs the bits you are removing) never landed upstream:
https://patchwork.kernel.org/patch/11199517/
Which is somewhat old now.
Heikki said he would look into an approach to this more to his liking. Heikki an progress on this area?
Regards,
Hans
> --- > drivers/usb/typec/tcpm/tcpm.c | 51 ----------------------------------- > 1 file changed, 51 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c > index 82b19ebd7838e..d6913eb0ea54d 100644 > --- a/drivers/usb/typec/tcpm/tcpm.c > +++ b/drivers/usb/typec/tcpm/tcpm.c > @@ -1503,57 +1503,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); > - u32 header; > - > - mutex_lock(&port->lock); > - header = VDO(altmode->svid, vdo ? 2 : 1, CMD_ENTER_MODE); > - 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; > -} > - > -static int tcpm_altmode_exit(struct typec_altmode *altmode) > -{ > - struct tcpm_port *port = typec_altmode_get_drvdata(altmode); > - u32 header; > - > - mutex_lock(&port->lock); > - header = VDO(altmode->svid, 1, CMD_EXIT_MODE); > - 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; > -} > - > -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); > - > - 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; > -} > - > -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 > */ >
| |