[08/32] usb: typec: tcpm: tcpm: Remove dangling unused 'struct tcpm_altmode_ops'

Message ID 20200706133341.476881-9-lee.jones@linaro.org
State New
Headers show
Series
  • Fix the final bunch of W=1 issues in USB
Related show

Commit Message

Lee Jones July 6, 2020, 1:33 p.m.
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>

---
 drivers/usb/typec/tcpm/tcpm.c | 51 -----------------------------------
 1 file changed, 51 deletions(-)

-- 
2.25.1

Comments

Hans de Goede July 6, 2020, 2 p.m. | #1
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

>    */

>
Lee Jones July 6, 2020, 2:20 p.m. | #2
On Mon, 06 Jul 2020, Hans de Goede wrote:

> 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.


Yes, that's a just a little old now.

If it drags on for much longer, perhaps consider taking it out for the
time being and adding it back when you start to make use of it again?

> Heikki said he would look into an approach to this more to

> his liking. Heikki an progress on this area?


-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Hans de Goede July 9, 2020, 12:50 p.m. | #3
Hi,

On 7/6/20 4:20 PM, Lee Jones wrote:
> On Mon, 06 Jul 2020, Hans de Goede wrote:

> 

>> 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.

> 

> Yes, that's a just a little old now.

> 

> If it drags on for much longer, perhaps consider taking it out for the

> time being and adding it back when you start to make use of it again?

> 

>> Heikki said he would look into an approach to this more to

>> his liking. Heikki an progress on this area?


Just a little headsup that I'm making some time now to take a look
at solving this in the previously discussed better way, with the hope
of that we can get that upstream. So hopefully I will have some
patches for this ready during the upcoming weekend.

Regards,

Hans
Lee Jones July 9, 2020, 1:04 p.m. | #4
On Thu, 09 Jul 2020, Hans de Goede wrote:

> Hi,

> 

> On 7/6/20 4:20 PM, Lee Jones wrote:

> > On Mon, 06 Jul 2020, Hans de Goede wrote:

> > 

> > > 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.

> > 

> > Yes, that's a just a little old now.

> > 

> > If it drags on for much longer, perhaps consider taking it out for the

> > time being and adding it back when you start to make use of it again?

> > 

> > > Heikki said he would look into an approach to this more to

> > > his liking. Heikki an progress on this area?

> 

> Just a little headsup that I'm making some time now to take a look

> at solving this in the previously discussed better way, with the hope

> of that we can get that upstream. So hopefully I will have some

> patches for this ready during the upcoming weekend.


Sounds good.  Thanks for the update.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Hans de Goede July 14, 2020, 12:01 p.m. | #5
Hi,

On 7/6/20 4:20 PM, Lee Jones wrote:
> On Mon, 06 Jul 2020, Hans de Goede wrote:

> 

>> 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.

> 

> Yes, that's a just a little old now.

> 

> If it drags on for much longer, perhaps consider taking it out for the

> time being and adding it back when you start to make use of it again?


Ok, I've just submitted a reworked patch-series upstream which
actually uses this code. So please drop this patch from your
patch-set.

Regards,

Hans


s
Lee Jones July 14, 2020, 1:54 p.m. | #6
On Tue, 14 Jul 2020, Hans de Goede wrote:

> Hi,

> 

> On 7/6/20 4:20 PM, Lee Jones wrote:

> > On Mon, 06 Jul 2020, Hans de Goede wrote:

> > 

> > > 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.

> > 

> > Yes, that's a just a little old now.

> > 

> > If it drags on for much longer, perhaps consider taking it out for the

> > time being and adding it back when you start to make use of it again?

> 

> Ok, I've just submitted a reworked patch-series upstream which

> actually uses this code. So please drop this patch from your

> patch-set.


No problem.

Thanks Hans.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

Patch

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
  */