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

Message ID 6b772a1ac06ae3b0d63e198e7238c1590b14703a.1666208065.git.drv@mailo.com
State New
Headers
Series staging: most: dim2: remove unnecessary function call and variable usage |

Commit Message

Deepak R Varma Oct. 19, 2022, 7:56 p.m. UTC
  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@inria.fr>
Signed-off-by: Deepak R Varma <drv@mailo.com>
---

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@inria.fr

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(-)

--
2.30.2
  

Comments

Julia Lawall Oct. 19, 2022, 8:08 p.m. UTC | #1
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@inria.fr>
> Signed-off-by: Deepak R Varma <drv@mailo.com>
> ---
>
> 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@inria.fr
>
> 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?

julia

>
>  	BUG_ON(!hdm_ch);
>  	BUG_ON(!hdm_ch->is_initialized);
> diff --git a/drivers/staging/most/dim2/hal.c b/drivers/staging/most/dim2/hal.c
> index 65282c276862..a5d40b5b138a 100644
> --- a/drivers/staging/most/dim2/hal.c
> +++ b/drivers/staging/most/dim2/hal.c
> @@ -943,8 +943,8 @@ u8 dim_service_channel(struct dim_channel *ch)
>  	return channel_service(ch);
>  }
>
> -struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> -					     struct dim_ch_state_t *state_ptr)
> +struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
> +					   struct dim_ch_state *state_ptr)
>  {
>  	if (!ch || !state_ptr)
>  		return NULL;
> diff --git a/drivers/staging/most/dim2/hal.h b/drivers/staging/most/dim2/hal.h
> index 20531449acab..ef10a8741c10 100644
> --- a/drivers/staging/most/dim2/hal.h
> +++ b/drivers/staging/most/dim2/hal.h
> @@ -27,7 +27,7 @@ enum mlb_clk_speed {
>  	CLK_8192FS = 7,
>  };
>
> -struct dim_ch_state_t {
> +struct dim_ch_state {
>  	bool ready; /* Shows readiness to enqueue next buffer */
>  	u16 done_buffers; /* Number of completed buffers */
>  };
> @@ -87,8 +87,8 @@ void dim_service_ahb_int_irq(struct dim_channel *const *channels);
>
>  u8 dim_service_channel(struct dim_channel *ch);
>
> -struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> -					     struct dim_ch_state_t *state_ptr);
> +struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
> +					   struct dim_ch_state *state_ptr);
>
>  u16 dim_dbr_space(struct dim_channel *ch);
>
> --
> 2.30.2
>
>
>
>
>
  
Deepak R Varma Oct. 19, 2022, 8:30 p.m. UTC | #2
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@inria.fr>
> > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > ---
> >
> > 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@inria.fr
> >
> > 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?

./drv

>
> julia
>
> >
> >  	BUG_ON(!hdm_ch);
> >  	BUG_ON(!hdm_ch->is_initialized);
> > diff --git a/drivers/staging/most/dim2/hal.c b/drivers/staging/most/dim2/hal.c
> > index 65282c276862..a5d40b5b138a 100644
> > --- a/drivers/staging/most/dim2/hal.c
> > +++ b/drivers/staging/most/dim2/hal.c
> > @@ -943,8 +943,8 @@ u8 dim_service_channel(struct dim_channel *ch)
> >  	return channel_service(ch);
> >  }
> >
> > -struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> > -					     struct dim_ch_state_t *state_ptr)
> > +struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
> > +					   struct dim_ch_state *state_ptr)
> >  {
> >  	if (!ch || !state_ptr)
> >  		return NULL;
> > diff --git a/drivers/staging/most/dim2/hal.h b/drivers/staging/most/dim2/hal.h
> > index 20531449acab..ef10a8741c10 100644
> > --- a/drivers/staging/most/dim2/hal.h
> > +++ b/drivers/staging/most/dim2/hal.h
> > @@ -27,7 +27,7 @@ enum mlb_clk_speed {
> >  	CLK_8192FS = 7,
> >  };
> >
> > -struct dim_ch_state_t {
> > +struct dim_ch_state {
> >  	bool ready; /* Shows readiness to enqueue next buffer */
> >  	u16 done_buffers; /* Number of completed buffers */
> >  };
> > @@ -87,8 +87,8 @@ void dim_service_ahb_int_irq(struct dim_channel *const *channels);
> >
> >  u8 dim_service_channel(struct dim_channel *ch);
> >
> > -struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
> > -					     struct dim_ch_state_t *state_ptr);
> > +struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
> > +					   struct dim_ch_state *state_ptr);
> >
> >  u16 dim_dbr_space(struct dim_channel *ch);
> >
> > --
> > 2.30.2
> >
> >
> >
> >
> >
  
