Message ID | 20210407091540.2815-1-thunder.leizhen@huawei.com |
---|---|
State | New |
Headers | show |
Series | [1/1] usb: typec: tcpm: remove unused static variable 'tcpm_altmode_ops' | expand |
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@huawei.com> > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Oh, I thought this was already fixed. Should this go into the stable trees as well? Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > 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 > -- heikki
On Thu, Apr 08, 2021 at 11:28:09AM +0300, 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@huawei.com> > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > Oh, I thought this was already fixed. Should this go into the stable > trees as well? We do not build kernels by default with "W=1" yet, so it's not needed in stable kernels. thanks, greg k-h
On Thu, Apr 08, 2021 at 10:38:15AM +0200, Greg Kroah-Hartman wrote: > On Thu, Apr 08, 2021 at 11:28:09AM +0300, 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@huawei.com> > > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > > > Oh, I thought this was already fixed. Should this go into the stable > > trees as well? > > We do not build kernels by default with "W=1" yet, so it's not needed > in stable kernels. Okay, got it. thanks, -- heikki
Hi, On 4/7/21 11:15 AM, 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@huawei.com> > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> I have a patch pending: https://www.spinics.net/lists/linux-usb/msg197684.html Which actually uses this. I really need to (and plan to) brush the dust of this one soon and submit a new version. As such I would prefer for these ops to not get removed. But I guess I can always include a patch in my series reverting the removal... Regards, Hans > --- > 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 > */ >
On Thu, Apr 08, 2021 at 11:10:38AM +0200, Hans de Goede wrote: > Hi, > > On 4/7/21 11:15 AM, 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@huawei.com> > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > I have a patch pending: > > https://www.spinics.net/lists/linux-usb/msg197684.html > > Which actually uses this. I really need to (and plan to) brush the dust of > this one soon and submit a new version. > > As such I would prefer for these ops to not get removed. But I guess I > can always include a patch in my series reverting the removal... Well, can we then just leave the ops there? If we're going to re-introduce them back soon in any case, then why drop them in the first place. thanks, -- heikki
Hi, On 4/8/21 11:25 AM, Heikki Krogerus wrote: > On Thu, Apr 08, 2021 at 11:10:38AM +0200, Hans de Goede wrote: >> Hi, >> >> On 4/7/21 11:15 AM, 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@huawei.com> >>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> >> I have a patch pending: >> >> https://www.spinics.net/lists/linux-usb/msg197684.html >> >> Which actually uses this. I really need to (and plan to) brush the dust of >> this one soon and submit a new version. >> >> As such I would prefer for these ops to not get removed. But I guess I >> can always include a patch in my series reverting the removal... > > Well, can we then just leave the ops there? If we're going to > re-introduce them back soon in any case, then why drop them in the > first place. Yes I'm in favor of just leaving them in place too, sorry if that was not clear. Regards, Hans
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@huawei.com> >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > 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@roeck-us.net> Guenter > Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > >> --- >> 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 >> >
Hi, On 4/8/21 3:55 PM, Guenter Roeck wrote: > 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@huawei.com> >>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> >> 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. There is code coming which uses this; and this is necessary to make DP altmode work on some devices. I have dropped the ball a bit on posting a v2 of my series using this. I'll prepare a v2 of my series, addressing Heikki's review comments to my v1 right away. I'll post a v2 at the latest tomorrow. This is something which is on my TODO list anyways and this way we will save some churn with these functions going away only to be re-introduced again relatively soon after they were removed. Regards, Hans > Either case, it is getting old. It it is ever needed, > it can be reintroduced. > > Reviewed-by: Guenter Roeck <linux@roeck-us.net> > > Guenter > >> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> >> >>> --- >>> 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 >>> >> > >
On Thu, Apr 08, 2021 at 07:14:01PM +0200, Hans de Goede wrote: > Hi, > > On 4/8/21 3:55 PM, Guenter Roeck wrote: > > 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@huawei.com> > >>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > >> > >> 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. > > There is code coming which uses this; and this is necessary to make > DP altmode work on some devices. > > I have dropped the ball a bit on posting a v2 of my series using this. > > I'll prepare a v2 of my series, addressing Heikki's review comments > to my v1 right away. I'll post a v2 at the latest tomorrow. > > This is something which is on my TODO list anyways and this way we will > save some churn with these functions going away only to be re-introduced > again relatively soon after they were removed. Cool. Greg, I think we can skip this patch then. thanks, -- heikki
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 */
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@huawei.com> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- drivers/usb/typec/tcpm/tcpm.c | 60 ------------------------------------------- 1 file changed, 60 deletions(-) -- 1.8.3