Hi Maxime, The ST7920 driver changes look correct to me.
Reviewed-by: Iker Pedrosa <[email protected]> El lun, 31 ago 2026 a las 17:35, Maxime Ripard (<[email protected]>) escribió: > > The st7920 crtc implementation provides a custom reset hook. However, > this hook only allocates the state, initializes it with > __drm_atomic_helper_crtc_reset(), and warns if there's a previous state. > It does not perform any hardware reset. > > Since this is exactly what the atomic_create_state hook is meant to > do, minus the old state cleanup which the caller handles, convert the > implementation to use atomic_create_state with > __drm_atomic_helper_crtc_state_init() instead. > > Reviewed-by: Thomas Zimmermann <[email protected]> > Signed-off-by: Maxime Ripard <[email protected]> > --- > Cc: Iker Pedrosa <[email protected]> > --- > drivers/gpu/drm/sitronix/st7920.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/sitronix/st7920.c > b/drivers/gpu/drm/sitronix/st7920.c > index 0a75e9319080..9887ed746ceb 100644 > --- a/drivers/gpu/drm/sitronix/st7920.c > +++ b/drivers/gpu/drm/sitronix/st7920.c > @@ -573,21 +573,21 @@ static void st7920_crtc_atomic_disable(struct drm_crtc > *crtc, > > drm_dev_exit(idx); > } > > /* Called during init to allocate the CRTC's atomic state. */ > -static void st7920_crtc_reset(struct drm_crtc *crtc) > +static struct drm_crtc_state *st7920_crtc_create_state(struct drm_crtc *crtc) > { > struct st7920_crtc_state *st7920_state; > > - drm_WARN_ON_ONCE(crtc->dev, crtc->state); > - > st7920_state = kzalloc_obj(*st7920_state); > if (!st7920_state) > - return; > + return ERR_PTR(-ENOMEM); > > - __drm_atomic_helper_crtc_reset(crtc, &st7920_state->base); > + __drm_atomic_helper_crtc_state_init(&st7920_state->base, crtc); > + > + return &st7920_state->base; > } > > static struct drm_crtc_state *st7920_crtc_duplicate_state(struct drm_crtc > *crtc) > { > struct st7920_crtc_state *st7920_state; > @@ -627,11 +627,11 @@ static const struct drm_crtc_helper_funcs > st7920_crtc_helper_funcs = { > .atomic_enable = st7920_crtc_atomic_enable, > .atomic_disable = st7920_crtc_atomic_disable, > }; > > static const struct drm_crtc_funcs st7920_crtc_funcs = { > - .reset = st7920_crtc_reset, > + .atomic_create_state = st7920_crtc_create_state, > .destroy = drm_crtc_cleanup, > .set_config = drm_atomic_helper_set_config, > .page_flip = drm_atomic_helper_page_flip, > .atomic_duplicate_state = st7920_crtc_duplicate_state, > .atomic_destroy_state = st7920_crtc_destroy_state, > > -- > 2.55.0 >
