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 <[email protected]> Cc: Heikki Krogerus <[email protected]> Cc: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
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 */

