Hi Ville,

On Fri, Jan 22, 2021 at 02:15:07PM +0200, Ville Syrjälä wrote:
> On Thu, Jan 21, 2021 at 05:35:33PM +0100, Maxime Ripard wrote:
> > Some drivers are storing the plane->state pointer in atomic_update and
> > atomic_disable in a variable simply called state, while the state passed
> > as an argument is called old_state.
> > 
> > In order to ease subsequent reworks and to avoid confusing or
> > inconsistent names, let's rename those variables to new_state.
> > 
> > This was done using the following coccinelle script, plus some manual
> > changes for mtk and tegra.
> > 
> > @ plane_atomic_func @
> > identifier helpers;
> > identifier func;
> > @@
> > 
> > (
> >  static const struct drm_plane_helper_funcs helpers = {
> >     ...,
> >     .atomic_disable = func,
> >     ...,
> >  };
> > |
> >  static const struct drm_plane_helper_funcs helpers = {
> >     ...,
> >     .atomic_update = func,
> >     ...,
> >  };
> > )
> > 
> > @ moves_new_state_old_state @
> > identifier plane_atomic_func.func;
> > identifier plane;
> > symbol old_state;
> > symbol state;
> > @@
> > 
> >  func(struct drm_plane *plane, struct drm_plane_state *old_state)
> >  {
> >     ...
> > -   struct drm_plane_state *state = plane->state;
> > +   struct drm_plane_state *new_state = plane->state;
> >     ...
> >  }
> > 
> > @ depends on moves_new_state_old_state @
> > identifier plane_atomic_func.func;
> > identifier plane;
> > identifier old_state;
> > symbol state;
> > @@
> > 
> >  func(struct drm_plane *plane, struct drm_plane_state *old_state)
> >  {
> >     <...
> > -   state
> > +   new_state
> >     ...>
> 
> Was going to say that this migh eat something else, but I guess
> the dependency prevents that?

Yeah, the dependency takes care of this

> Another way to avoid that I suppose would be to declare 'state'
> as
> symbol moves_new_state_old_state.state;
> 
> That would probably make the intent a bit more obvious, even with
> the dependency. Or does a dependency somehow automagically imply
> that?

I'm not sure if it does, but it's a symbol here not an identifier or an
expression, so here moves_new_state_old_state.state would always resolve
to state (and only state) anyway

Maxime

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to