Deepak R Varma Oct. 20, 2022, 11:48 a.m. UTC | #3
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@inria.fr>
> > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > ---
> > >
> > > 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@inria.fr
> > >
> > > 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?

>
> ./drv
>
> >
> > julia
> >
> > >
>
>
>
  
Julia Lawall Oct. 20, 2022, 12:06 p.m. UTC | #4
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@inria.fr>
> > > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > > ---
> > > >
> > > > 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@inria.fr
> > > >
> > > > 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

julia
  
Deepak R Varma Oct. 20, 2022, 12:56 p.m. UTC | #5
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@inria.fr>
> > > > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > > > ---
> > > > >
> > > > > 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@inria.fr
> > > > >
> > > > > 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?

./drv


>
> julia
  
Greg KH Oct. 20, 2022, 3:04 p.m. UTC | #6
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@inria.fr>
> > > > > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > > > > ---
> > > > > >
> > > > > > 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@inria.fr
> > > > > >
> > > > > > 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]

:(
  
Greg KH Oct. 20, 2022, 3:05 p.m. UTC | #7
On Thu, Oct 20, 2022 at 05:04:52PM +0200, Greg KH wrote:
> 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@inria.fr>
> > > > > > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > > > > > ---
> > > > > > >
> > > > > > > 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@inria.fr
> > > > > > >
> > > > > > > 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]
> 
> :(
> 

Ah, that was because I rejected patch 1/2 here. So this one will not
work as-is, my fault.

Please fix up and resend only this one if you still want to see it
applied.

thanks,

greg k-h
  
Julia Lawall Oct. 20, 2022, 3:10 p.m. UTC | #8
On Thu, 20 Oct 2022, 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@inria.fr>
> > > > > > Signed-off-by: Deepak R Varma <drv@mailo.com>
> > > > > > ---
> > > > > >
> > > > > > 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@inria.fr
> > > > > >
> > > > > > 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?

You also have two occurrences in dim2.c.

julia
  

Patch

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;

 	BUG_ON(!hdm_ch);
 	BUG_ON(!hdm_ch->is_initialized);
diff --git a/drivers/staging/most/dim2/hal.c b/drivers/staging/most/dim2/hal.c
index 65282c276862..a5d40b5b138a 100644
--- a/drivers/staging/most/dim2/hal.c
+++ b/drivers/staging/most/dim2/hal.c
@@ -943,8 +943,8 @@  u8 dim_service_channel(struct dim_channel *ch)
 	return channel_service(ch);
 }

-struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
-					     struct dim_ch_state_t *state_ptr)
+struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
+					   struct dim_ch_state *state_ptr)
 {
 	if (!ch || !state_ptr)
 		return NULL;
diff --git a/drivers/staging/most/dim2/hal.h b/drivers/staging/most/dim2/hal.h
index 20531449acab..ef10a8741c10 100644
--- a/drivers/staging/most/dim2/hal.h
+++ b/drivers/staging/most/dim2/hal.h
@@ -27,7 +27,7 @@  enum mlb_clk_speed {
 	CLK_8192FS = 7,
 };

-struct dim_ch_state_t {
+struct dim_ch_state {
 	bool ready; /* Shows readiness to enqueue next buffer */
 	u16 done_buffers; /* Number of completed buffers */
 };
@@ -87,8 +87,8 @@  void dim_service_ahb_int_irq(struct dim_channel *const *channels);

 u8 dim_service_channel(struct dim_channel *ch);

-struct dim_ch_state_t *dim_get_channel_state(struct dim_channel *ch,
-					     struct dim_ch_state_t *state_ptr);
+struct dim_ch_state *dim_get_channel_state(struct dim_channel *ch,
+					   struct dim_ch_state *state_ptr);

 u16 dim_dbr_space(struct dim_channel *ch);