Re: [PATCH v4 2/2] staging: most: dim2: correct misleading struct type name

From: Greg KH
Date: Thu Oct 20 2022 - 11:05:10 EST


On Thu, Oct 20, 2022 at 06:26:12PM +0530, Deepak R Varma wrote:
> On Thu, Oct 20, 2022 at 02:06:41PM +0200, Julia Lawall wrote:
> >
> >
> > On Thu, 20 Oct 2022, Deepak R Varma wrote:
> >
> > > On Thu, Oct 20, 2022 at 02:00:29AM +0530, Deepak R Varma wrote:
> > > > On Wed, Oct 19, 2022 at 10:08:53PM +0200, Julia Lawall wrote:
> > > > >
> > > > >
> > > > > On Thu, 20 Oct 2022, Deepak R Varma wrote:
> > > > >
> > > > > > Correct misleading struct type name dim_ch_state_t to dim_ch_state
> > > > > > since this not a typedef but a normal structure declaration.
> > > > > >
> > > > > > Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx>
> > > > > > Signed-off-by: Deepak R Varma <drv@xxxxxxxxx>
> > > > > > ---
> > > > > >
> > > > > > Changes in v4:
> > > > > > 1. Correct patch subject and log message. Use struct type name instead of
> > > > > > variable name for the change description. Feedback from julia.lawall@xxxxxxxx
> > > > > >
> > > > > > Changes in v3:
> > > > > > 1. Patch introduced in the patch set
> > > > > >
> > > > > > drivers/staging/most/dim2/dim2.c | 2 +-
> > > > > > drivers/staging/most/dim2/hal.c | 4 ++--
> > > > > > drivers/staging/most/dim2/hal.h | 6 +++---
> > > > > > 3 files changed, 6 insertions(+), 6 deletions(-)
> > > > > >
> > > > > > diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c
> > > > > > index 4c1f27898a29..a69a61a69283 100644
> > > > > > --- a/drivers/staging/most/dim2/dim2.c
> > > > > > +++ b/drivers/staging/most/dim2/dim2.c
> > > > > > @@ -161,7 +161,7 @@ static int try_start_dim_transfer(struct hdm_channel *hdm_ch)
> > > > > > struct list_head *head = &hdm_ch->pending_list;
> > > > > > struct mbo *mbo;
> > > > > > unsigned long flags;
> > > > > > - struct dim_ch_state_t st;
> > > > > > + struct dim_ch_state st;
> > > > >
> > > > > Is there another use in service_done_flag?
> > > >
> > > > Hi,
> > > > I did not understand your question fully. This is from a different function
> > > > try_start_dim_transfer where the variable st is used down the line in the
> > > > execution. This time the channel state is retrieved by calling
> > > > dim_get_channel_state function. The state is simply computed and set. Should I
> > > > improve this as well?
> > > >
> > > > If you are asking something different, could you please elaborate?
> > >
> > > Hi Julia,
> > > Can you please review and comment on my response?
> >
> > In my kernel there is an occurrence of the type name in service_done_flag.
> > But I have the mainline, not Greg's staging tree, so there could be some
> > differences.
> >
> > When I do git grep dim_ch_state_t, I get two occurrences in
> > drivers/staging/most/dim2/dim2.c
>
> Okay. Still unclear. Following snip is what I see in my local staging-testing branch.
>
> <snip>
> drv@debian:~/git/kernels/staging$ git grep dim_ch_state_t
> drivers/staging/most/dim2/dim2.c: struct dim_ch_state_t st;
> drivers/staging/most/dim2/dim2.c: struct dim_ch_state_t st;
> drivers/staging/most/dim2/hal.c:struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> drivers/staging/most/dim2/hal.c: struct dim_ch_state_t *state_ptr)
> drivers/staging/most/dim2/hal.h:struct dim_ch_state_t {
> drivers/staging/most/dim2/hal.h:struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> drivers/staging/most/dim2/hal.h: struct dim_ch_state_t *state_ptr);
> drv@debian:~/git/kernels/staging$
> </snip>
>
> Does that help?

Not at all, as you did not test with your change applied:

CC [M] drivers/gpu/drm/vmwgfx/vmwgfx_drv.o
drivers/staging/most/dim2/dim2.c: In function ‘service_done_flag’:
drivers/staging/most/dim2/dim2.c:262:31: error: storage size of ‘st’ isn’t known
262 | struct dim_ch_state_t st;
| ^~
drivers/staging/most/dim2/dim2.c:262:31: error: unused variable ‘st’ [-Werror=unused-variable]

:(